Открыть сервис

Гребневая регрессия

Гребневая регрессия (англ. ridge regression), также известная как гребневое оценивание или L2-регуляризация — это метод линейной регрессии, применяемый для решения проблемы мультиколлинеарности и переобучения модели. В отличие от обычной линейной регрессии (метода наименьших квадратов, МНК), гребневая регрессия добавляет к целевой функции штрафное слагаемое, пропорциональное квадрату нормы вектора коэффициентов (L2-норме). Это позволяет стабилизировать оценки параметров модели, уменьшить их дисперсию и повысить обобщающую способность.

История и теоретические основы

Метод гребневой регрессии был впервые предложен в 1970 году американскими статистиками Артуром Хоэром и Робертом Кеннардом в статье «Ridge Regression: Biased Estimation for Nonorthogonal Problems». Изначально он разрабатывался для решения задач, где матрица плана (матрица независимых переменных) является плохо обусловленной, что приводит к неустойчивости оценок МНК.

Проблема мультиколлинеарности возникает, когда независимые переменные сильно коррелируют между собой. В этом случае матрица \(X^T X\) (где \(X\) — матрица признаков) становится близкой к вырожденной, и её обращение приводит к огромным значениям коэффициентов регрессии, которые сильно меняются при малых изменениях данных. Гребневая регрессия решает эту проблему путём модификации целевой функции.

Математическая постановка. Целевая функция обычной линейной регрессии (МНК) имеет вид:

\[ \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 \]

где \(y_i\) — истинные значения, \(\hat{y}_i\) — предсказанные значения, \(n\) — количество наблюдений. В гребневой регрессии к этой функции добавляется регуляризационный член:

\[ \text{Loss} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 + \lambda \sum_{j=1}^{p} \beta_j^2 \]

Здесь \(\beta_j\) — коэффициенты регрессии (за исключением свободного члена \(\beta_0\)), \(p\) — количество признаков, \(\lambda\) (лямбда) — гиперпараметр регуляризации, который контролирует силу штрафа. Чем больше \(\lambda\), тем сильнее штрафуются большие значения коэффициентов, что приводит к их «сжатию» (shrinkage) к нулю, но не до нуля (в отличие от L1-регуляризации, лассо).

Решение в замкнутой форме. Оценка коэффициентов гребневой регрессии находится по формуле:

\[ \hat{\beta} = (X^T X + \lambda I)^{-1} X^T y \]

где \(I\) — единичная матрица. Добавление \(\lambda I\) к матрице \(X^T X\) делает её невырожденной даже при наличии мультиколлинеарности, что обеспечивает существование и единственность решения.

Сравнение с другими методами регуляризации

Гребневая регрессия является одним из трёх основных методов регуляризации в линейных моделях, наряду с лассо (L1-регуляризация) и эластичной сетью (комбинация L1 и L2).

ХарактеристикаГребневая регрессия (L2)Лассо (L1)Эластичная сеть
Штрафной член\(\lambda \sum \beta_j^2\)\(\lambda \sum \\beta_j\\)\(\lambda_1 \sum \\beta_j\+ \lambda_2 \sum \beta_j^2\)
Свойство сжатияСжимает коэффициенты к нулю, но не обнуляет ихОбнуляет некоторые коэффициенты (разреживание признаков)Комбинирует оба подхода
ПрименениеКогда все признаки имеют значение, но есть мультиколлинеарностьКогда предполагается, что только часть признаков значимаКогда признаки коррелированы и часть из них избыточна
Вычислительная сложностьРешение в замкнутой форме, быстроТребует итеративных методов (например, координатного спуска)Более сложная настройка двух гиперпараметров

Выбор гиперпараметра λ

Гиперпараметр \(\lambda\) (иногда обозначается как \(\alpha\) в библиотеках машинного обучения) определяет баланс между подгонкой модели под данные и её сложностью. При \(\lambda = 0\) гребневая регрессия превращается в обычный МНК. При очень большом \(\lambda\) все коэффициенты стремятся к нулю, и модель становится константной (предсказывает среднее значение).

Методы выбора λ:

Применение в машинном обучении

Гребневая регрессия широко применяется в задачах регрессии (прогнозирование непрерывной переменной) в самых разных областях:

В библиотеках машинного обучения, таких как scikit-learn (Python), гребневая регрессия реализована в классе Ridge. Для автоматического подбора λ используется RidgeCV. В R — функция lm.ridge() из пакета MASS.

Преимущества и недостатки

Преимущества:

Недостатки:

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →