Регуляризация L1 (L1 Regularization)

Что такое Регуляризация L1 (L1 Regularization)?

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

Основная часть

Суть регуляризации L1 заключается в том, что при оптимизации модели наряду с минимизацией ошибки на обучающих данных алгоритм «штрафует» за большие значения весов — но не квадраты весов (как в L2‑регуляризации), а их абсолютные величины. Это приводит к тому, что часть весов в процессе обучения обнуляется — модель становится разреженной.

Аналогия

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

Исторический контекст

Идея регуляризации восходит к классическим методам борьбы с переобучением, но L1‑регуляризация приобрела особую популярность благодаря работе Роберта Тибширани, который в 1996 году предложил метод LASSO (Least Absolute Shrinkage and Selection Operator). LASSO использует именно L1‑штраф и позволяет не только снижать переобучение, но и выполнять отбор признаков — автоматически «выключая» ненужные.

Отличия от смежных понятий

Главное отличие L1 от L2‑регуляризации (ридж‑регуляризации) — в характере штрафа:

  • L1 использует сумму абсолютных значений весов (‖w‖₁), что ведёт к разреженности модели;
  • L2 использует сумму квадратов весов (‖w‖₂²), что «сжимает» веса, но редко обнуляет их.

Из‑за этого L1‑регуляризация лучше подходит для задач, где важно отобрать наиболее значимые признаки, а L2 — для случаев, когда нужно просто сгладить веса и избежать слишком больших значений.

Примеры использования

  • LASSO‑регрессия — классический пример применения L1‑регуляризации в линейной регрессии;
  • Логистическая регрессия с L1‑штрафом — используется в задачах классификации для отбора признаков;
  • Нейронные сети — L1‑регуляризация может применяться к весам слоёв, чтобы сделать сеть более разреженной и интерпретируемой;
  • Задачи обработки текста (например, классификация документов) — L1 помогает выделить ключевые слова/признаки, отбрасывая шум.

Популярные реализации

  • в библиотеке scikit‑learn (Python) — класс Lasso для линейной регрессии и параметр penalty='l1' в логистической регрессии;
  • в TensorFlow/Keras — можно задать L1‑регуляризацию через параметр kernel_regularizer в слоях (например, tf.keras.regularizers.l1);
  • в PyTorch — реализуется вручную через добавление L1‑штрафа к функции потерь.

Авторизация