193
правки
Изменения
sta
{|align="center"
|-valign="top"
|[[Файл:Sigmoid_infinity_weights.png|300px|thumb|Рис 3. Сигмойда {{- --}} "ступенька"]]
|}
==Основные виды регуляризации==
Переобучение в большинстве случаев проявляется в том, что итоговые модели имеют слишком большие значения параметров. Соответственно, необходимо добавить в целевую функцию штраф за это. Наиболее часто используемые виды регуляризации {{--- }} <tex>L_{1}</tex> и <tex >L_{2}</tex>, а также их линейная комбинация {{--- }} эластичная сеть.
В представленных ниже формулах для эмпирического риска <tex>Q</tex>: <tex>\mathcal{L}</tex> является функцией потерь, а <tex>\beta</tex> {{- --}} вектором параметров элемента <tex>g(x, \beta)</tex> [[Модель алгоритма и ее выбор | модели алгоритмов]].
===<tex>L_{2}</tex>{{---}}регуляризация===
{{Определение
|definition=
<tex>L_{2}</tex>{{---}}регуляризация, или регуляризация Тихонова (англ. ''ridge regularization'' или ''Tikhonov regularization''):
:<tex>Q(\beta, X^l)=\sum _{i}^l\mathcal{L}(y_{i}, g(x_{i}, \beta))+\lambda \sum _{j}^n{\beta_{j}}^{2}</tex>.
}}
Минимизация регуляризованного cоответствующим образом эмпирического риска приводит в данном случае к выбору такого вектора параметров <tex>\beta</tex>, которое не слишком сильно отклоняется от нуля. В линейных классификаторах это позволяет избежать проблем мультиколлинеарности и переобучения.
===<tex>L_{1}</tex>{{---}}регуляризация===
{{Определение
|definition=
<tex>L_{1}</tex>{{---}}регуляризация(англ. ''lasso regularization''), или регуляризация через манхэттенское расстояние:
:<tex>Q(\beta, X^l)=\sum _{i}^l\mathcal{L}(y_{i}, g(x_{i}, \beta))+\lambda \sum _{j}^n{|\beta_{j}|}</tex>.
}}
Данный вид регуляризации также позволяет ограничить значения вектора <tex>\beta</tex>. Однако, он также обладает интересным и полезным на практике свойством {{- --}} обнуляет значения некоторых параметров, что в случае с линейными моделями приводит к отбору признаков.
Запишем задачу настройки вектора параметров <tex>\beta</tex>:
:<tex>Q(\beta) = \sum_{i=1}^l\mathcal{L}_{i}(\beta) + \lambda \sum _{j=1}^n{|\beta_{j}|}</tex>,
где <tex>\mathcal{L}_{i}(\beta) = \mathcal{L}(y_{i}, g(x_{i}, \beta))</tex> {{- --}} некоторая ограниченная гладкая функция потерь. Сделаем замену переменных, чтобы функционал стал гладким. Каждой переменной <tex>\beta_{j}</tex> поставим в соответствие две новые неотрицательные переменные:
:<tex>u_{j}=\frac{1}{2}(|\beta_{j}| + \beta_{j})</tex>
:<tex>v_{j}=\frac{1}{2}(|\beta_{j}| - \beta_{j})</tex>