Parâmetro de regularização LASSO do algoritmo LARS


9

Em seu artigo seminal 'Regressão a Menor Ângulo' , Efron et al descrevem uma modificação simples do algoritmo LARS que permite calcular caminhos completos de regularização do LASSO.

Eu implementei essa variante com êxito e geralmente plotei o caminho de saída em relação ao número de etapas (iterações sucessivas do algoritmo LARS) ou à -norm dos coeficientes de regressão ( ).l1‖β‖1

No entanto, parece que a maioria dos pacotes disponíveis fornece o caminho de regularização em termos do coeficiente de penalização do LASSO λ (por exemplo, LARS em R, onde você pode brincar com o argumento 'mode' para alternar entre diferentes representações).

Minha pergunta é: qual é a mecânica usada para alternar de uma representação para outra (s). Eu já vi várias perguntas relacionadas a isso (ou mais especificamente, a questão de mapear a restrição de desigualdade ‖β‖1≤t para um termo de penalização apropriado λ‖β‖1 ), mas não encontrei resposta satisfatória.


[Editar]

Eu procurei dentro de algum código MATLAB que executa a transformação necessária e, para cada etapa LARS k , é assim que λ parece ser calculado:

λ(k)=max(2|XTy|),   for k=1
λ(k)=median(2|XAkTrAk|),   ∀k>1

onde X (tamanho n×p ) e y (tamanho n×1 ) denotam as entradas / respostas padronizadas, Ak representa o conjunto de preditores ativos na etapa k e r representa a regressão atual residual na etapa k .

Não consigo entender a lógica por trás desse cálculo. Alguém poderia ajudar?

Respostas:


4

Eu descobri como realizar a conversão necessária.

Suponha que as entradas sejam padronizadas (média zero, variação unitária) e as respostas sejam centralizadas.Xy

Sabemos que o algoritmo LARS modificado fornece o caminho completo de regularização do LASSO, cf. artigo original de Efron et al .

Isso significa que, a cada iteração , o algoritmo anterior encontra um par ideal minimizando a função de perda regularizada: k(β∗,λ∗)

(β∗,λ∗)=argmin(β,λ)L(β,λ)L(β,λ)=‖y−Xβ‖22+λ‖β‖1=∑i=1N(yi−∑j=1pβjXij)2+λ∑j=1p|βj|

Para todos os componentes ativos no conjunto ativo no final da etapa , aplicar a condição de estacionariedade KKT fornece a={1,...,q}Akk

0=∂L∂βa(β∗,λ∗)=−2∑i=1NXia(yi−∑j=1qβj∗Xij)+λ∗ sign(βa∗)

Em outras palavras, ou em notações matriciais (observando que dividir / multiplicar por é o mesmo) a seguinte equação é satisfeita para qualquer componente ativo :

λ∗=2∑i=1NXia(yi−∑j=1qβj∗Xij)sign(βa∗)
sign(x)a
λ∗=2 sign(βa∗)XaTr

No artigo original, os autores mencionam que, para qualquer solução para o problema do LASSO, o sinal de um peso de regressão ativo ( ) deve ser idêntico ao sinal da correlação do preditor ativo correspondente com a atual regressão residual ( ), que é apenas lógica, pois deve ser positivo. Assim, também podemos escrever:βa∗XaTrλ∗

λ∗=2|XaTr|

Além disso, vemos que na etapa final (ajuste OLS, ), obtemos devido ao lema da ortogonalidade. O uso da mediana na implementação do MATLAB que encontrei no IMHO parece um esforço para 'calcular' os erros numéricos em todos os componentes ativos:kβ∗=(XTX)−1XTyλ∗=0

λ∗=median(2|XAkTrAk|),   ∀k>1

Para calcular o valor de quando não há componentes ativos (etapa ), pode-se usar o mesmo truque acima, mas no limite infinitesimal em que todos os pesos de regressão são zero e apenas o sinal do primeiro componente se torna assuntos ativos (na etapa ). Isso produz:λk=1bk=2

λ∗=2 sign(βb∗)XbTy
que é estritamente equivalente a

λ∗=max(2|XTy|), for k=1

porque (i) a mesma observação anterior sobre o sinal de pesos de regressão; (ii) o algoritmo LARS determina o próximo componente para entrar no conjunto ativo como aquele que é o mais correlacionado com o residual atual , que na etapa é simplesmente .bk=1y


2
Isso é algo que é mencionado em todos os trabalhos do LASSO, mas ninguém se importa em explicá-lo (não sei se é muito básico ou o quê, mas levei muito tempo para descobrir). Eu só quero enfatizar que, embora "equivalente", você só pode ir de uma formulação para outra (restrita a irrestrita e vice-versa) depois de ter resolvido o problema de otimização e ter os pesos ideais.
— Skd #

2
Eu sinto o mesmo! No que diz respeito à sua observação, sim, de fato. Aqui, isso se reflete no resíduo , que só pode ser calculado depois que os pesos de regressão ideais forem obtidos no final da etapa . rAkβkk
— Questão
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.