L1-регуляризация Л

Метод регуляризации в машинном обучении, добавляющий к функции потерь штраф за сумму абсолютных значений весов, что обнуляет часть параметров и создаёт разреженные модели.

English L1 regularization, Lasso regularization, L1 penalty, L1 norm regularization
Синонимы L1-штраф, Lasso, LASSO, лассо-регуляризация, регуляризация L1-нормой, L1-пенальти

L1-регуляризация — это метод обучения моделей машинного обучения, при котором к стандартной функции потерь добавляется штраф, равный сумме абсолютных значений всех весов модели. Такой штраф называется L1-нормой вектора весов и обозначается как ‖w‖₁. В отличие от L2-регуляризации, которая стремится равномерно уменьшить все веса, L1-штраф способен обнулять отдельные параметры полностью. Это свойство делает L1-регуляризацию одновременно и способом борьбы с переобучением, и инструментом автоматического отбора признаков. Наиболее известная реализация L1-регуляризации в статистике — метод LASSO (Least Absolute Shrinkage and Selection Operator), предложенный Робертом Тибширани в 1996 году.

Как это работает

Механика L1-регуляризации основана на добавлении к целевой функции штрафного слагаемого. Если исходная задача — минимизировать функцию потерь L(w), то с L1-регуляризацией она превращается в минимизацию L(w) + λ·‖w‖₁, где λ — гиперпараметр, управляющий силой штрафа. Градиент L1-штрафа по каждому весу равен λ·sign(wᵢ), то есть постоянной величине, не зависящей от значения веса. Это принципиально отличает L1 от L2, где градиент штрафа пропорционален самому весу.

Из-за постоянного градиента L1-штраф «сдвигает» каждый вес к нулю с одинаковой силой. Когда вклад признака в уменьшение основной функции потерь оказывается меньше этого сдвига, оптимальное значение веса становится равным точно нулю. В результате модель «выбрасывает» неинформативные признаки, сохраняя только те, которые действительно влияют на прогноз. Чем больше λ, тем больше весов обнуляется. При достаточно большом λ модель может оставить лишь один-два значимых признака.

Зачем это нужно

L1-регуляризация решает две практические задачи одновременно. Первая — борьба с переобучением: ограничение весов не даёт модели «подгоняться» под шум в обучающих данных. Вторая — отбор признаков: если у вас сотни или тысячи входных переменных, L1-штраф автоматически покажет, какие из них действительно важны, а какие можно исключить.

Это особенно ценно в задачах с высокой размерностью и малым числом наблюдений, где число признаков превышает число примеров. Классические примеры: анализ генетических данных, текстовая классификация, обработка разреженных признаков в рекомендательных системах. В нейросетях L1-регуляризация применяется к весам слоёв и помогает получать более компактные модели, которые легче интерпретировать и быстрее работают при выводе.

Примеры

  • Линейная регрессия с LASSO. Задача: предсказать цену квартиры по 50 признакам (площадь, этаж, расстояние до метро, год постройки и т.д.). Обычная линейная регрессия даст ненулевые коэффициенты для всех 50 признаков, включая случайный шум. С L1-регуляризацией при λ = 0.1 модель обнулит, скажем, 35 коэффициентов и оставит только 15 действительно значимых. Это упрощает модель и снижает риск переобучения.
  • Классификация текстов. В задаче определения спама по email используется bag-of-words с 20 000 признаков (слов). L1-регуляризация обнуляет веса для большинства слов, оставляя только те, которые реально отличают спам от нормальных писем: «выигрыш», «бесплатно», «срочно».
  • Нейросеть для табличных данных. При обучении полносвязной сети на датасете с 500 признаками и 1000 примерами L1-регуляризация на весах первого слоя может обнулить целые группы весов, соответствующие неинформативным признакам. Это эквивалентно отбору признаков «на лету» во время обучения.

Формула или метрика

Функция потерь с L1-регуляризацией:

J(w) = L(w) + λ · Σᵢ |wᵢ|

где:

  • L(w) — исходная функция потерь (например, MSE или кросс-энтропия);
  • λ (лямбда) — гиперпараметр, задающий силу регуляризации (λ ≥ 0);
  • Σᵢ |wᵢ| — L1-норма вектора весов, сумма абсолютных значений всех параметров.

Ключевое свойство: при увеличении λ больше весов становятся равными точно нулю. L1-норма — выпуклая функция, что гарантирует единственность решения задачи минимизации и эффективность численных методов.

Типичные ошибки

  • Слишком большое λ. При чрезмерной силе штрафа модель обнулит почти все веса и превратится в константный предиктор. Признак: loss на обучении и валидации одинаково высокий, модель ничего не предсказывает.
  • Отсутствие стандартизации признаков. L1-штраф чувствителен к масштабу. Если один признак измеряется в тысячах, а другой — в долях, штраф будет несправедливо «давить» на веса признаков с малым масштабом. Перед обучением признаки нужно нормализовать.
  • Ожидание разреженности от L2. L2-регуляризация (Ridge) уменьшает веса, но почти никогда не обнуляет их точно. Если нужна разреженность — используйте L1 или Elastic Net.
  • Игнорирование коррелированных признаков. При наличии сильно коррелированных признаков L1-регуляризация выберет один из них случайным образом и обнулит остальные. Это может затруднить интерпретацию. Elastic Net (комбинация L1 и L2) решает эту проблему.

Как улучшить

  • Подбирайте λ по кросс-валидации. Используйте grid search или случайный поиск по логарифмической шкале (например, от 1e-5 до 1e-1). Оптимальное λ — то, при котором метрика на валидации максимальна.
  • Стандартизируйте признаки. Приведите все входные переменные к нулевому среднему и единичной дисперсии перед обучением. Это делает штраф справедливым для всех весов.
  • Попробуйте Elastic Net. Если признаки коррелированы, комбинация L1 и L2 (Elastic Net) даёт более стабильный отбор, чем чистый L1. Параметр l1_ratio управляет балансом между L1 и L2.
  • Применяйте L1 выборочно. В нейросетях можно штрафовать только веса определённых слоёв (например, первого слоя, который работает с признаками), а не всю модель целиком.
  • Проверяйте итоговую разреженность. После обучения посчитайте долю весов, равных нулю. Если их меньше 20–30%, возможно, λ слишком мало или признаки не стандартизированы.

Источники

Tibshirani, R. (1996). Regression Shrinkage and Selection via the Lasso. Journal of the Royal Statistical Society: Series B, 58(1), 267–288. — оригинальная работа, вводящая LASSO.

Hastie, T., Tibshirani, R., Wainwright, M. (2015). Statistical Learning with Sparsity: The Lasso and Generalizations. CRC Press. ISBN 978-1482238163 — фундаментальная монография по разреженным моделям.

Google for Developers — Regularization for Sparsity: L1 Regularization (https://developers.google.com/machine-learning/crash-course/regularization-for-sparsity/l1-regularization) — практическое руководство.

TensorFlow Core — Overfit and Underfit: L1 Regularization (https://www.tensorflow.org/tutorials/keras/overfit_and_underfit) — документация с примерами реализации.