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 β1t 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?

Quantuple
fonte

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(β,λ)=yXβ22+λβ1=i=1N(yij=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(β,λ)=2i=1NXia(yij=1qβjXij)+λ 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 :

λ=2i=1NXia(yij=1qβjXij)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:βaXaTrλ

λ=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

Quantuple
fonte
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