Почему использование метода Ньютона для оптимизации логистической регрессии называется итеративным пересчитанным методом наименьших квадратов?


19

Почему использование метода Ньютона для оптимизации логистической регрессии называется итеративным пересчитанным методом наименьших квадратов?

Это кажется мне неясным, потому что логистическая потеря и потеря наименьших квадратов - совершенно разные вещи.


3
Я не думаю, что они одинаковы. IRLS - это Ньютон-Рафсон с ожидаемым гессианом, а не наблюдаемым гессианом.
Дмитрий Владимирович Мастеров

@ DimitriyV.Masterov спасибо, не могли бы вы рассказать мне больше об ожидаемом гессиане против наблюдаемого? Кроме того, что вы думаете об этом объяснении
Haitao Du

Ответы:


25

Краткое описание: GLM подбираются с помощью оценки Фишера, которая, как отмечает Дмитрий В. Мастеров, является Ньютоном-Рафсоном с ожидаемым гессианом (т.е. мы используем оценку информации Фишера вместо наблюдаемой информации). Если мы используем каноническую функцию связи, то получается, что наблюдаемый гессиан равен ожидаемому гессиану, поэтому в этом случае оценка NR и оценка Фишера одинаковы. В любом случае, мы увидим, что оценка Фишера на самом деле соответствует линейной модели взвешенных наименьших квадратов, и оценки коэффициентов из этого сходятся * на максимуме вероятности логистической регрессии. Помимо снижения соответствия логистической регрессии до уже решенной проблемы, мы также получаем выгоду от возможности использовать линейную регрессионную диагностику для окончательного соответствия WLS, чтобы узнать о нашей логистической регрессии.

Я буду держать это сосредоточено на логистической регрессии, но и для более общей точки зрения по максимальной вероятности в GLMS я рекомендую раздел 15.3 этой главы , которая проходит через это и получает IRLS в более общей постановке (я думаю , что это от Джона Фокс прикладного Регрессионный анализ и обобщенные линейные модели .

* См. Комментарии в конце


Функция вероятности и оценки

Мы подгоним наш GLM, итерируя что-то в форме

б(м+1)знак равноб(м)-J(м)-1(б(м))
где - логарифмическая вероятность, а Jм будет либо наблюдаемый или ожидаемый гессиан вероятности бревна.

Наша функция связи - это функция которая отображает условное среднее значение μ i = E ( y i | x i ) на наш линейный предиктор, поэтому нашей моделью для среднего значения является g ( μ i ) = x T i β . Пусть h будет функцией обратной связи, отображающей линейный предиктор в среднее значение.граммμязнак равноЕ(Yя|Икся)грамм(μя)знак равноИксяTβчас

Для логистической регрессии мы имеем вероятность Бернулли с независимыми наблюдениями, поэтому Принимая производные,

(б;Y)знак равноΣязнак равно1NYяжурналчас(ИксяTб)+(1-Yя)журнал(1-час(ИксяTб)),
= n i=1xijh(x T i b)( y i
бJзнак равноΣязнак равно1NYячас(ИксяTб)час'(ИксяTб)ИксяJ-1-Yя1-час(ИксяTб)час'(ИксяTб)ИксяJ
=ixijh(x T i b)
знак равноΣязнак равно1NИксяJчас'(ИксяTб)(Yячас(ИксяTб)-1-Yя1-час(ИксяTб))
знак равноΣяИксяJчас'(ИксяTб)час(ИксяTб)(1-час(ИксяTб))(Yя-час(ИксяTб)),

Используя каноническую ссылку

Теперь давайте предположим, что мы используем каноническую функцию связи . Тогда g - 1 c ( x ) : = h c ( x ) = 1gc=logit поэтомуhc =hc(1-hc),что означает, что это упрощается до gc1(x):=hc(x)=11+exhc=hc(1hc) так л(б;у)=ХТ(у - у ). Кроме того, все еще используяhc, 2

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

Пусть Тогда у нас есть H=- X T WX и обратите внимание, чтов нем большенет y i , поэтомуE(H)=H(мы рассматриваем это как функцию отb,поэтому единственная случайная вещь - этоyсам). Таким образом, мы показали, что оценка Фишера эквивалентна Ньютону-Рафсону, когда мы используем каноническую ссылку в логистической регрессии. Кромев силу

W=diag(hc(x1Tb)(1hc(x1Tb)),,hc(xnTb)(1hc(xnTb)))=diag(y^1(1y^1),,y^n(1y^n)).
H=XTWX
yiE(H)=HbY-XTWXвсегда будет строго отрицательно определена, хотя численноесли у яслишком близко к0или1то мы можем иметь вес округлить до0которые могут сделатьHполуотрицательно иследовательновычислительном единственное число.y^i(0,1) XTWXy^i010H

Теперь создадим рабочую ответ и заметим , что л = X Т ( у - у ) = X T W г .z=W1(yy^)

=XT(yy^)=XTWz.

b(m+1)=b(m)+(XTW(m)X)1XTW(m)z(m)
(XTW(m)X)1XTW(m)z(m)β^ for a weighted least squares regression of z(m) on X.

Checking this in 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 

and they agree.


Non-canonical link functions

Now if we're not using the canonical link we don't get the simplification of hh(1h)=1 in so H becomes much more complicated, and we therefore see a noticeable difference by using E(H) in our Fisher scoring.

Here's how this will go: we already worked out the general so the Hessian will be the main difficulty. We need

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

Via the linearity of expectation all we need to do to get E(H) is replace each occurrence of yi with its mean under our model which is μi=h(xiTβ). Each term in the summand will therefore contain a factor of the form

h(xiTb)(h(xiTβ)h(xiTb)1h(xiTβ)1h(xiTb))h(xiTb)2(h(xiTβ)h(xiTb)2+1h(xiTβ)(1h(xiTb))2).
But to actually do our optimization we'll need to estimate each β, and at step m b(m) is the best guess we have. This means that this will reduce to
h(xiTb)(h(xiTb)h(xiTb)1h(xiTb)1h(xiTb))h(xiTb)2(h(xiTb)h(xiTb)2+1h(xiTb)(1h(xiTb))2)
=h(xiTb)2(1h(xiTb)+11h(xiTb))
=h(xiTb)2h(xiTb)(1h(xiTb)).
This means we will use J with
Jjk=ixijxikh(xiTb)2h(xiTb)(1h(xiTb)).

Now let

W=diag(h(x1Tb)2h(x1Tb)(1h(x1Tb)),,h(xnTb)2h(xnTb)(1h(xnTb)))
and note how under the canonical link hc=hc(1hc) reduces W to W from the previous section. This lets us write
J=XTWX
except this is now E^(H) rather than necessarily being H itself, so this can differ from Newton-Raphson. For all i Wii>0 so aside from numerical issues J will be negative definite.

We have

bj=ixijh(xiTb)h(xiTb)(1h(xiTb))(yih(xiTb))
so letting our new working response be z=D1(yy^) with D=diag(h(x1Tb),,h(xnTb)), we have =XTWz.

All together we are iterating

b(m+1)=b(m)+(XTW(m)X)1XTW(m)z(m)
so this is still a sequence of WLS regressions except now it's not necessarily Newton-Raphson.

I've written it out this way to emphasize the connection to Newton-Raphson, but frequently people will factor the updates so that each new point b(m+1) is itself the WLS solution, rather than a WLS solution added to the current point b(m). If we wanted to do this, we can do the following:

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))
so if we're going this way you'll see the working response take the form η(m)+D(m)1(yy^(m)), but it's the same thing.

Let's confirm that this works by using it to perform a probit regression on the same simulated data as before (and this is not the canonical link, so we need this more general form of 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 

and again the two agree.


Comments on convergence

Finally, a few quick comments on convergence (I'll keep this brief as this is getting really long and I'm no expert at optimization). Even though theoretically each J(m) is negative definite, bad initial conditions can still prevent this algorithm from converging. In the probit example above, changing the initial conditions to b.init=rep(1,p) results in this, and that doesn't even look like a suspicious initial condition. If you step through the IRLS procedure with that initialization and these simulated data, by the second time through the loop there are some y^i that round to exactly 1 and so the weights become undefined. If we're using the canonical link in the algorithm I gave we won't ever be dividing by y^i(1y^i) to get undefined weights, but if we've got a situation where some y^i are approaching 0 or 1, such as in the case of perfect separation, then we'll still get non-convergence as the gradient dies without us reaching anything.


5
+1. Мне нравится, насколько подробны ваши ответы.
говорит амеба: восстанови Монику

You stated "the coefficient estimates from this converge on a maximum of the logistic regression likelihood." Is that necessarily so, from any initial values?
Mark L. Stone

2
@ MarkL. Камень ах, я был слишком небрежен, я не хотел обидеть людей, занимающихся оптимизацией :) Я добавлю еще несколько деталей (и буду благодарен за ваши мысли о них, когда я это сделаю)
января

any chance you watched the link I posted? Seems that video is talking from machine learning perspective, just optimize logistic loss, without talking about Hessain expectation?
Haitao Du

1
@ hxd1011 в этом pdf-файле, на который я ссылался (ссылка снова: sagepub.com/sites/default/files/upm-binaries/… ) на стр. 24, автор углубляется в теорию и объясняет, что именно делает функцию ссылки канонической. Я нашел этот pdf чрезвычайно полезным, когда впервые столкнулся с этим (хотя мне потребовалось некоторое время, чтобы пройти через него).
июля
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.