Alterna · учебный материал
06.3 Знакомые точки и новые данные
Сложная кривая может хорошо повторить учебные точки и плохо продолжиться между ними. Поэтому ошибка на новых данных проверяется отдельно.
Что в этом материале
- Можно запомнить точки и плохо предсказывать между ними
Содержание и основные понятия
На предыдущей странице: от оценки к решению о классе.
Сложная кривая может хорошо повторить учебные точки и плохо продолжиться между ними. Поэтому ошибка на новых данных проверяется отдельно.
Подбор прямой и разделение точек позволяют увидеть процесс обучения на простых данных. Проверочные ответы не участвуют в исправлениях.
Для изменения рисунка включитеJavaScript; расчёт и теория доступны далее.
Можно запомнить точки и плохо предсказывать между ними
Train используется для подбора параметров; validation — для выбора degree, regularization и других решений; test — для финальной оценки после выбора. Многократная настройка по test превращает его в ещё один validation. Предобработка тоже обучается на train: нельзя заранее вычислять нормировку по будущим данным. N01 §5.2.
Полином degreeD имеет D+1 коэффициентов:
y
^
(
x
)
=
∑
j
=
0
D
c
j
x
j
,
min
c
∥
X
c
−
y
∥
2
2
+
λ
∑
j
=
1
D
c
j
2
.
\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.
y
^
(
x
)
=
j
=
0
∑
D
c
j
x
j
,
c
min
∥
X
c
−
y
∥
2
2
+
λ
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
Академическая база →