Por que o método de Newton para otimização da regressão logística é chamado de mínimos quadrados re-ponderados iterativos?


18

Por que o método de Newton para otimização da regressão logística é chamado de mínimos quadrados re-ponderados iterativos?

Não me parece claro porque a perda logística e a perda de mínimos quadrados são coisas completamente diferentes.


3
Eu não acho que eles são iguais. O IRLS é Newton-Raphson com o Hessian esperado, em vez do Hessian observado.
Dimitriy V. Masterov

@ DimitriyV.Masterov obrigado, você poderia me dizer mais sobre o esperado Hessian vs Observed? Além disso, o que você acha dessa explicação #
Haitao Du

Respostas:


24

Resumo: GLMs são adequados através da pontuação de Fisher , que, como Dimitriy V. Masterov observa, é Newton-Raphson com o Hessian esperado (em vez disso, usamos uma estimativa das informações de Fisher em vez das informações observadas). Se estivermos usando a função de ligação canônica, verifica-se que o Hessian observado é igual ao Hessian esperado, portanto a pontuação NR e Fisher são as mesmas nesse caso. De qualquer forma, veremos que a pontuação de Fisher está realmente ajustando um modelo linear de mínimos quadrados ponderados, e as estimativas de coeficiente desse valor convergem * no máximo da probabilidade de regressão logística. Além de reduzir o ajuste de uma regressão logística a um problema já resolvido, também obtemos o benefício de poder usar diagnósticos de regressão linear no ajuste final do WLS para aprender sobre nossa regressão logística.

Vou manter isso focado na regressão logística, mas para uma perspectiva mais geral sobre a probabilidade máxima nos GLMs, recomendo a seção 15.3 deste capítulo, que passa por isso e deriva o IRLS em um cenário mais geral (acho que é de John Fox, Applied Análise de regressão e modelos lineares generalizados ).

ver comentários no final


A função de probabilidade e pontuação

Ajustaremos nosso GLM iterando algo da forma onde é a probabilidade do log e será o Hessiano observado ou esperado da probabilidade do log.J m

b(m+1)=b(m)J(m)1(b(m))
Jm

Nossa função de link é uma função que mapeia a média condicional para nosso preditor linear; portanto, nosso modelo para a média é . Seja a função de link inverso que mapeia o preditor linear para a média.μ i = E ( y i | x i ) g ( μ i ) = x T i β hgμi=E(yi|xi)g(μi)=xiTβh

Para uma regressão logística, temos uma probabilidade de Bernoulli com observações independentes so Tomando derivadas,

(b;y)=i=1nyilogh(xiTb)+(1yi)log(1h(xiTb)).
= n i=1xijh(x T i b)( y i
bj=i=1nyih(xiTb)h(xiTb)xij1yi1h(xiTb)h(xiTb)xij
=ixijh(x T i b)
=i=1nxijh(xiTb)(yih(xiTb)1yi1h(xiTb))
=ixijh(xiTb)h(xiTb)(1h(xiTb))(yih(xiTb)).

Usando o link canônico

Agora vamos supor que estamos usando a função de link canônico . Então para que que significa que isso simplifica tão Além disso, ainda usando , g - 1 c ( x ) : = h c ( x ) = 1gc=logit hc =hc(1-hc)gc1(x):=hc(x)=11+exhc=hc(1hc)l de(b;y)=Xt(y - y ). hc2

bj=ixij(yihc(xiTb))
(b;y)=XT(yy^).
hc
2bkbj=ixijbkhc(xiTb)=ixijxik[hc(xiTb)(1hc(xiTb))].

Seja Então temos e observamos como isso não tem mais , então (estamos vendo isso como uma função de portanto a única coisa aleatória é ) . Assim, mostramos que a pontuação de Fisher é equivalente a Newton-Raphson quando usamos o link canônico na regressão logística. Também em virtude de sempre será estritamente negativo definido, embora numericamente se chegar muito perto deH=- X T WX Y i E(H)=Hby y i(0,1)- X T WX Y i 010H

W=diag(hc(x1Tb)(1hc(x1Tb)),,hc(xnTb)(1hc(xnTb)))=diag(y^1(1y^1),,y^n(1y^n)).
H=XTWX
yiE(H)=Hbyy^i(0,1) XTWXy^i0 ou , podemos ter pesos redondos a que pode tornar negativo semidefinido e, portanto, computacionalmente singular.10H

Agora crie a resposta de trabalho e observe que l de = X t ( y - y ) = X T W z .z=W1(yy^)

=XT(yy^)=XTWz.

No conjunto, isso significa que podemos otimizar a probabilidade do log iterando e é exatamente para uma mínimos quadrados ponderados regressão de em . ( X T W ( m ) X ) - 1 X T W ( m ) Z ( m ) β z ( m ) X

b(m+1)=b(m)+(XTW(m)X)1XTW(m)z(m)
(XTW(m)X)1XTW(m)z(m)β^z(m)X

Verificando isso em R:

set.seed(123)
p <- 5
n <- 500
x <- matrix(rnorm(n * p), n, p)
betas <- runif(p, -2, 2)
hc <- function(x) 1 /(1 + exp(-x)) # inverse canonical link
p.true <- hc(x %*% betas)
y <- rbinom(n, 1, p.true)

# fitting with our procedure
my_IRLS_canonical <- function(x, y, b.init, hc, tol=1e-8) {
  change <- Inf
  b.old <- b.init
  while(change > tol) {
    eta <- x %*% b.old  # linear predictor
    y.hat <- hc(eta)
    h.prime_eta <- y.hat * (1 - y.hat)
    z <- (y - y.hat) / h.prime_eta

    b.new <- b.old + lm(z ~ x - 1, weights = h.prime_eta)$coef  # WLS regression
    change <- sqrt(sum((b.new - b.old)^2))
    b.old <- b.new
  }
  b.new
}

my_IRLS_canonical(x, y, rep(1,p), hc)
# x1         x2         x3         x4         x5 
# -1.1149687  2.1897992  1.0271298  0.8702975 -1.2074851

glm(y ~ x - 1, family=binomial())$coef
# x1         x2         x3         x4         x5 
# -1.1149687  2.1897992  1.0271298  0.8702975 -1.2074851 

e eles concordam.


Funções de link não canônico

Agora, se não estamos usando o link canônico, não obtemos a simplificação de in para que se torne muito mais complicado e, portanto, vemos uma diferença notável usando em nossa pontuação de Fisher.hh(1h)=1HE(H)

Aqui está como vai ser: já elaboramos o modo que o Hessian será a principal dificuldade. Precisamos de

2bkbj=ixijbkh(xiTb)(yih(xiTb)1yi1h(xiTb))
=ixijxik[h(xiTb)(yih(xiTb)1yi1h(xiTb))h(xiTb)2(yih(xiTb)2+1yi(1h(xiTb))2)]

Através da linearidade da expectativa, tudo o que precisamos fazer para obter é substituir cada ocorrência de por sua média no modelo, que é . Cada termo no somatório conterá, portanto, um fator da forma Mas para realmente fazer nossa otimização, precisamos estimar cada , e na etapa é o melhor palpite que temos. Isso significa que isso reduzirá a E(H)yiμi=h(xiTβ)

h(xiTb)(h(xiTβ)h(xiTb)1h(xiTβ)1h(xiTb))h(xiTb)2(h(xiTβ)h(xiTb)2+1h(xiTβ)(1h(xiTb))2).
βm b(m)
h(xEuTb)(h(xEuTb)h(xEuTb)-1-h(xEuTb)1-h(xEuTb))-h(xEuTb)2(h(xEuTb)h(xEuTb)2+1-h(xEuTb)(1-h(xEuTb))2)
=-h(xEuTb)2(1h(xEuTb)+11-h(xEuTb))
=-h(xEuTb)2h(xEuTb)(1-h(xEuTb)).
Isso significa que usaremos com J
Jjk=-EuxEujxEukh(xEuTb)2h(xEuTb)(1-h(xEuTb)).

Agora, deixe e observe como no link canônico reduz para da seção anterior. Isso nos permite escrever exceto que agora é vez de ser necessariamente o próprio , portanto, isso pode diferir de Newton-Raphson. Para todos os portanto, além das questões numéricas, será definido como negativo.h

W=diag(h(x1Tb)2h(x1Tb)(1-h(x1Tb)),...,h(xnTb)2h(xnTb)(1-h(xnTb)))
hc=hc(1-hc)WW
J=-XTWX
E^(H)HEu WEuEu>0 0J

Temos permitindo que nossa nova resposta de trabalho seja com , temos .

bj=EuxEujh(xEuTb)h(xEuTb)(1-h(xEuTb))(yEu-h(xEuTb))
z=D-1(y-y^)D=diag(h(x1Tb),...,h(xnTb))=XTWz

Todos juntos estamos iterando portanto, essa ainda é uma sequência de regressões WLS, exceto que agora não é necessariamente Newton-Raphson.

b(m+1)=b(m)+(XTW(m)X)-1XTW(m)z(m)

Eu escrevi desta maneira para enfatizar a conexão com Newton-Raphson, mas frequentemente as pessoas fatoram as atualizações para que cada novo ponto seja a solução WLS, em vez de uma solução WLS adicionada até o ponto atual . Se quisermos fazer isso, podemos fazer o seguinte: portanto, se continuarmos assim, você verá a resposta de trabalho assuma a forma , mas é a mesma coisa.b(m+1)b(m)

b(m+1)=b(m)+(XTW(m)X)-1XTW(m)z(m)
=(XTW(m)X)-1(XTW(m)Xb(m)+XTW(m)z(m))
=(XTW(m)X)-1XTW(m)(Xb(m)+z(m))
η(m)+D(m)-1(y-y^(m))

Vamos confirmar que isso funciona usando-o para executar uma regressão probit nos mesmos dados simulados de antes (e esse não é o link canônico, por isso precisamos dessa forma mais geral de IRLS).

my_IRLS_general <- function(x, y, b.init, h, h.prime, tol=1e-8) {
  change <- Inf
  b.old <- b.init
  while(change > tol) {
    eta <- x %*% b.old  # linear predictor
    y.hat <- h(eta)
    h.prime_eta <- h.prime(eta)
    w_star <- h.prime_eta^2 / (y.hat * (1 - y.hat))
    z_star <- (y - y.hat) / h.prime_eta

    b.new <- b.old + lm(z_star ~ x - 1, weights = w_star)$coef  # WLS

    change <- sqrt(sum((b.new - b.old)^2))
    b.old <- b.new
  }
  b.new
}

# probit inverse link and derivative
h_probit <- function(x) pnorm(x, 0, 1)
h.prime_probit <- function(x) dnorm(x, 0, 1)

my_IRLS_general(x, y, rep(0,p), h_probit, h.prime_probit)
# x1         x2         x3         x4         x5 
# -0.6456508  1.2520266  0.5820856  0.4982678 -0.6768585 

glm(y~x-1, family=binomial(link="probit"))$coef
# x1         x2         x3         x4         x5 
# -0.6456490  1.2520241  0.5820835  0.4982663 -0.6768581 

e novamente os dois concordam.


Comentários sobre convergência

Por fim, alguns comentários rápidos sobre convergência (vou ser breve, pois isso está ficando muito longo e não sou especialista em otimização). Embora, teoricamente, cada seja definido negativamente, más condições iniciais ainda podem impedir a convergência desse algoritmo. No exemplo probit acima, alterar as condições iniciais para resulta nisso, e isso nem parece uma condição inicial suspeita. Se você percorrer o procedimento IRLS com essa inicialização e esses dados simulados, pela segunda vez no loop, há alguns que arredondam para exatamente e os pesos se tornam indefinidos. Se estivermos usando o link canônico no algoritmo que forneci, nunca estaremos dividindo pory i 1 y i ( 1 - y i ) y i 0 1J(m)b.init=rep(1,p)y^Eu1y^Eu(1-y^Eu)para obter pesos indefinidos, mas se tivermos uma situação em que alguns estão se aproximando de ou , como no caso de separação perfeita, ainda obteremos não convergência, pois o gradiente morre sem que alcancemos nada .y^Eu0 01


5
+1. Eu amo o quão detalhadas são suas respostas.
Ameba diz Reinstate Monica

Você declarou que "as estimativas do coeficiente disso convergem no máximo da probabilidade de regressão logística". É necessariamente assim, a partir de quaisquer valores iniciais?
Mark L. Stone

2
@ MarkL.Stone ah eu estava sendo muito casual lá, não tive a intenção de ofender as pessoas otimização :) Vou acrescentar mais alguns detalhes (e gostaria de receber seus pensamentos sobre eles quando eu faço)
JLD

alguma chance que você assistiu o link que eu postei? Parece que o vídeo está falando da perspectiva do aprendizado de máquina, apenas otimiza a perda logística, sem falar da expectativa de Hessain?
Haitao Du

1
@ hxd1011 naquele pdf ao qual vinculei (link novamente: sagepub.com/sites/default/files/upm-binaries/… ) na página 24, o autor analisa a teoria e explica o que exatamente faz com que um link funcione canonicamente. Achei o pdf extremamente útil quando me deparei com isso (embora demorei um tempo para concluir).
JLD
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.