Регуляризация в машинном обучении
Сегодня предлагаю поговорить про регуляризацию в классическом машинном обучении. Существует два вида регуляризации: Data regularization и Weight regularization. Оба этих метода направлены в основном на увеличение обобщающей способности модели.
Data regularization
Этот вид регуляризации, как можно понять из названия, применяется непосредственно к данным, на которых обучается модель. К нему относятся как методы очистки данных, так и методы увеличения выборки (так же именумый data augmentation).
- Очистка данных требуется для устранения “неадекватных” шумов в данных.
- Увеличение выборки повышает репрезентативность данных.
Weight regularization
Этот вид регуляризации направлен на изменение обучаемых параметров модели. Наиболее популярные методы:
- L1-регуляризация (Lasso)
- L2-регуляризация (Ridge, или же регуляризация Тихонова)
Оба метода добавляют штраф к функции потерь модели для уменьшения нормы вектора весов. Рассмотрим их подробнее.
Lasso-регуляризация (L1)
L1-регуляризация имеет вид:
$$ \lambda |w|_1 = \lambda \sum_{i} |w_i| $$
Ее ключевая особенность — склонность к отбору признаков (занулению некоторых параметров). Такое поведение объясняется тем, что добавленный к функции потерь штраф пропорционален сумме абсолютных коэффициентов модели. Геометрически итоговая функция потерь приобретает форму ромба с углами на осях координат, что приводит к разрыву производной в этих точках.
В результате оптимизационный алгоритм, стремясь минимизировать итоговую функцию потерь, может выбрать такие значения коэффициентов, при которых совокупное уменьшение ошибки перевешивает небольшое ухудшение основного критерия. Это приводит к занулению некоторых параметров, что способствует автоматическому отбору признаков.
Ridge-регуляризация (L2)
L2-регуляризация записывается в виде:
$$ \lambda |w|_2^2 = \lambda \sum_{i} w_i^2 $$
Она приводит к более гладкой функции потерь, что позволяет уменьшать значения весов, не зануляя их. Это снижает чувствительность модели к отдельным признакам, но не исключает их полностью. Метод особенно полезен, если важно сохранить все признаки в модели, не позволяя ей выделять какой-то один.
Другие методы регуляризации
Существует множество других методов регуляризации, например:
- ElasticNet — объединяет L1 и L2-регуляризации, нивелируя их недостатки.
В этой статье я решил не углубляться в детали, чтобы дать читателям возможность самостоятельно изучить дополнительные материалы.
Дополнительные материалы: Немного про ElasticNet Lasso Ridge