Регуляризация для простоты

Регуляризация означает снижение сложности модели, чтобы уменьшить переобучение.

Регуляризация для простоты

Функция потерь для обучающего набора постепенно снижается. Напротив, функция потерь для набора проверки снижается, но затем начинает расти.
  • Мы хотим избежать сложности модели, где это возможно.
  • Мы можем внедрить эту идею в оптимизацию, которую проводим во время обучения.
  • Минимизация эмпирического риска:
    • стремится к низкой ошибке обучения
    • $$ \text{minimize: } Loss(Data\;|\;Model) $$

  • Мы хотим избежать сложности модели, где это возможно.
  • Мы можем внедрить эту идею в оптимизацию, которую проводим во время обучения.
  • Минимизация структурных рисков:
    • стремится к низкой ошибке обучения
    • балансируя между сложностью
    • $$ \text{minimize: } Loss(Data\;|\;Model) + complexity(Model) $$

  • Как определить сложность(модель)?
  • Как определить сложность(модель)?
  • Предпочитаю меньший вес
  • Как определить сложность(модель)?
  • Предпочитаю меньший вес
  • Отклонение от этого должно повлечь за собой затраты
  • Можно закодировать эту идею с помощью регуляризации 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}\)