Регрессия LASSO — это метод контролируемой и регуляризации, используемый для уменьшения дисперсии и выбора признаков.
LASSO расшифровывается как Оператор наименьшего абсолютного сокращения и выбора.
Это помогает упорядочить модель, выбирая релевантные функции и уменьшая нерелевантные функции — отсюда и название предполагает «Уменьшение и выбор».
Прежде чем углубиться в концепцию, сначала нам нужно понять определение регуляризации.
Регуляризация - это метод предотвращения переобучения модели путем добавления штрафного члена или смещения, чтобы модель могла лучше обобщать с точки зрения прогнозирования значения для невидимых данных.
Давайте разберемся с контрастом линейной регрессии 😃
Уравнение модели: f(x) = β0 + β1x1 + β2x2
Как и любая другая модель, она также пытается уменьшить функцию стоимости, чтобы более точно прогнозировать невидимые данные.
Метка Yi — True, где остальное — прогнозируемое значение!
Теперь, добавив штрафной член, который представляет собой сумму абсолютного значения всех коэффициентов, присутствующих в модели. Так сформировалась регрессия LASSO.
Здесь λ — это гиперпараметр, который можно настроить для создания точки компромисса смещения и дисперсии для обобщения модели.
До сих пор Мы поняли:
- Что такое ЛАССО-регрессия
- Что такое регуляризация
- Как регуляризация LASSO точно вписывается в функцию стоимости линейной модели
Теперь начинается интересная часть объяснения, чтобы найти логику математики этого ЛАССО 🎃, где ЛАССО уменьшает значение коэффициентов до нуля, поэтому этой функции можно избежать.
Итак, просто взглянув на изображение, LASSO имеет область ограничения ромбовидного типа и имеет углы на каждой оси. Когда затмение (функция стоимости линейной регрессии) пересекается с любым из этих углов области ЛАССО, тогда один из коэффициентов становится равным нулю. 😟 😝
Чтобы полностью понять, давайте сначала разберемся с градиентным спуском.
Градиентный спуск — это алгоритм оптимизации, который выполняется итеративно для минимизации значения функции стоимости или, говоря более математическим языком, — для поиска глобальных минимумов.
Однако, чтобы быть конкретным, мы будем следовать субградиентному спуску, чтобы удовлетворить функцию стоимости LASSO, поскольку из-за характера уравнения и распределения данных функция стоимости LASSO не является дифференцируемой в точке 0.
Наклон абсолютной функции равен -1 для всех отрицательных значений и равен 1 для всех положительных значений. Но наклон в 0 не определен!
Поскольку мы не можем точно знать, как будет выглядеть реальный градиент в этой точке, одна из идей состоит в том, чтобы посмотреть на градиенты в окрестности 0, а затем определить субградиент как промежуточный вектор. между градиентами вокруг нашей недифференцируемой точки.
Любое строго положительное число имеет знак 1, любое строго отрицательное число имеет знак -1, а для 0 мы можем просто определить, что знак равен 0, что для удобства является числом от -1 до 1.
Вот фрагмент кода, чтобы понять, как это работает под капотом.
# #The final w output. As you can see, first 3 w's are significant , the rest are very small final w: [ 9.65816491e-01 4.27099719e-01 -4.39501114e-01 7.26803718e-04 1.44676529e-03 4.29653783e-03 -1.88827800e-02 5.01402266e-03 -1.45435498e-02 2.98832870e-03 -1.94071569e-03 -1.47917010e-02 3.56488642e-02 2.44495593e-02 -3.40885499e-03 -2.23948913e-02 -8.56983401e-04 1.00292301e-02 3.33973800e-03 8.51922055e-03 -3.72198952e-02 5.31823613e-03 -3.35052948e-02 7.15853488e-03 -1.00094617e-02 -1.44190084e-03 2.96771082e-03 -6.51081371e-03 3.54465569e-02 -3.30111666e-02 4.42377796e-03 -7.87768360e-03 1.26511065e-02 -5.43831611e-04 -4.58914064e-04 5.53972101e-03 -8.31677251e-03 8.63159114e-03 -6.17622135e-03 -3.08958154e-03 1.39908214e-02 9.34415972e-03 -3.76350383e-03 -2.16322570e-03 3.84337810e-03 -6.68382801e-04 -2.84473367e-03 2.48744388e-03 -8.91564845e-03 6.97568406e-02]
Надеюсь, эта статья будет полезна.
Кредиты: