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?
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?
Respostas:
Considere o vector onde ε > 0 é pequena. As normas l 1 e l 2 de → x , respectivamente, são dadas por
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ão
Por outro lado, reduzir por δ fornece normas
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 1A 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.
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 .
Com a regularização L1, você penaliza o modelo por uma função de perda = Σ i | w i | .
Com a regularização L2, você penaliza o modelo por uma função de perda = 1
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)=(w1
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.
Tente imaginar que você começa com um modelo com e usando η = 1 . 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), até atingir um modelo comw1=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) Portanto, o modelo nunca atinge um peso 0, independentemente de quantas etapas executar:
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.
dL2(w)/dw
'módulo' e não apenas linear?
dL2(w)/dw
pode ser lido como a mudança de L2(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 de L1(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:
) regressão, respectivamente. Heuristicamente, para cada método, procuramos a interseção das elipses vermelhas e da região azul, pois o objetivo é minimizar a função de erro, mantendo a viabilidade.
De maneira mais geral, este livro é uma boa referência sobre esse assunto: tanto rigorosas quanto bem ilustradas, ótimas explicações.
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.
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