Estou lendo os livros sobre regressão linear. Existem algumas frases sobre a norma L1 e L2. Eu os conheço, só não entendo por que a norma L1 para modelos esparsos. Alguém pode dar uma explicação simples?
regression
lasso
regularization
ridge-regression
Yongwei Xing
fonte
fonte
Respostas:
Considere o vector onde ε > 0 é pequena. As normas l 1 e l 2 de → x , respectivamente, são dadas porx⃗ =(1,ε)∈R2 ε>0 eu1 eu2 x⃗
Agora diga que, como parte de algum procedimento de regularização, vamos reduzir a magnitude de um dos elementos de em δ ≤ ε . Se mudarmos x 1 para 1 - δ , as normas resultantes sãox⃗ δ≤ ε x1 1 - δ
Por outro lado, reduzir por δ fornece normasx2 δ
O que se deve notar aqui é que, para uma penalidade de , regularizar o termo maior x 1 resulta em uma redução muito maior na norma do que fazê-lo no termo menor x 2 ≈ 0 . Para a penalidade de l 1 , no entanto, a redução é a mesma. Assim, ao penalizar um modelo usando a norma l 2 , é altamente improvável que algo seja definido como zero, uma vez que a redução na norma l 2 que vai de ε a 0 é quase inexistente quando ε é pequeno. Por outro lado, a redução em l 1eu2 x1 x2≈ 0 eu1 eu2 eu2 ε 0 0 ε eu1 A norma é sempre igual a , independentemente da quantidade que está sendo penalizada.δ
Outra maneira de pensar sobre isso: não é tanto que penalidades incentivam a esparsidade, mas que l 2 penalizações desencorajam a esparsidade, produzindo retornos decrescentes à medida que os elementos são movidos para mais perto de zero.eu1 eu2
fonte
Com um modelo esparso, pensamos em um modelo em que muitos pesos são 0. Vamos, portanto, raciocinar sobre como a regularização de L1 tem maior probabilidade de criar pesos-zero.
Considere um modelo que consiste nos pesos .( w1, w2, … , Wm)
Com a regularização L1, você penaliza o modelo por uma função de perda = Σ i | w i | .eu1( W ) ΣEu| WEu|
Com a regularização L2, você penaliza o modelo por uma função de perda = 1eu2( W ) 12ΣEuW2Eu
Se você estiver usando a descida do gradiente, iterativamente, os pesos serão alterados na direção oposta do gradiente com um tamanho de passo multiplicado pelo gradiente. Isso significa que um gradiente mais acentuado nos fará dar um passo maior, enquanto um gradiente mais plano nos fará dar um passo menor. Vejamos os gradientes (subgradiente no caso de L1):η
, ondesign(w)=(w1deu1( W )dW= s i gn ( w ) s i gn ( w ) = ( w1| W1|, w2| W2|, … , Wm| Wm|)
Se traçarmos a função de perda e sua derivada para um modelo que consiste em apenas um único parâmetro, será assim para L1:
E assim para L2:
Observe que para , o gradiente é 1 ou -1, exceto quando w 1 = 0 . Isso significa que a regularização L1 moverá qualquer peso para 0 com o mesmo tamanho de etapa, independentemente do valor do peso. Por outro lado, você pode ver que o gradiente de L 2 está diminuindo linearmente em direção a 0 conforme o peso vai para 0. Portanto, a regularização de L2 também moverá qualquer peso em direção a 0, mas tomará etapas cada vez menores à medida que o peso se aproxima de 0.eu1 W1= 0 eu2
Tente imaginar que você começa com um modelo com e usando η = 1W1= 5 . Na figura a seguir, é possível ver como a descida do gradiente usando a regularização L1 faz 10 das atualizaçõesw1:=w1-η⋅dL1(w)η= 12 , até atingir um modelo comw1=0:W1: = w1- η⋅ deu1( W )dW= w1- 12⋅ 1 W1= 0
Em contraste, com regularização L2 onde , o gradiente éw1, fazendo com que cada passo seja apenas na metade do caminho para 0. Ou seja, fazemos a atualizaçãow1:=w1-η⋅dL2(w)η= 12 W1
Portanto, o modelo nunca atinge um peso 0, independentemente de quantas etapas executar:W1: = w1- η⋅ deu2( W )dW= w1- 12⋅ w1
Observe que a regularização L2 pode fazer um peso chegar a zero se o tamanho da etapa for tão alto que chega a zero em uma única etapa. Mesmo se a regularização L2 por conta própria exceder ou ultrapassar 0, ele ainda poderá atingir um peso 0 quando usado em conjunto com uma função objetivo que tenta minimizar o erro do modelo em relação aos pesos. Nesse caso, encontrar os melhores pesos do modelo é um compromisso entre regularizar (com pesos pequenos) e minimizar as perdas (ajustar os dados de treinamento), e o resultado desse compromisso pode ser o melhor valor para alguns pesos são 0.η
fonte
dL2(w)/dw
'módulo' e não apenas linear?dL2(w)/dw
pode ser lido como a mudança deL2(w)
peso por mudança. Como a regularização L2 quadratura os pesos,L2(w)
mudará muito mais para a mesma mudança de pesos quando tivermos pesos mais altos. É por isso que a função é convexa quando você a plota. Para L1, no entanto, a alteração deL1(w)
cada alteração de pesos é a mesma, independentemente de quais sejam seus pesos - isso leva a uma função linear.A Figura 3.11 de Elements of Statistical Learning de Hastie, Tibshirani e Friedman é muito ilustrativa:
fonte
De maneira mais geral, este livro é uma boa referência sobre esse assunto: tanto rigorosas quanto bem ilustradas, ótimas explicações.
fonte
Uma resposta não matemática simples será:
Para L2: o termo de penalidade é quadrado , portanto, ao quadrado um valor pequeno o tornará menor. Não precisamos zerá-lo para atingir nosso objetivo de obter um erro quadrado mínimo, vamos obtê-lo antes disso.
Para L1: termo Penalty é absoluta , que pode necessário ir a zero, pois não há catalisador para diminuir o tamanho .
Este é o meu ponto de vista.
fonte
A imagem mostra as formas da área ocupada pelas normas L1 e L2. A segunda imagem consiste em vários contornos de descida de gradiente para vários problemas de regressão. Em todas as plotagens de contorno, observe o círculo vermelho que cruza a Norma Ridge ou L2. a interseção não está nos eixos. O círculo preto em todos os contornos representa aquele que intercepta a norma L1 ou Lasso. Cruza-se relativamente próximo dos eixos. Isso resulta em fazer coeficientes para 0 e, portanto, na seleção de recursos. Portanto, a norma L1 torna o modelo escasso.
Explicação mais detalhada no seguinte link: Clique em Postar em direção à ciência de dados
fonte