Я читаю книги о линейной регрессии. Есть несколько предложений о нормах L1 и L2. Я их знаю, просто не понимаю, почему L1 норма для разреженных моделей. Может кто-то использовать дать простое объяснение?
regression
lasso
regularization
ridge-regression
Юнвэй Син
источник
источник
Ответы:
Рассмотрим вектор где ε > 0 мало. В L 1 и L 2 нормы → х , соответственно, задаютсяx⃗ =(1,ε)∈R2 ε>0 l1 l2 x⃗
Теперь скажем, что в рамках некоторой процедуры регуляризации мы собираемся уменьшить величину одного из элементов на δ ≤ ε . Если мы изменим x 1 на 1 - δ , результирующие нормыx⃗ δ≤ ε Икс1 1 - δ
С другой стороны, уменьшение на δ дает нормыx2 δ
Здесь следует отметить, что при штрафе регуляризация большего члена x 1 приводит к гораздо большему уменьшению нормы, чем при меньшем члене x 2 ≈ 0 . Для штрафа l 1 , однако, снижение то же самое. Таким образом, при наложении штрафа на модель с использованием нормы l 2 очень маловероятно, что что-либо когда-либо будет установлено на ноль, поскольку уменьшение нормы l 2 при переходе от ε к 0 практически не существует, когда ε мало. С другой стороны, снижение л 1l2 x1 x2≈0 l1 l2 l2 ε 0 ε l1 норма всегда равна , независимо от количества штрафа.δ
Еще один способ думать об этом: не столько, что штрафы поощряют разреженность, но что штрафы l 2 в некотором смысле препятствуют разреженности, принося убывающую отдачу, когда элементы приближаются к нулю.l1 l2
источник
В разреженной модели мы думаем о модели, в которой многие веса равны 0. Поэтому рассмотрим, как L1-регуляризация с большей вероятностью может создать 0-веса.
Рассмотрим модель, состоящую из весов .(w1,w2,…,wm)
С регуляризацией L1 вы штрафуете модель функцией потерь = Σ i | ш я | ,L1(w) Σi|wi|
С L2-регуляризацией вы штрафуете модель функцией потерь = 1L2(w) 12Σiw2i
При использовании градиентного спуска вы будете итеративно изменять веса в противоположном направлении градиента с шагом умноженным на градиент. Это означает, что более крутой градиент заставит нас сделать больший шаг, в то время как более плоский градиент заставит нас сделать меньший шаг. Давайте посмотрим на градиенты (субградиент в случае L1):η
, гдеsign(w)=(w1dL1(w)dw=sign(w) sign(w)=(w1|w1|,w2|w2|,…,wm|wm|)
Если мы построим график функции потерь и ее производной для модели, состоящей только из одного параметра, то для L1 это будет выглядеть так:
И вот так для L2:
Обратите внимание, что для градиент равен 1 или -1, за исключением случаев, когда w 1 = 0 . Это означает, что L1-регуляризация будет перемещать любой вес к 0 с тем же размером шага, независимо от значения веса. Напротив, вы можете видеть, что градиент L 2 линейно уменьшается к 0, когда вес приближается к 0. Поэтому L2-регуляризация также сместит любой вес к 0, но при приближении веса к 0 будут предприниматься все меньшие и меньшие шаги.L1 w1=0 L2
Попробуйте представить себе, что вы начинаете с модели с и использованием η = 1w1=5 . На следующем рисунке вы можете увидеть, как градиентный спуск с использованием L1-регуляризации делает 10 обновленийw1:=w1-η⋅dL1(w)η=12 , до достижения модели сw1=0:w1:=w1−η⋅dL1(w)dw=w1−12⋅1 w1=0
В отличие от этого, с L2-регуляризацией, где , градиент равенw1, в результате чего каждый шаг находится на полпути к 0. То есть мы производим обновлениеw1:=w1-η⋅dL2(w)η=12 w1
Следовательно, модель никогда не достигает веса 0, независимо от того, сколько шагов мы предпримем:w1:=w1−η⋅dL2(w)dw=w1−12⋅w1
источник
dL2(w)/dw
«модуль», а не просто линейный?dL2(w)/dw
можно считатьL2(w)
изменением веса. Так как L2-регуляризация возводит в квадрат веса,L2(w)
изменится намного больше для того же изменения весов, когда у нас есть более высокие веса. Вот почему функция выпуклая, когда вы строите ее. Для L1, однако, изменениеL1(w)
веса на изменение одинаково, независимо от того, какие у вас веса - это приводит к линейной функции.Рисунок 3.11 из Элементов Статистического Обучения Хасти, Тибширани и Фридмана очень показателен:
источник
В более общем смысле, эта книга является хорошим справочным материалом по этому вопросу: и строгим, и хорошо иллюстрированным, с отличными объяснениями
источник
Простой нематематический ответ:
Для L2: штрафной термин возводится в квадрат , поэтому возведение в квадрат маленького значения сделает его меньше. Нам не нужно устанавливать ноль для достижения нашей цели - получить минимальную квадратную ошибку, мы получим ее до этого.
Для L1: штрафной термин является абсолютным , нам может потребоваться перейти к нулю, так как нет катализатора, чтобы сделать маленький меньше .
Это моя точка зрения.
источник
На рисунке показаны формы области, занимаемой нормами L1 и L2. Второе изображение состоит из различных контуров градиентного спуска для различных задач регрессии. На всех контурных графиках наблюдайте красный круг, который пересекает хребет или норму L2. пересечение не на осях. Черный круг во всех контурах представляет тот, который пересекает норму L1 или лассо. Пересекается относительно близко к осям. Это приводит к увеличению коэффициентов до 0 и, следовательно, к выбору признаков. Следовательно, норма L1 делает модель разреженной.
Более подробное объяснение по следующей ссылке: Нажмите Post to Towers Data Science
источник