Неделя 01 · От задачи машинного обучения к обученной модели
Рисунки, изображения, анимации и их элементы управления сохранены с исходными английскими надписями. Переведены текст главы, таблицы и внешние подписи; формулы и код сохранены.
Главный вопрос. Что означает обучение модели и как подбор прямой помогает различать предсказание, оптимизацию и обобщение?
Содержание. Основу составляют линейная регрессия, среднеквадратичная ошибка (MSE), градиентный спуск и корректная оценка качества. Практикум «3 и 7» даёт короткий пример представлений. Вывод MSE из гауссовского правдоподобия относится к неделе 07.
Датчик выдаёт напряжение, а эксперименту нужно перемещение в миллиметрах. Можно ли по нескольким парным измерениям научиться преобразовывать одно в другое? Подбор прямой даст конкретный расчёт. Чтобы решить, полезна ли эта прямая, придётся уточнить: для каких будущих измерений и на основании каких данных?
Результаты обучения и необходимые знания
После чтения главы вы сможете:
- задавать опыт, задачу и меру качества; различать обучение с учителем, без учителя и с подкреплением;
- различать входы, представления, целевые значения, предсказания, параметры и гиперпараметры;
- вычислять линейные предсказания, остатки, MSE и одно одновременное градиентное обновление;
- разделять обучение, выбор модели по валидации и итоговую оценку на тесте;
- объяснять, почему представление меняет возможности простого классификатора.
Нужны элементарная алгебра, векторы и производные скалярных функций. Матричные обозначения появятся после скалярного примера; теория вероятностей не требуется.
Сопутствующие материалы: лекция, практикум, инструкция к лабораторной 1 и программа курса.
Соглашения об обозначениях
| Символ | Значение и соглашение |
|---|---|
| \(n,d\); \(i,j\) | Число наблюдений и признаков; индексы наблюдения и признака |
| \(x_i\in\mathbb R^{d\times1}\), \(y_i\), \(\widehat y_i\) | Входной вектор-столбец, наблюдаемое скалярное целевое значение, его скалярное предсказание; при одном признаке пишем скаляр \(x_i\) |
| \(X\in\mathbb R^{n\times d}\) | Строка \(i\) равна \(x_i^\top\); столбцы целевых значений и предсказаний \(y,\widehat y\) имеют форму \((n,1)\) |
| \(w\in\mathbb R^{d\times1}\), \(b\), \(\theta=(w,b)\) | Веса, скалярный свободный член и совокупность обучаемых параметров; в примере с одним признаком \(w\) — скаляр |
| \(r_i=\widehat y_i-y_i\) | Остаток «предсказание минус цель»; этот знак сохраняется в производных |
| \(L_i=r_i^2\), \(\bar L=n^{-1}\sum_i L_i\) | Квадрат ошибки и среднеквадратичная ошибка; при необходимости \(L=\sum_i L_i\) обозначает сумму |
| \(\eta\), \(g(x)\) | Положительная скорость обучения и явно заданное отображение признаков |
| \(k\), \(\theta^{(k)}\) | Номер обновления с нуля и параметры после \(k\) одновременных обновлений; \((k)\) — индекс, не степень |
Здесь \(\mathbb R\) — действительные числа; верхний индекс \(\top\) транспонирует столбец в строку. В примере калибровки \(x\) измеряется в вольтах (V), \(y\) и \(\widehat y\) — в миллиметрах (mm), \(w\) — в mm/V, \(b\) — в mm. Единицы остатков — mm, MSE — mm². Скорость обучения ниже действует на численные значения в этих координатах: смена единиц меняет подходящий масштаб обновления.
Обозначение параметров \(\phi\) из исходного PDF заменено на \(\theta\), предсказание \(h\) записывается как \(\widehat y\). Свободный член оставляем явным; эквивалентное соглашение с расширенным входом объясним вместе с линейной моделью. В практикуме по цифрам эмбеддинг \(z\) — представление, а не логит классификации из недели 02. Символ \(\phi\) резервируем для активаций, \(h^{(\ell)}\) — для представлений нейросети. В последующих главах \(L\) иногда означает общую целевую функцию; здесь черта в \(\bar L\) явно указывает среднее, а не сумму.
Что считать обучением?
Опыт, задача, качество и область применения
Представим калибровку датчика перемещения. Для каждого наблюдения записываем напряжение датчика и эталонное измерение перемещения. Позже эталонного прибора не будет: перемещение придётся предсказывать по напряжению. Это регрессия: результатом служит численная величина, а не метка класса.
Преобразование можно построить разными способами. Физическая модель может исходить из устройства датчика, а обучаемая — выбирать зависимость по наблюдаемым парам «вход–цель». Физические знания могут направлять этот выбор; подходы можно сочетать. Оба могут быть полностью детерминированными программами: детерминированность их не различает.
Для описания обучения используем формулировку Митчелла «опыт–задача–качество» (Mitchell 1997 г., Chapter 1). Нужно определить доступный программе опыт, выполняемую задачу и меру, по которой оценивается улучшение. Для нашей системы калибровки:
| Часть учебной задачи | Смысл для калибровки |
|---|---|
| Опыт \(E\) | Парные измерения напряжения и эталонного перемещения, доступные для подбора модели |
| Задача \(T\) | Предсказать эталонное перемещение по новому напряжению |
| Мера качества \(P\) | Среднеквадратичная ошибка на новых эталонных парах; меньше — лучше |
| Область применения \(S\) | Тот же датчик, напряжения 0–2 V и сопоставимые условия работы |
Область применения — дополнение курса к трёхчастной формулировке. Она задаёт, где мы намерены использовать результат, и требует собственных подтверждений. Малая ошибка одного датчика не доказывает качество на другом, при другой температуре или вне измеренного диапазона напряжений. Даже внутри заявленной области одних обучающих данных недостаточно для надёжной оценки ошибки.
Заметьте: в определении задачи нет требования «использовать линейную регрессию». Это лишь один возможный метод. Сравнивать методы можно после определения нужного предсказания и способа его оценки.
Откуда берутся целевые значения?
Парные измерения делают задачу примером обучения с учителем (supervised learning): у каждого обучающего входа есть цель — зарегистрированная величина, с которой сравнивают предсказание. Она не обязана быть безошибочной физической истиной: эталонный прибор тоже может ошибаться. По нашей маленькой таблице мы не будем восстанавливать ненаблюдаемое истинное перемещение или распределение шума.
При обучении без учителя (unsupervised learning) заданной цели для каждого входа нет: можно, например, группировать сигналы датчика по структуре. При обучении с подкреплением (reinforcement learning) агент выбирает действия и учится по последствиям и вознаграждениям; например, контроллер выбирает движения для поддержания нужного перемещения. Эти режимы описывают доступную обратную связь. Регрессия описывает требуемый выход. Это разные характеристики учебной задачи.
Три пары для ручного расчёта
В Таблица 1 приведён намеренно маленький синтетический обучающий пример. Числа выбраны для объяснения, а не сняты с реального прибора. Строка — одно наблюдение. Напряжение — единственный признак (feature), доступный при предсказании; эталонное перемещение — целевая величина (target), доступная при обучении и последующей оценке.
| ID | Вход \(x_i\) (V) | Цель \(y_i\) (mm) | Роль |
|---|---|---|---|
| S1 | 0 | 1 | Обучение |
| S2 | 1 | 2 | Обучение |
| S3 | 2 | 2 | Обучение |
Пока представлением служит само измеренное напряжение. Представление (representation) — численное описание, передаваемое модели; добавление \(x^2\) или истории напряжения изменило бы это описание. Сначала подберём прямую \(\widehat y=wx+b\). Наклон \(w\) и свободный член \(b\) — параметры: алгоритм меняет их по обучающим парам. Скорость обучения и число обновлений — гиперпараметры, управляющие процедурой. Представление и семейство моделей тоже выбирают по валидационным данным.
У S2 и S3 одинаковая записанная цель, но разное напряжение. Должна ли полезная прямая проходить через каждую точку? Ответ зависит от способа измерять ошибку на всех наблюдениях, а не от убедительности отдельной точки.
Роли данных определяют до выбора модели
Проект начинается с определения будущего предсказания и сбора подходящих измерений. До обучения решают, какие наблюдения могут влиять на модель, а какие дадут сведения о будущем применении:
| Роль данных | На что могут влиять | Что показывает ошибка |
|---|---|---|
| Обучение (training) | Параметры модели, средние и масштабы признаков, вычисленные по обучающим входам | Насколько система соответствует использованным при обучении примерам |
| Валидация (validation) | Выбор признаков, семейства и настроек обучения | Как выбранный подход работает на новых примерах разработки, исключённых из подбора параметров |
| Тест (test) | Итоговая оценка после фиксации всех решений разработки | Качество на примерах, не участвовавших в разработке |
Все три строки Таблица 1 — обучающие. Мы сохраняем их вместе ради прозрачности предсказаний и обновлений. Это не три оценочные выборки. Для настоящей калибровки нужны дополнительные измерения и разбиение, соответствующее применению. Если предсказывать предстоит в будущих сеансах, полезнее откладывать целые сеансы, чем случайно перемешивать соседние измерения.
Допустим, сравниваем исходное напряжение и полиномиальное представление. Каждый вариант обучаем на обучающей выборке, выбираем по валидационной. После фиксации представления и настроек проводим итоговую оценку на тесте. Перебор вариантов по тесту позволил бы тестовым данным влиять на метод, нарушая независимость от разработки. Многократный выбор по валидации тоже может привести к переобучению на неё; поэтому нужен отдельный итоговый тест.
Предобработка соблюдает ту же границу. Среднее и масштаб стандартизируемого признака вычисляют по обучающим наблюдениям; к валидационным и тестовым применяют уже найденное преобразование. Вычисление среднего по всем входам позволяет отложенным наблюдениям влиять на систему. Более прямая утечка данных (data leakage) — включить во входы показание эталонного прибора, которого при применении не будет. Оба случая нарушают соответствие между разработкой и оцениваемой системой предсказания.
Таблица калибровки содержит напряжение, эталонное перемещение и ID сеанса. Будущая система получит только напряжение. Какие столбцы допустимы во входе, какой задаёт цель, а какой поможет построить оценочное разбиение? Объясните выбор до выбора модели.
Теперь у процесса есть цель: сформулировать утверждение, собрать и разделить данные, выбрать представление и модель, обучить параметры, подобрать настройки по валидации и оценить выбранную систему на отложенном тесте. Эксплуатация может выявить новые условия, требующие мониторинга и нового цикла разработки. Снижение обучающей ошибки — лишь одно событие внутри процесса; итоговый вывод относится к данным за пределами обучающей таблицы.
Прямая даёт предсказания
Один признак: наклон и свободный член
Вернёмся к парам из Таблица 1. Нужно правило, принимающее напряжение и выдающее предсказание перемещения. Первая модель:
\[ \widehat y_i=wx_i+b. \]
Наклон \(w\) показывает изменение предсказания при увеличении входа на один вольт. Свободный член \(b\) — предсказание при нулевом напряжении. Произведение V и mm/V измеряется в mm, поэтому \(wx_i\) и \(b\) имеют единицы цели. Эта проверка помогает понять модель, а не только вести учёт единиц.
Строго говоря, ненулевой свободный член делает функцию входа аффинной. Сохраняем привычное название линейная регрессия. Условие \(b=0\) заставило бы прямую проходить через начало координат; задача измерений не даёт оснований для такого ограничения.
После фиксации \(w\) и \(b\) прямая выдаёт предсказание для любого напряжения. Но возможность вычислить число ещё не подтверждает его достоверность: применение за пределами диапазона калибровки — экстраполяция.
Один маленький набор данных на всём протяжении примера
До обучения сравним три набора параметров. Это специально выбранные примеры, а не три шага оптимизатора.
| Прямая | \(w\) | \(b\) | Предсказание |
|---|---|---|---|
| A | 0 | 0 | \(\widehat y=0\) |
| B | 1 | 0 | \(\widehat y=x\) |
| C | 0 | 1 | \(\widehat y=1\) |
A всегда предсказывает ноль. B растёт с напряжением. C всегда предсказывает один миллиметр. Для B на наблюдении S2 подстановка даёт:
\[ \begin{aligned} \widehat y_2&=1\cdot1+0=1\ \mathrm{mm},\\ y_2&=2\ \mathrm{mm}. \end{aligned} \]
Его остаток (residual) — разность «предсказание минус цель»:
\[ r_2=\widehat y_2-y_2=1-2=-1\ \mathrm{mm}. \]
Отрицательный остаток означает предсказание ниже цели, положительный — выше. Модуль задаёт вертикальный промежуток при том же входе. Это не кратчайшее перпендикулярное расстояние до прямой: здесь по заданному входу предсказывают целевую величину.
Вводная лекция определяет остаток как «цель минус предсказание». Здесь используется «предсказание минус цель». Значения отличаются знаком, квадраты совпадают. При дифференцировании будем сохранять соглашение главы.
Расчёт B для трёх обучающих наблюдений теперь виден полностью:
| ID | \(y_i\) | \(\widehat y_i\) | \(r_i\) | \(r_i^2\) |
|---|---|---|---|---|
| S1 | 1 | 0 | \(-1\) | 1 |
| S2 | 2 | 1 | \(-1\) | 1 |
| S3 | 2 | 2 | 0 | 0 |
Цели, предсказания и остатки измеряются в mm, последний столбец — в mm². B точно совпадает с S3, но ошибается на S1 и S2. Сравнение должно учитывать все три строки, а не только самую удачную.
MSE превращает остатки в целевую функцию
Объединить ошибки, не погасив их знаки
Среднее со знаком может скрыть большие ошибки: остатки \(+1\) и \(-1\) mm дают ноль, хотя оба предсказания неверны. Один способ измерять ошибку — возвести её в квадрат. Определим квадратичную потерю на наблюдении, сумму и среднее:
\[ \begin{aligned} L_i&=r_i^2,\\ L&=\sum_{i=1}^{n}L_i, \qquad \bar L=\frac{L}{n}. \end{aligned} \]
Среднее \(\bar L\) называется среднеквадратичной ошибкой (mean squared error, MSE). Для прямой подставим \(r_i=wx_i+b-y_i\) и получим целевую функцию обучения:
\[ \bar L(w,b)=\frac1n\sum_{i=1}^{n}(wx_i+b-y_i)^2. \]
Параметры определяют предсказания, те — остатки, а остатки — одно значение потерь. Здесь MSE явно выбирается как цель подбора модели. Вероятностный вывод появится в неделе 07.
Для B последний столбец таблицы остатков даёт сумму \(2\ \mathrm{mm}^2\). Разделив на три наблюдения, получаем:
\[ \bar L_B=\frac{1+1+0}{3}=\frac23\ \mathrm{mm}^2. \]
Тот же расчёт сравнивает все три варианта:
| Прямая | Остатки (mm) | \(L\) (mm²) | \(\bar L\) (mm²) |
|---|---|---|---|
| A | \((-1,-2,-2)\) | 9 | 3 |
| B | \((-1,-1,0)\) | 2 | \(2/3\) |
| C | \((0,-1,-1)\) | 2 | \(2/3\) |
По этой цели B и C равны. Они предсказывают разные значения и точно совпадают с разными наблюдениями. Одна агрегированная оценка теряет эти подробности; отдельные остатки по-прежнему полезно рассматривать.
Линия уровня объединяет параметры с одинаковой ошибкой
На Рисунок 1 те же три набора параметров показаны в двух пространствах. В пространстве данных оси — вход и выход, модель — прямая. В пространстве параметров оси — наклон и свободный член, а вся прямая становится одной точкой. Наблюдения фиксированы, меняются параметры.
Линия уровня (contour) объединяет параметры с одинаковой целевой функцией. Для этой обучающей таблицы поверхность потерь равна:
\[ \begin{aligned} \bar L(w,b)&=\frac13\Big[(b-1)^2\\ &\quad+(w+b-2)^2\\ &\quad+(2w+b-2)^2\Big]. \end{aligned} \]
Каждый квадрат соответствует одной строке калибровочной таблицы. Подписи линий уровня — значения MSE в mm², а не перемещения или вероятности. B и C — разные точки линии уровня \(2/3\); A лежит на линии со значением 3. Внутренние линии показывают возможность улучшить все три варианта. Теперь нужно найти такие параметры.
Между вариантами меняются параметры и предсказания. Обучающие пары, знак остатка и целевая функция фиксированы. Сравнение показывает различия в обучающем соответствии, но не даёт отложенной оценки будущих измерений.
Два набора параметров лежат на одной линии уровня MSE. Обязаны ли они предсказывать одинаково для каждого входа? Обязаны ли их наибольшие остатки приходиться на одно наблюдение? На примере B и C объясните, что сохраняет и что теряет общее значение потерь.
Возведение в квадрат усиливает некоторые ошибки
Остаток \(2\) mm даёт \(4\) mm², а остаток \(1\) mm — \(1\) mm². Удвоение модуля увеличивает вклад в сумму вчетверо. Для среднего этот вклад делится на то же фиксированное \(n\), поэтому тоже увеличивается вчетверо. Это не означает, что MSE всей выборки обязана увеличиться вчетверо при изменении одного остатка.
Поэтому большие остатки могут определять MSE. Необычное измерение может быть ошибкой записи, редким корректным случаем или признаком недостаточности модели. По одной большой потере выбрать объяснение нельзя. Перед сменой цели или удалением наблюдения изучите данные и задачу. Квадратичная ошибка — модельный выбор, а не гарантия подходящей цены для любой важной ошибки.
На фиксированной непустой выборке среднее и сумма имеют одинаковые минимизаторы: \(\bar L=L/n\) умножает цель на положительную константу, не зависящую от \(w,b\). Значения и градиенты различаются этим множителем. Иногда используют половину MSE, \(\tfrac12\bar L\), ради простоты производных. Здесь используется полная MSE; множитель останется явным.
MSE может быть и оценочной метрикой. Её роль зависит от данных, на которых она измерена, и решений, на которые влияет. Обучающая MSE служит целью подбора, валидационная направляет разработку, тестовая оценивает фиксированную систему на отложенных примерах. Одинаковая формула не делает роли взаимозаменяемыми. Корень из MSE, \(\operatorname{RMSE}=\sqrt{\bar L}\), снова измеряется в mm, но численно это другая величина.
Несколько признаков: наблюдения расположены по строкам
Скалярная прямая обобщается суммой взвешенных вкладов нескольких признаков. Для одного наблюдения запишем признаки и веса столбцами, \(x_i,w\in\mathbb R^{d\times1}\). Их скалярное произведение — число:
\[ \widehat y_i=w^\top x_i+b =\sum_{j=1}^{d}w_jx_{ij}+b. \]
Здесь \(x_{ij}\) — признак \(j\) наблюдения \(i\). Единицы \(w_j\) преобразуют единицы соответствующего признака в единицы цели. Наблюдения соберём строками \(X\in\mathbb R^{n\times d}\), предсказания — столбцом:
\[ \widehat y=Xw+b\mathbf1, \qquad \widehat y\in\mathbb R^{n\times1}. \]
Вектор \(\mathbf1\) содержит \(n\) единиц. Умножение на скалярный свободный член добавляет одинаковый \(b\) к каждому предсказанию. Строка \(x_i^\top\) матрицы \(X\) даёт \(x_i^\top w\), то есть тот же скаляр \(w^\top x_i\). Строки нумеруют наблюдения, столбцы — признаки; одно наблюдение не суммируется с другим.
Столбец остатков \(r=\widehat y-y\) также имеет форму \((n,1)\). Ту же квадратичную цель можно компактно записать:
\[ \bar L=\frac1n r^\top r =\frac1n\lVert Xw+b\mathbf1-y\rVert_2^2. \]
Обозначение \(\lVert r\rVert_2^2=r^\top r=\sum_i r_i^2\) означает сумму квадратов элементов, а не новую потерю. В коде формы целей и предсказаний должны совпадать: смешивание столбца предсказаний \((n,1)\) с массивом целей \((n,)\) может через broadcasting породить ненужный массив попарных разностей \((n,n)\).
В прежних лекционных обозначениях свободный член можно включить в матрицу. Зададим расширенную строку \(\widetilde x_i^\top=(1,x_i^\top)\) и столбец параметров \(\widetilde w=(b,w^\top)^\top\). Тогда \(\widetilde X\in\mathbb R^{n\times(d+1)}\) и \(\widehat y=\widetilde X\widetilde w\). Начальный столбец единиц отвечает за свободный член, а не за дополнительный измеренный признак. Здесь \(b\) оставляем отдельным для наглядности.
Линейность по параметрам допускает кривизну по входу
Перед взвешенной суммой можно изменить представление. Для одного напряжения \(x\) выберем фиксированное отображение признаков:
\[ \begin{aligned} g(x)&=\begin{bmatrix}x\\x^2\end{bmatrix},\\ \widehat y&=w_1x+w_2x^2+b. \end{aligned} \]
При изменении \(x\) график предсказания может искривляться. По коэффициентам модель остаётся линейной со свободным членом: признаки \(x\) и \(x^2\) фиксированы, меняются коэффициенты. Один обучаемый коэффициент не умножается на другой и не входит внутрь нелинейной операции. Добавление \(x^2\) меняет семейство; изменение \(w\) у исходной прямой кривизну не создаст (Bishop 2006 г., Chapter 3).
Для тех же трёх входов преобразованная матрица и пример коэффициентов дают:
\[ X_g=\begin{bmatrix}0&0\\1&1\\2&4\end{bmatrix}, \]
\[ w=\begin{bmatrix}3/2\\-1/2\end{bmatrix},\qquad b=1, \]
\[ X_gw+b\mathbf1 =\begin{bmatrix}1\\2\\2\end{bmatrix}=y. \]
Здесь подставлены численные напряжения в V. Единицы первого веса — mm/V, второго — mm/V², свободного члена — mm. Это иллюстративный представитель более богатого семейства, а не результат запуска алгоритма подбора. Нулевая обучающая MSE на трёх парах показывает возможность их интерполяции. Она не доказывает, что изогнутые предсказания лучше на новых измерениях. Полезность гибкости проверяют по валидации.
Производные показывают, как обновлять прямую
Дифференцировать операции, породившие потерю
Линии уровня позволяют сравнивать параметры, но ещё не дают метода поиска лучших. Градиент собирает частные производные цели: её чувствительность к малому изменению каждого параметра при фиксированных остальных.
В остатке \(r_i=wx_i+b-y_i\) входы и цели во время обучения фиксированы. Производные остатка по параметрам равны:
\[ \frac{\partial r_i}{\partial w}=x_i, \qquad \frac{\partial r_i}{\partial b}=1. \]
Применим цепное правило к квадрату: производная квадрата даёт \(2r_i\), а производная остатка — оставшийся множитель.
\[ \frac{\partial L_i}{\partial w}=2r_ix_i, \qquad \frac{\partial L_i}{\partial b}=2r_i. \]
Цель на выборке — среднее отдельных потерь. Суммирование и деление на фиксированное \(n\) дают:
\[ \begin{aligned} \frac{\partial\bar L}{\partial w} &=\frac2n\sum_{i=1}^{n}r_ix_i,\\ \frac{\partial\bar L}{\partial b} &=\frac2n\sum_{i=1}^{n}r_i. \end{aligned} \]
Производная по свободному члену складывает остатки со знаком, по наклону — взвешивает каждый его входом. Поэтому S1 с нулевым входом влияет на первую производную, но не на вторую. Его потеря при этом входит в цель. Множитель 2 связан с полной MSE; половина MSE сократила бы его.
Для двух скалярных параметров градиент — столбец \(\nabla_\theta\bar L=(\partial\bar L/\partial w, \partial\bar L/\partial b)^\top\). При малом изменении \(\Delta\theta\) изменение потери в первом порядке примерно равно \(\nabla_\theta\bar L^\top\Delta\theta\). Выбор \(\Delta\theta=-\eta\nabla_\theta\bar L\) превращает приближение в \(-\eta\lVert\nabla_\theta\bar L\rVert_2^2\), отрицательное при ненулевом градиенте и \(\eta>0\). Аргумент локальный: при большом шаге важны отброшенные члены высших порядков.
Одно одновременное обновление
Градиентный спуск обновляет параметры в этом направлении. Верхний индекс в скобках \((k)\) обозначает число уже выполненных обновлений. Сначала при \(w^{(k)},b^{(k)}\) вычисляют предсказания, остатки и обе производные, затем применяют:
\[ \begin{aligned} w^{(k+1)}&=w^{(k)} -\eta\left.\frac{\partial\bar L}{\partial w}\right|_{\theta^{(k)}},\\ b^{(k+1)}&=b^{(k)} -\eta\left.\frac{\partial\bar L}{\partial b}\right|_{\theta^{(k)}}. \end{aligned} \]
Вертикальная черта означает вычисление при указанных параметрах. Обе производные используют одно состояние до обновления. Пересчёт производной по свободному члену после изменения \(w\) был бы другой процедурой.
Начнём с \(w^{(0)}=b^{(0)}=0\), той же прямой A на Рисунок 1. Остатки равны \((-1,-2,-2)\) mm. Взвешенная сумма остатков для наклона — \((-1)0+(-2)1+(-2)2=-6\), сумма для свободного члена — \(-1-2-2=-5\). Подстановка даёт:
\[ \begin{aligned} \left.\frac{\partial\bar L}{\partial w}\right|_{\theta^{(0)}} &=\frac23(-6)=-4,\\ \left.\frac{\partial\bar L}{\partial b}\right|_{\theta^{(0)}} &=\frac23(-5)=-\frac{10}{3}. \end{aligned} \]
Это производные по численным координатам в объявленных единицах V/mm. При скорости \(\eta=0.1\) получаем обновления:
\[ \begin{aligned} w^{(1)}&=0-0.1(-4)=\frac25,\\ b^{(1)}&=0-0.1\left(-\frac{10}{3}\right)=\frac13. \end{aligned} \]
Новая прямая предсказывает \((1/3,11/15,17/15)\) mm. Остатки \((-2/3,-19/15,-13/15)\) mm дают:
\[ \begin{aligned} \bar L^{(1)}&=\frac13\left[ \frac49+\frac{361}{225}+\frac{169}{225}\right]\\ &=\frac{14}{15}\ \mathrm{mm}^2. \end{aligned} \]
Первый шаг снижает обучающую MSE с \(3\) до \(14/15\) mm². Параметры изменились по производным полной обучающей цели, а не из-за визуального выбора B или C.
Прямая и точка параметров движутся согласованно
Рисунок 2 воспроизводит этот расчёт на 120 обновлениях. Первые три секунды удерживают начальное состояние, следующие четыре — первое обновление. Далее показаны оставшиеся записанные обновления с более длинной финальной паузой. Стандартные элементы плеера позволяют запустить, приостановить или повторить видео; звука и автоматического запуска нет.
The line starts at zero, moves to slope 0.4 and intercept one third after the first update, and approaches slope 0.5 and intercept 1.167 during the finite run. The matching point moves across fixed MSE contours toward lower loss. Its path bends: the slope need not change monotonically while slope and intercept adjust together. Both panels and the readout use the same recorded parameters.
Следующая статическая последовательность сохраняет начальное, первое и последнее состояния для чтения без движения и печати.
Числа также представлены компактной таблицей. Везде используется та же полная MSE; десятичные значения округлены до шести знаков.
| \(k\) | \(w\) (mm/V) | \(b\) (mm) | MSE (mm²) |
|---|---|---|---|
| 0 | 0.000000 | 0.000000 | 3.000000 |
| 1 | 0.400000 | 0.333333 | 0.933333 |
| 120 | 0.500387 | 1.166130 | 0.055556 |
Различайте направление и скорость обучения
Градиент задаёт локальное направление, скорость обучения — размер шага. При \(\eta=0.6\) из того же начала получаем \(w^{(1)}=2.4\) и \(b^{(1)}=2\). Новая обучающая MSE \(149/15\approx9.933333\) mm² превышает начальные 3. Слишком большой шаг против градиента может увеличить настоящую цель вопреки аргументу первого порядка.
Скорость \(\eta=0.1\) в анимации снижает MSE для этих данных и координат. Изменение единиц напряжения или масштабов признаков меняет производные и подходящий шаг. Слишком малая скорость замедляет движение при ограниченном числе обновлений. Скорость и число шагов нужно выбирать и проверять, это не универсальные константы. Даже хорошая конечная траектория не доказывает точную сходимость или полезность новых предсказаний.
Вначале наклон превышает своё финальное значение, хотя обучающая потеря продолжает снижаться. Почему нельзя оценивать прогресс только по наклону? Свяжите ответ с одновременным изменением свободного члена и положением на линиях уровня.
Матричный градиент собирает те же вклады
Для \(d\) признаков производная остатка \(r_i\) по весу \(w_j\) равна значению признака \(x_{ij}\). Поэтому:
\[ \frac{\partial\bar L}{\partial w_j} =\frac2n\sum_{i=1}^{n}r_ix_{ij}. \]
Элемент с номером \(j\) у \(X^\top r\) — именно эта сумма до умножения на \(2/n\): строка \(j\) матрицы \(X^\top\) содержит признак \(j\) всех наблюдений. Собирая производные весов, получаем:
\[ \begin{aligned} \nabla_w\bar L&=\frac2n X^\top r,\\ \frac{\partial\bar L}{\partial b}&=\frac2n\mathbf1^\top r,\\ r&=Xw+b\mathbf1-y. \end{aligned} \]
Формы явно показывают свёртки: \(X^\top\) имеет форму \((d,n)\), \(r\) — \((n,1)\), поэтому градиент весов имеет форму \((d,1)\), как \(w\). Производная по свободному члену суммирует наблюдения в скаляр. Обновления вычитают производные из соответствующих массивов, используя общий столбец остатков до шага. Это матричная запись того же скалярного расчёта, а не новое правило обучения.
Каждое обновление использовало все \(n\) наблюдений: это полнопакетный градиентный спуск (full-batch). Мини-батч вычисляет средний градиент на подмножестве из \(B\) наблюдений, где \(B\) — его размер. При равномерном случайном выборе среднее несмещённо оценивает градиент полной выборки, но отдельные шаги колеблются. Каждый мини-батч не обязан снижать полную потерю. В анимации полные пакеты изолируют геометрию.
Проверка производных малым изменением параметра
Независимая численная проверка оценивает производную по двум значениям цели рядом с теми же параметрами. Для наклона:
\[ \frac{\partial\bar L}{\partial w} \approx\frac{\bar L(w+\epsilon,b)-\bar L(w-\epsilon,b)}{2\epsilon}. \]
Здесь \(\epsilon>0\) — малое численное возмущение, а не шаг обучения. Для проверки свободного члена аналогично меняют \(b\), фиксируя \(w\). Слишком большое возмущение ухудшает локальное приближение общих целей, слишком малое усиливает ошибки вычитания близких чисел. Следующая самостоятельная проверка использует синтетическую таблицу:
from math import isclose
x, y = (0., 1., 2.), (1., 2., 2.)
def mse(w, b):
return sum((w * xi + b - yi)**2 for xi, yi in zip(x, y)) / len(x)
h = 1e-5
slope_derivative = (mse(h, 0.) - mse(-h, 0.)) / (2 * h)
bias_derivative = (mse(0., h) - mse(0., -h)) / (2 * h)
assert isclose(slope_derivative, -4., abs_tol=1e-8)
assert isclose(bias_derivative, -10/3, abs_tol=1e-8)Это проверка производной без обновления параметров. Записанная траектория также проверяет обе скалярные производные во всех 121 состояниях и многопризнаковое правило для квадратичного представления. Автоматическое дифференцирование и сравнение с ручными производными рассматриваются в неделе 04.
Подбор модели — ещё не итоговый вывод
Сменить вопрос, затем собрать подтверждения
Анимация отвечает на вопрос оптимизации: снижает ли выбранное обновление MSE трёх калибровочных пар? Она не отвечает на вопрос оценки: насколько точно модель предскажет новые показания? Даже точная интерполяция трёх целей квадратичной моделью не добавила новых наблюдений для второго вопроса.
Чтобы разделить вопросы, Рисунок 4 вводит другой, безразмерный синтетический эксперимент. Это не увеличенная выборка нашего датчика. Генератор с seed 2026 создаёт цели по правилу:
\[ \begin{aligned} y&=0.5+0.8x-0.6x^2+\xi,\\ \xi&\sim\operatorname{Uniform}[-0.15,0.15]. \end{aligned} \]
Здесь \(\xi\) — независимо генерируемое возмущение от −0.15 до 0.15 для каждой цели. Используются 12 равномерно расположенных обучающих входов в \([-1,1]\) и 40 новых валидационных входов, равномерно выбранных из того же интервала. Их возмущения тоже независимы. Эти условия задают область применимости иллюстрации.
До сравнения фиксируем три семейства: полиномы степени 1, 3 и 9. В каждом численный метод наименьших квадратов подбирает коэффициенты только по обучающим парам. Так можно сравнить гибкость, не путая плохое соответствие с незавершённым градиентным спуском. Вывод решателя здесь не нужен; обучающие остатки проходят независимую проверку стационарности. Степень — гиперпараметр, коэффициенты — параметры.
| Степень | Обучающая MSE | Валидационная MSE |
|---|---|---|
| 1 | 0.046127 | 0.043419 |
| 3 | 0.004617 | 0.007746 |
| 9 | 0.001984 | 0.009316 |
Семейство девятой степени содержит все полиномы третьей: дополнительные коэффициенты могут быть нулевыми. Поэтому его лучшее обучающее соответствие не хуже, с точностью до численных ошибок. Однако здесь меньшая обучающая MSE сопровождается большей валидационной MSE. Дополнительная гибкость подстроилась к деталям, хуже переносимым на новые наблюдения. Это пример переобучения (overfitting) на одной сгенерированной выборке, а не теорема о постоянной победе третьей степени или оценка частоты такой победы.
По валидационной MSE выбираем третью степень, затем фиксируем выбор до итогового теста. Валидация уже повлияла на решение, поэтому её лучший результат не равен независимой тестовой оценке. Иллюстрация заканчивается выбором: итогового теста и подтверждений экстраполяции за \([-1,1]\) нет. У первой степени валидационная ошибка даже немного ниже обучающей: конечные выборки не обязаны подчиняться правилу «валидация всегда хуже».
Мы продолжаем перебирать степени, представления и seed, пока валидационная оценка не станет отличной. Что теперь помогла подобрать валидационная выборка? Какие новые данные нужны для убедительного итогового утверждения о качестве?
Перед чтением кривой определите горизонтальную ось
Кривая по обновлениям обучения отвечает на другой вопрос, чем сравнение степеней. Для фиксированной модели снижение обеих ошибок указывает на полезный прогресс на обеих выборках. Снижение обучающей при росте валидационной указывает, что дальнейший подбор может ухудшать перенос; контрольную точку можно выбрать по валидации до просмотра теста. Это интерпретации наблюдений, а не гарантии каждого запуска.
Если обе ошибки велики, различайте сбой оптимизации и неподходящее семейство. Сначала проверьте градиенты, масштаб обновлений и стабилизацию обучающей цели. Затем выясняйте, могут ли признаки выразить зависимость. Дополнительные малые шаги не придадут прямой кривизну, а полиномиальные члены не исправят неверную производную.
Масштабирование признаков тоже меняет геометрию оптимизации. Центрирование и изменение масштаба меняют численные градиенты и подходящий шаг. Для аффинной линейной модели со свободным членом и ненулевыми масштабами семейство функций не расширяется: коэффициенты можно перевести между координатами. В классификации по расстояниям масштабирование дополнительно определяет, какие различия велики. Средние и масштабы обучают на тренировочных входах и применяют без изменения к валидации и тесту.
Пример утечки: стандартизация всех наблюдений до разбиения позволяет будущим тестовым входам влиять на предобработку. Выбор степени по тестовой MSE позволяет целям теста влиять на модель, даже без градиентов. Выбор признаков после изучения тестовых ошибок создаёт ту же проблему. Сначала разделите данные согласно применению, при необходимости целыми сеансами или временными группами; затем соблюдайте роль данных во всех преобразованиях и решениях.
Короткий пример: те же 3 и 7 в разных пространствах
Рукописные 3 и 7 легко назвать, но как компьютеру сравнивать их? Ноутбук недели 01 прослеживает одну задачу классификации через четыре представления. Цели здесь — номера цифр, а не величины регрессии. Вопрос в том, какие свойства изображения становятся доступны простому правилу решения.
| Пространство | Решение и опыт |
|---|---|
| Исходные пиксели | Ближайшее среднее класса по средней абсолютной разности пикселей. Две средние картинки определяются обучающими метками. |
| Два признака распределения чернил | Пять соседей в масштабированных признаках. Координаты выбраны человеком, масштабирование и размеченные соседи взяты из обучения. |
| Замороженные признаки CNN | Пять соседей по косинусному расстоянию. Внешнее предобучение и локальные размеченные соседи. |
| Признаки «изображение–текст» | Сходство с двумя фиксированными описаниями цифр. Внешнее предобучение и описания классов, выбранные человеком. |
На первом этапе усредняют обучающие изображения каждого класса. Новое изображение относят к более близкому прототипу по средней абсолютной разности пикселей. Среднее обучено по примерам, правило расстояния выбрано при моделировании. Сдвиг штриха может изменить много пикселей без изменения цифры, обнаруживая ограничение координат.
На втором этапе человеческие предположения становятся явными. Вертикальный баланс чернил и горизонтальный центр масс сжимают 784 пикселя в два числа. Ноутбук обучает scaler по обучающим признакам и использует голосование пяти соседей с евклидовым расстоянием. График нагляден, но сжатие может удалить информацию для различения неоднозначных цифр.
На третьем этапе предобученная CNN MobileNetV3-Small служит замороженным выделителем признаков: параметры не подбираются на локальных примерах MNIST. Векторы размерности 576 нормируются; классификация по пяти соседям использует косинусное расстояние. Внешнее предобучение — прежний опыт, хотя локально энкодер не обновляют. В обоих соседских методах соседей пять, но меняются представление и расстояние. Их сравнение не позволяет приписать разницу качества только представлению.
PCA-проекция в ноутбуке — двумерный вид эмбеддингов. PCA обучают по тренировочным эмбеддингам, а классификатор соседей работает в исходном пространстве размерности 576. Видимое пересечение или разделение проекции не доказывает свойства расстояний и качества в полном пространстве. Математика проекции относится к последующей теме снижения размерности.
Наконец, MobileCLIP2 строит эмбеддинги изображения и описаний “a handwritten digit three” и “a handwritten digit seven”. Нормированные скалярные произведения сравнивают изображения и тексты; большее сходство выбирает класс. Этот этап не обучает классификатор по локальным меткам, но использует внешнее обучение на парах «изображение–текст» и сведения о классах из описаний. «Нет локального подбора по меткам» не означает «нет обучения». Устройство CNN и совместных моделей рассматривается позже.
Это исследование, а не контролируемый бенчмарк архитектур: различаются признаки, расстояния и доступный внешний опыт. Глава не ранжирует точность методов. Сохраняйте предобработку, обученную только на тренировочных данных. Если тестовые изображения или ошибки определяют prompts либо признаки, они становятся данными разработки и перестают быть независимой итоговой оценкой.
Если две цифры пересекаются на PCA-картинке, обязан ли классификатор полного эмбеддинга их путать? Как отделить изменение представления от изменения правила расстояния?
Итоги, связи и дополнительные упражнения
Цикл стал конкретным: выбрать наблюдения и роли, построить представление, сделать предсказание, измерить обучающую потерю, обновить параметры и оценить фиксированный выбор по подходящим данным. Одна прямая делает все шаги видимыми. Линии уровня связывают параметры с целью; валидационный пример объясняет, почему улучшение цели решает только часть учебной задачи.
| Соблазнительный вывод | Более точное толкование |
|---|---|
| Меньшая обучающая потеря доказывает лучшее предсказание | Она доказывает лучшее соответствие этой обучающей цели; новые данные проверяют отдельно |
| Дополнительное обучение исправит любую модель | Оптимизация не добавляет отсутствующий признак или зависимость в семейство |
| Полином нелинеен по обучаемым весам | Фиксированные полиномиальные признаки сохраняют линейность по коэффициентам |
| Тест безопасен, если градиент его не использует | Предобработка и выбор по тесту тоже нарушают итоговую оценку |
| У замороженной модели нет опыта обучения | Её опыт получен до локального эксперимента |
| Двумерный график показывает весь эмбеддинг | Это проекция; отброшенные направления могут быть важны |
Неделя 02 сохраняет обучаемый скор, добавляя вероятность класса и границу решений. Неделя 04 делает представления обучаемыми и автоматизирует производные более сложных вычислений. Неделя 07 возвращается к MSE с явными вероятностными предположениями. Вероятности и нейросети не отменяют различие между обучением и оценкой.
Дополнительные упражнения
- Сформулируйте утверждение об обучении. Для датчика будущих сеансов задайте опыт, задачу, меру качества и область применения. Какое разбиение выявит сеансовую закономерность, которую может скрыть случайное разбиение строк?
- Проверьте новый вариант. На S1–S3 вычислите предсказания, остатки со знаком и MSE при \(w=0.5\), \(b=0.5\). Сравните с A–C. Какая часть сравнения говорит о будущих измерениях?
- Выполните одновременный шаг. Начните с \(w=1\), \(b=0\), используйте полную MSE на S1–S3 и скорость \(0.05\). Обе производные найдите до изменения параметров. Почему обновление \(b\) с уже изменённым \(w\) задаёт другую процедуру?
- Проверьте формы и масштаб. Для четырёх наблюдений и двух признаков задайте формы \(X,w,y,\widehat y,r\) и \(\nabla_w\bar L\). Как случайная форма целей \((4,)\) изменит остатки, рассчитанные на столбец \((4,1)\)? Сохранится ли численный шаг при замене MSE суммой и той же скорости?
- Прочитайте данные оценки. По Рисунок 4 выберите степень. Почему минимальная обучающая MSE выбирает иначе, почему выбранная валидационная оценка не равна итоговому тесту и что изменит многократный поиск по той же валидации?
- Найдите утечки. Процесс стандартизирует все измерения, случайно разделяет строки и выбирает представление после просмотра тестовых ошибок. Назовите три проблемы для будущих сеансов и предложите устраняющий их порядок действий.
- Спроектируйте сравнение представлений. Сравните ручные и замороженные признаки для 3 и 7: что фиксировать, как выбирать настройки, сохранять итоговую оценку и интерпретировать PCA? Опишите возмущение изображения, проверяющее содержательную инвариантность, а не просто увеличивающее число данных.
Источники и дальнейшее чтение
Mitchell, Machine Learning, глава 1: формулировка «опыт–задача–качество» (Mitchell 1997 г.). Область применения явно добавлена курсом.
Bishop, Pattern Recognition and Machine Learning: линейная регрессия и наименьшие квадраты (Bishop 2006 г.). Здесь изучайте цель обучения, к вероятностному толкованию вернитесь в неделе 07.
Указанные выше лекция и практикум сопровождают главу; программа определяет, какие части их более широкого содержания относятся к неделе.
Материалы к примеру представлений: официальная документация Torchvision MobileNetV3-Small описывает предобученную модель; исследовательская страница Apple MobileCLIP2 — контекст совместного предобучения изображения и текста. Точные настройки предобработки, расстояний и классификаторов заданы локальным ноутбуком.