Словарь ИИ

Что такое лассо-регрессия

Что такое лассо-регрессия

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

Содержание статьи

Как работает лассо-регрессия

Лассо-регрессия добавляет штраф к функции ошибки, из-за чего модель старается не только хорошо описывать данные, но и не раздувать коэффициенты. Чем выше сила штрафа, тем больше коэффициентов сжимается к нулю.

Название LASSO расшифровывается как Least Absolute Shrinkage and Selection Operator. В прикладных задачах чаще говорят проще: это линейная модель, которая штрафует сумму абсолютных значений коэффициентов. Такой штраф называют L1-регуляризацией.

Главная особенность метода в том, что некоторые коэффициенты могут стать ровно нулевыми. Это отличает лассо-регрессию от ряда других способов регуляризации. Если коэффициент обнулился, соответствующий признак фактически исключается из модели.

Поэтому лассо-регрессию используют не только для борьбы с переобучением, но и для автоматического отбора признаков. Это особенно полезно, когда признаков много, а вклад части из них сомнителен или дублируется.

Что даёт L1-регуляризация на практике

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

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

Штраф в лассо-регрессии ограничивает эту склонность. Модель вынуждена искать более сдержанное решение.

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

Что означает параметр lambda

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

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

Если λ увеличивать, штраф становится заметнее. Модель начинает упрощаться: коэффициенты уменьшаются, а часть признаков исключается. Это уменьшает разброс результатов на новых выборках, но может добавить смещение.

Здесь проявляется компромисс между смещением и разбросом. Слишком слабая регуляризация оставляет модель чрезмерно гибкой. Слишком сильная — делает её чересчур грубой.

Почему лассо-регрессия связана с переобучением

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

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

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

Когда лассо-регрессию применяют чаще всего

Лассо-регрессия подходит для задач прогнозирования, где нужно одновременно сократить число признаков и сохранить понятную модель. Чаще всего её выбирают при работе с многомерными данными.

Метод полезен, когда:

  • признаков много;
  • не все признаки одинаково важны;
  • нужно автоматически убрать часть переменных;
  • есть риск переобучения;
  • нужна более интерпретируемая модель.

Такой подход часто рассматривают в машинном обучении и прикладной статистике. Особенно в задачах, где переменных много, а вручную отбирать их неудобно.

Чем лассо-регрессия отличается от ридж-регрессии

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

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

Параметр Лассо-регрессия Ридж-регрессия
Тип штрафа L1-регуляризация L2-регуляризация
Зануление коэффициентов Да Обычно нет
Отбор признаков Да Нет в явном виде
Интерпретируемость Часто выше за счёт более короткой модели Может быть ниже, если все признаки сохранены

На практике эти методы нередко сравнивают на одной и той же задаче. Выбор зависит от структуры данных и цели моделирования.

Что происходит при сильно коррелирующих признаках

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

Это свойство полезно, если нужно сократить число переменных. Но оно создаёт ограничение: выбор между близкими по смыслу признаками может оказаться условным. Модель сохранит не обязательно тот признак, который кажется более важным с предметной точки зрения.

Если корреляция между признаками очень высокая, нередко рассматривают альтернативы, например Elastic Net. Этот подход сочетает свойства L1- и L2-регуляризации.

Как подготовить данные перед применением метода

Перед обучением лассо-регрессии обычно проверяют пропуски, масштаб признаков и связи между переменными. Без этой подготовки результат может быть искажён.

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

Поэтому данные часто масштабируют. Распространённый вариант — привести признаки к среднему значению 0 и стандартному отклонению 1.

На этапе разведочного анализа полезно проверить:

  • есть ли пропущенные значения;
  • сколько признаков участвует в задаче;
  • есть ли сильная корреляция между предикторами;
  • нуждается ли числовая часть данных в масштабировании.

Как обучают модель лассо-регрессии

Обучение лассо-регрессии обычно включает разделение данных, масштабирование, подбор λ и проверку качества на отложенной выборке. Сам метод прост по идее, но результат сильно зависит от настройки регуляризации.

Типичный порядок работы выглядит так:

  1. Провести первичный анализ данных.
  2. Разделить выборку на обучающую и тестовую части.
  3. При необходимости масштабировать числовые признаки.
  4. Обучить модель с несколькими значениями λ.
  5. Выбрать значение λ по метрике ошибки, часто по среднеквадратичной ошибке.
  6. Проверить качество модели на тестовых данных.

Для выбора λ часто используют кросс-валидацию. Она позволяет оценить, при каком уровне регуляризации модель лучше переносится на новые данные, а не просто хорошо запоминает обучающую выборку.

Какие метрики обычно смотрят

Для оценки лассо-регрессии часто используют среднеквадратичную ошибку и R2. Первая показывает средний масштаб ошибки прогноза, вторая — какую долю изменчивости целевой переменной объясняет модель.

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

R2 полезен как дополнительный ориентир. Но его обычно смотрят вместе с ошибкой, а не отдельно.

Какие ограничения есть у лассо-регрессии

Лассо-регрессия удобна, но не решает все проблемы линейных моделей. Её слабое место — ситуации с очень сильной корреляцией между признаками и случаи, где зануление коэффициентов нежелательно.

Если несколько переменных тесно связаны между собой, модель может выбрать одну из них довольно произвольно. Это влияет на интерпретацию. Кроме того, сильная регуляризация может убрать признаки, которые в комбинации были бы полезны.

Есть и ещё один нюанс. Лассо-регрессия вводит смещение в оценки коэффициентов, потому что намеренно стягивает их к нулю. Для прогноза это часто допустимо, но для точной интерпретации величины коэффициентов нужно помнить о природе этого эффекта.

Можно ли использовать лассо не только в линейной регрессии

Да, идея L1-регуляризации применяется не только в линейной регрессии. Тот же принцип используют и в других моделях, например в логистической регрессии.

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

Как реализовать лассо-регрессию в Python и R

В Python и R для лассо-регрессии есть готовые инструменты. В Python часто используют библиотеки семейства scikit-learn, а в R — пакет glmnet.

Python удобен как универсальная среда для анализа данных и машинного обучения. R традиционно силён в статистике, работе с моделями и визуализации результатов.

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