alterna ai
ALTERNA AI / ГЛАВА 06 · 03

06.3 Знакомые точки и новые данные

На предыдущей странице: от оценки к решению о классе.

Сложная кривая может хорошо повторить учебные точки и плохо продолжиться между ними. Поэтому ошибка на новых данных проверяется отдельно.

Подбор прямой и разделение точек позволяют увидеть процесс обучения на простых данных. Проверочные ответы не участвуют в исправлениях.

Можно запомнить точки и плохо предсказывать между ними

Train используется для подбора параметров; validation — для выбора degree, regularization и других решений; test — для финальной оценки после выбора. Многократная настройка по test превращает его в ещё один validation. Предобработка тоже обучается на train: нельзя заранее вычислять нормировку по будущим данным. N01 §5.2.

Полином degreeD имеет D+1 коэффициентов:

y^(x)=∑j=0Dcjxj,min⁡c∥Xc−y∥22+λ∑j=1Dcj2.\hat y(x)=\sum_{j=0}^{D}c_jx^j, \quad \min_c\|Xc-y\|_2^2+\lambda\sum_{j=1}^{D}c_j^2.

Здесь Xᵢⱼ=xᵢʲ. Bias c₀ не штрафуется. С ростом degree семейство функций расширяется, но найденная кривая может начать следовать шуму. При λ>0 большие коэффициенты получают цену; это не магическое удаление всех ошибок.

В лаборатории восемь фиксированных train-точек построены как y=x²+noise·sin(17x). Семь отдельных validation-точек оцениваются относительно x². Degree1,2,7 и шум можно менять. Validation не участвует в решении системы, а её ошибка вычисляется только после fit. Данные специально синтетические, поэтому это демонстрация механизма, не статистическое исследование качества регрессии.

Ручной контрпример. Точки(−1,1),(1,1) точно описываются константой1и квадратомx². Обе модели имеют train error0. На validation-точке(0,0) ошибки квадратов равны1и0. Из нулевого train error нельзя выбрать правильное продолжение без предпосылок.

Исследовать. Зафиксируйте данные и noise, увеличивайтеdegree. Запишите обе ошибки и величины coefficients. Потом уменьшайте noise. Вывод «большая модель всегда хуже» неверен: результат зависит от данных, регуляризации и оптимизации. Маленькая кривая тоже может underfit.

Ограничение. Маленький fit решает нормальные уравнения с pivoting; для больших задач QR/SVD обычно устойчивее. При вырожденной системе показывается ошибка, а не произвольный удачный график.

После настройки по validation нужен отдельный test для итоговой оценки.

Как сравнивать ошибки разных типов. Как этот вопрос продолжает полученный результат?

Python-примеры главы 06 Академическая база →