Почему L1 норма для разреженных моделей


97

Я читаю книги о линейной регрессии. Есть несколько предложений о нормах L1 и L2. Я их знаю, просто не понимаю, почему L1 норма для разреженных моделей. Может кто-то использовать дать простое объяснение?


4
В основном, разреженность вызвана острыми краями, лежащими на оси изоповерхности. Лучшее графическое объяснение, которое я нашел на данный момент, находится в этом видео: youtube.com/watch?v=sO4ZirJh9ds
felipeduque

1
Там блог статью о том же chioka.in/...
Prashanth

Проверьте следующий пост Medium. Это может помочь medium.com/@vamsi149/...
solver149

Ответы:


111

Рассмотрим вектор где ε > 0 мало. В L 1 и L 2 нормы х , соответственно, задаютсяИксзнак равно(1,ε)р2ε>0L1L2Икс

||x||1=1+ε,  ||x||22=1+ε2

Теперь скажем, что в рамках некоторой процедуры регуляризации мы собираемся уменьшить величину одного из элементов на δ ε . Если мы изменим x 1 на 1 - δ , результирующие нормыxδεИкс11-δ

||x(δ,0)||1=1δ+ε,  ||x(δ,0)||22=12δ+δ2+ε2

С другой стороны, уменьшение на δ дает нормыx2δ

||x(0,δ)||1=1δ+ε,  ||x(0,δ)||22=12εδ+δ2+ε2

Здесь следует отметить, что при штрафе регуляризация большего члена x 1 приводит к гораздо большему уменьшению нормы, чем при меньшем члене x 20 . Для штрафа l 1 , однако, снижение то же самое. Таким образом, при наложении штрафа на модель с использованием нормы l 2 очень маловероятно, что что-либо когда-либо будет установлено на ноль, поскольку уменьшение нормы l 2 при переходе от ε к 0 практически не существует, когда ε мало. С другой стороны, снижение л 1l2x1x20l1l2l2ε0εl1норма всегда равна , независимо от количества штрафа.δ

Еще один способ думать об этом: не столько, что штрафы поощряют разреженность, но что штрафы l 2 в некотором смысле препятствуют разреженности, принося убывающую отдачу, когда элементы приближаются к нулю.l1l2


3
Спасибо за Ваш ответ! Впрочем, последний пункт меня не убеждает. Если вы запускаете линейную регрессию без штрафных санкций, вы вряд ли когда-либо получите разреженные решения (тогда как добавление штрафа L1 часто даст вам разреженность). Таким образом, штрафы L1 на самом деле способствуют разреженности, посылая коэффициенты, которые начинаются с нуля точно с нуля.
Стефан Вейджер

2
@StefanWager может быть, это немного преувеличение, но я думаю, что это правда, что здесь нет ничего особенного в штрафе штраф l α для любого α 1 также вызовет разреженность, но вы видите это на практике реже ( вероятно потому что они не выпуклые). Если вы действительно просто хотите разреженности, тогда штраф l 0 (пропорциональный количеству ненулевых записей) - это путь, так уж сложилось, что работать с ним немного кошмарно. l1lαα1L0
bnaul

1
Да, это правильно. Есть много норм, которые приводят к разреженности (например, как вы упомянули, любая норма Lp с p <= 1). В общем, любая норма с острым углом в нуле вызывает разреженность. Итак, возвращаясь к первоначальному вопросу - норма L1 вызывает разреженность, имея разрывный градиент в нуле (и любой другой штраф с этим свойством будет делать это тоже).
Стефан Вейджер

3
В случае, если кто-то хочет прочитать больше, есть активная литература о невыпуклых штрафных функциях, которые являются альтернативами норме L1 (например, недавно , apers.nips.cc/paper/… ).
Стефан Вейджер

1
отличный ответ, я долго размышлял, пока не нашел это.
Хади Эльсахар

73

В разреженной модели мы думаем о модели, в которой многие веса равны 0. Поэтому рассмотрим, как L1-регуляризация с большей вероятностью может создать 0-веса.

Рассмотрим модель, состоящую из весов .(w1,w2,,wm)

С регуляризацией L1 вы штрафуете модель функцией потерь = Σ i | ш я | ,L1(w)Σi|wi|

С L2-регуляризацией вы штрафуете модель функцией потерь = 1L2(w)12Σiwi2

При использовании градиентного спуска вы будете итеративно изменять веса в противоположном направлении градиента с шагом умноженным на градиент. Это означает, что более крутой градиент заставит нас сделать больший шаг, в то время как более плоский градиент заставит нас сделать меньший шаг. Давайте посмотрим на градиенты (субградиент в случае L1):η

, гдеsign(w)=(w1dL1(w)dw=sign(w)sign(w)=(w1|w1|,w2|w2|,,wm|wm|)

dL2(w)dw=w

Если мы построим график функции потерь и ее производной для модели, состоящей только из одного параметра, то для L1 это будет выглядеть так:

введите описание изображения здесь

И вот так для L2:

введите описание изображения здесь

Обратите внимание, что для градиент равен 1 или -1, за исключением случаев, когда w 1 = 0 . Это означает, что L1-регуляризация будет перемещать любой вес к 0 с тем же размером шага, независимо от значения веса. Напротив, вы можете видеть, что градиент L 2 линейно уменьшается к 0, когда вес приближается к 0. Поэтому L2-регуляризация также сместит любой вес к 0, но при приближении веса к 0 будут предприниматься все меньшие и меньшие шаги.L1w1=0L2

Попробуйте представить себе, что вы начинаете с модели с и использованием η = 1w1=5 . На следующем рисунке вы можете увидеть, как градиентный спуск с использованием L1-регуляризации делает 10 обновленийw1:=w1-ηdL1(w)η=12, до достижения модели сw1=0:w1:=w1ηdL1(w)dw=w1121w1=0

введите описание изображения здесь

В отличие от этого, с L2-регуляризацией, где , градиент равенw1, в результате чего каждый шаг находится на полпути к 0. То есть мы производим обновлениеw1:=w1-ηdL2(w)η=12w1 Следовательно, модель никогда не достигает веса 0, независимо от того, сколько шагов мы предпримем:w1:=w1ηdL2(w)dw=w112w1

введите описание изображения здесь

η


3
η=0.5
wfirst step=0.10.5(+1)=>w=0.4
wsecondstep=0.40.5(1)=0.1.

5
@AlexYashin, это правильно - если мы только обновили веса, основанные на регуляризации L1, мы могли бы в конечном итоге иметь веса, которые колеблются около 0. Но мы никогда не используем только регуляризацию для регулировки весов. Мы используем регуляризацию в сочетании с оптимизацией функции потерь. Таким образом, регуляризация сдвигает весы к нулю, в то время как мы одновременно пытаемся подтолкнуть весы к значению, которое оптимизирует прогнозы. Второй аспект - это скорость обучения. С меньшей скоростью обучения мы можем приблизиться к значению, что регуляризация может колебаться вокруг, что мы можем пренебречь им
Кент Munthe

1
Почему dL2(w)/dw«модуль», а не просто линейный?
mrgloom

1
@mrgloom dL2(w)/dwможно считать L2(w)изменением веса. Так как L2-регуляризация возводит в квадрат веса, L2(w)изменится намного больше для того же изменения весов, когда у нас есть более высокие веса. Вот почему функция выпуклая, когда вы строите ее. Для L1, однако, изменение L1(w)веса на изменение одинаково, независимо от того, какие у вас веса - это приводит к линейной функции.
Кент Мунте Касперсен

1
@KentMuntheCaspersen Удивительное объяснение! Спасибо за графики и усилия, которые вы вложили, чтобы сделать это интуитивно понятным!
лайсер

15

Рисунок 3.11 из Элементов Статистического Обучения Хасти, Тибширани и Фридмана очень показателен:введите описание изображения здесь

β^β1β2β^L1L2) регрессия соответственно. Эвристически, для каждого метода мы ищем пересечение красных эллипсов и синей области, так как цель состоит в том, чтобы минимизировать функцию ошибок при сохранении осуществимости.

L1


16
Иллюстрация не очень убедительна без дополнительной информации. Например, почему контуры ошибки должны быть расположены там, где они находятся на рисунке?
Ваббит

@HrishikeshGanu В конце концов, у меня появилось время для редактирования поста.
Zhanxiong

Все контуры будут иметь одинаковую форму ...
kjetil b halvorsen

1
β^β1β2β1знак равноβ2

13

β^β^1(β^)<T2(β^)<T

11{Икс:1(Икс)1}

В более общем смысле, эта книга является хорошим справочным материалом по этому вопросу: и строгим, и хорошо иллюстрированным, с отличными объяснениями


3
Я думаю, что ваш второй абзац является ключевым ... по крайней мере, для моей интуиции: «шар» l1 больше похож на алмаз, пронзительный по осям, что означает, что гиперплоскость, вынужденная ударить его, с большей вероятностью будет иметь ноль на оси
Уэйн

2
β^1212β^

3
Книга хорошая, но она никогда не объясняет, откуда она взялась и какая математика стоит за ней.
user13985

2

Простой нематематический ответ:

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

Для L1: штрафной термин является абсолютным , нам может потребоваться перейти к нулю, так как нет катализатора, чтобы сделать маленький меньше .

Это моя точка зрения.


Не очень убедительно для меня.
Тайлер 玉门 将士 归 玉门

2

Норма L1 против Нормы L2

На рисунке показаны формы области, занимаемой нормами L1 и L2. Второе изображение состоит из различных контуров градиентного спуска для различных задач регрессии. На всех контурных графиках наблюдайте красный круг, который пересекает хребет или норму L2. пересечение не на осях. Черный круг во всех контурах представляет тот, который пересекает норму L1 или лассо. Пересекается относительно близко к осям. Это приводит к увеличению коэффициентов до 0 и, следовательно, к выбору признаков. Следовательно, норма L1 делает модель разреженной.

Более подробное объяснение по следующей ссылке: Нажмите Post to Towers Data Science


2β1знак равно1β1знак равно0L1
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.