Регуляризация означает снижение сложности модели, чтобы уменьшить переобучение.
Регуляризация для простоты
Кривая обобщения
Штраф за сложность модели
- Мы хотим избежать сложности модели, где это возможно.
- Мы можем внедрить эту идею в оптимизацию, которую проводим во время обучения.
- Минимизация эмпирического риска:
- стремится к низкой ошибке обучения
$$ \text{minimize: } Loss(Data\;|\;Model) $$
Штраф за сложность модели
- Мы хотим избежать сложности модели, где это возможно.
- Мы можем внедрить эту идею в оптимизацию, которую проводим во время обучения.
- Минимизация структурных рисков:
- стремится к низкой ошибке обучения
- балансируя между сложностью
$$ \text{minimize: } Loss(Data\;|\;Model) + complexity(Model) $$
Регуляризация
- Как определить сложность(модель)?
Регуляризация
- Как определить сложность(модель)?
- Предпочитаю меньший вес
Регуляризация
- Как определить сложность(модель)?
- Предпочитаю меньший вес
- Отклонение от этого должно повлечь за собой затраты
- Можно закодировать эту идею с помощью регуляризации L2 (или риджа)
- сложность (модель) = сумма квадратов весов
- Наказывается действительно большими весами
- Для линейных моделей: предпочитает более пологие склоны.
- Байесовский априор:
- веса должны быть сосредоточены вокруг нуля
- веса должны быть нормально распределены
Функция потерь с регуляризацией L2
$$ Loss(Data|Model) + \lambda \left(w_1^2 + \ldots + w_n^2 \right) $$
\(\text{Where:}\)
\(Loss\text{: Aims for low training error}\)\(\lambda\text{: Scalar value that controls how weights are balanced}\)\(w_1^2+\ldots+w_n^2\text{: Square of}\;L_2\;\text{norm}\)