A normalização de L2 da regressão de crista pune a interceptação? Se não, como resolver sua derivada?


8

Eu sou novo no ML. Fui informado de que a normalização L2 da regressão de crista não pune a interceptação . Como na função de custo: O termo de normalização de L2 apenas soma de a , não de a . Eu também li que:θ J ( θ ) = 1θ0 λ n j = 1 θ 2 j j=1nj=0n

θJ(θ)=12i=1m(hθ(x(i))y(i))2+λj=1nθj2
λj=1nθj2j=1nj=0n

na maioria dos casos (todos os casos?), é melhor você não regularizar , pois é improvável que você reduza a e diminua o espaço das funções representáveisθ0

que vem da última resposta do usuário48956 de Por que um modelo de regressão linear com interceptação zero prevê melhor do que um modelo com interceptação?

Estou confuso sobre como resolver a derivada da função de custo, pois: onde , e .Θ

θJ(θ)=12XθYTXθY+λ(θ)Tθ,
θ= [ θ 0 θ 1 . . . θ n ] X= [ 1 X ( 1 ) 1 X ( 1 ) 2 . . . X ( 1 ) n 1 X ( 2 ) 1 X ( 2 ) 2 . .θ=[θ1θ2...θn]θ=[θ0θ1...θn]X=[1X1(1)X2(1)...Xn(1)1X1(2)X2(2)...Xn(2)...1X1(m)X2(m)...Xn(m)]

Θθθθ e são diferentes. Portanto, eles não podem ser misturados do meu ponto de vista. E a derivada é sobre, que contém . Após pesquisar no Google e visualizar as perguntas neste fórum, ainda não há como obter a solução: Alguém pode me dar uma pista? Agradeço antecipadamente por sua ajuda!θθ Θ=(XtX+λ*I) - 1 XTYθ

θ=(XTX+λI)1XTY

No entanto, acho que existem duas correções rápidas para esse problema:

Primeiro de tudo, nós não adicionar a coluna toda 1 a . Ou seja, . Ou seja, não incluímos a interceptação no modelo: Acredito que esse método seja adotado no livro clássico Machine Learning in Action, de Peter Harrington, que estou lendo atualmente. Na implementação da regressão de crista (P166 e P177, se você também possui o livro), todo o passado para a regressão de crista não possui a coluna todos 1.X = [X y= θ 1 X 1 + θ 2 X 2 +. . . + θ n X n . XX=[X1(1)X2(1)...Xn(1)X1(2)X2(2)...Xn(2)...X1(m)X2(m)...Xn(m)]

y=θ1X1+θ2X2+...+θnXn.
X

Em segundo lugar, a interceptação também está sendo punida na realidade.

A regressão logística do scikit regulariza a interceptação por padrão.

que mais uma vez vem da última resposta do usuário48956 de Por que um modelo de regressão linear de interceptação zero prevê melhor do que um modelo com interceptação?

Ambas as duas correções rápidas levam à solução

θ=(XTX+λI)1XTY.

Então, a derivada da normalização L2 da regressão de crista pode realmente ser resolvida ou apenas resolvida por soluções rápidas?


2
Consulte também stats.stackexchange.com/questions/86991 . A resposta para o seu Q é que tudo pode ser resolvido: simplesmente decomponha o primeiro termo em theta_0 e theta_prime. Você pode resolver imediatamente o theta_0 ideal: é a média geral. Levando à sua "correção rápida nº 1" como a solução adequada para theta_prime nos dados subtraídos à média.
ameba

3
A segunda solução é considerada universalmente incorreta. A penalização da interceptação é um dos poucos erros de design no sklearn.
Matthew Drury

1
@ MatthewDrury Acho que mencionei um truque para "consertar" isso e fiquei triste. Mas quero dizer ao OP que o hack é uma grande interceptação, como 1e9. Então a regularização tem pouco efeito nela.
Haitao Du

1
Sim, você se lembra corretamente, toda vez que faço isso, morro um pouco por dentro.
Matthew Drury

@amoeba Muito obrigado! Eu resolvo a solução em minha resposta sob sua orientação. Você pode me ajudar a verificar? Além disso, descubro que o Machine Learning em Ação subtrai de e não adiciona a coluna 1 a que são os dois caminhos a seguir. No entanto, ao fazer a padronização de recursos, ele divide por variação e não por desvio padrão! Fiz outra pergunta para isso: não por desvio padrão Você pode me ajudar novamente nessa questão? Obrigado! X X - μYXXμ
Naomi

Respostas:


3

Os elementos de aprendizagem estatística de Hastie et al. ressalta no P63 que:

a interceptação foi deixada de fora do termo da penalidadeθ0

Além disso, diz:

As soluções de crista não são equivalentes na escala das entradas e, portanto, normalmente as padronizamos antes de resolver (3.41) (3.41 é a função de custo). Pode ser mostrado (Exercício 3.5) que a solução para (3.41) pode ser separada em duas partes, após reparametrização usando entradas centralizadas: cada é substituído por Nós estimamos por Os coeficientes restantes são estimados por uma regressão de crista sem interceptar, usando o centralizado . A partir de agora assumimos que essa centralização foi realizada, de modo que a matriz de entrada tenha X ( i ) j - ¯ x j . θ 0 ¯ y = 1Xj(i)Xj(i)xj¯.θ0y¯=1mi=1my(i)Xj(i)Xn(em vez de ) colunas.n+1

Embora eu me pergunte por que os Elementos do aprendizado estatístico sugerem primeiro a padronização de recursos e, em seguida, apenas a centralização de recursos é realizada. Talvez concorde com o Exercício 3.5, que usa apenas a centralização de recursos.

De qualquer forma, acredito que é correto aplicar a padronização do z-score aos recursos. Então, agora tento resolver a derivada da função de custo da regressão de cume, seguindo a sugestão da ameba do comentador acima. Muito obrigado a ele ou ela!

Primeiro, a função de custo: que é a média do atributo e é o desvio padrão de . Para torná-lo mais curto: Agora, primeiro calculamos o valor de

θJ(θ)=12i=1m(yiθ0X1(i)X1¯σ1θ1X2(i)X2¯σ2θ2...Xn(i)Xn¯σnθn)2+λj=1nθj2,
Xj¯XjσjXj
θJ(θ)=12i=1m(yiθ0j=1nXj(i)Xj¯σjθj)2+λj=1nθj2
θ0na expressão acima, definindo a derivada em relação a igual a zero. Como não possui , obtemos: Ou seja: Como (porque é o média do atributo ), agora temosθ0λj=1nθj2θ0
θ0J(θ)=i=1m(yiθ0j=1nXj(i)Xj¯σjθj)=0
i=1m(yiθ0)i=1mj=1nXj(i)Xj¯σjθj=0
i=1mj=1nXj(i)Xj¯σjθj=0
Xj¯Xj
i=1m(yiθ0)=0,
obviamente:
θ0=y¯=1mi=1my(i)

Portanto, a interceptação da regressão de crista padronizada de recurso é sempre . Portanto, se primeiro centralizarmos subtraindo sua média (get para o exemplo de dados ), não incluiremos todas as 1 colunas em e, em seguida, apresentaremos padronização em (get para do exemplo de dados ) , a função de custo será simplesmente Isso é y¯Y(yi)iXX(Xj(i))Xji

θJ(θ)=12i=1m((yi)j=1n(Xj(i))θj)2+λj=1nθj2
θJ(θ)=12XθYTXθY+λ(θ)Tθ,
onde , não tem toda uma coluna e padronizada de , é centrada em relação a . Agora (sem ) pode ser resolvido com: Para recursos padronizados, o modelo linear será em que θ=[θ1θ2...θn]XXYYθθ0
θ=((X)TX+λI)1(X)TY
y=y¯+θ1X1+θ2X2+...+θnXn(1),
Xi=XiXi¯σi(2)
Se usarmos (2) em (1) como sugerido na resposta de Plasty Grove . Portanto, para dados de entrada de origem, o modelo linear será Isso é É por isso que, depois de resolvermos os coeficientes de recursos padronizados, retornar dados de entrada de coeficientes de origem (não padronizados recursos), devemos retornar
y=y¯+X1X1¯σ1θ1+X2X2¯σ2θ2+...+XnXn¯σnθn
θi/σi
y=θ1σ1X1+θ2σ2X2+...+θnσnXn+y¯X1¯σ1θ1X2¯σ2θ2...Xn¯σnθn
θi/σi

Belo exemplo detalhado. Alguns comentários: você comenta o efeito de centralizar , mas para omitir um termo de interceptação e obter estimativas corretas, é preciso centralizar todos os recursos também. No entanto, eu concordo que este exemplo concorda com a lógica de não penalizar o termo de interceptação (para obter inferência consistente). Segundo, a intuição deve servir para algo aqui. Todos nós aceitamos que prever por sua média é semelhante a um modelo de parâmetro 0, de modo a obter o efeito aditivo de no modelo, não devemos penalizar o termo que simplesmente pega o efeito médio-Y na presença de . X Y X XYXYXX
21418 AdamO em
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.