लॉजिस्टिक रिग्रेशन ऑप्टिमाइज़ेशन के लिए न्यूटन की विधि का उपयोग करना पुनरावृत्त पुन: भारित वर्गों को क्यों कहा जाता है?


19

लॉजिस्टिक रिग्रेशन ऑप्टिमाइज़ेशन के लिए न्यूटन की विधि का उपयोग करना पुनरावृत्त पुन: भारित वर्गों को क्यों कहा जाता है?

यह मुझे स्पष्ट नहीं लगता क्योंकि लॉजिस्टिक लॉस और कम से कम स्क्वायर लॉस पूरी तरह से अलग चीजें हैं।


3
मुझे नहीं लगता कि वे समान हैं। IRLS न्यूटन-रफसन के साथ देखे गए हेसियन के बजाय अपेक्षित हेसियन के साथ है।
दिमित्री वी। मास्टरोव

@ DimitriyV.Masterov धन्यवाद, क्या आप मुझे उम्मीद है कि हेसियन बनाम अवलोकन पर अधिक बता सकते हैं? इसके अलावा, आप इस स्पष्टीकरण के
Haitao Du

जवाबों:


25

सारांश: GLMs फिशर स्कोरिंग के माध्यम से फिट होते हैं , जो कि दिमित्री वी। मास्टरोव नोट्स के रूप में, न्यूटन-राफसन के साथ अपेक्षित हेस्सियन के बजाय है (यानी हम मनाया जानकारी के बजाय फिशर जानकारी के एक अनुमान का उपयोग करते हैं)। यदि हम विहित लिंक फ़ंक्शन का उपयोग कर रहे हैं, तो यह पता चला है कि मनाया गया हेसियन अपेक्षित हेसियन के बराबर है, इसलिए NR और फिशर स्कोरिंग उस मामले में समान हैं। किसी भी तरह से, हम देखेंगे कि फिशर स्कोरिंग वास्तव में एक भारित कम से कम वर्ग रैखिक मॉडल फिट कर रहा है, और इस से गुणांक का अनुमान है * अधिकतम लॉजिस्टिक प्रतिगमन संभावना की ओर। पहले से ही हल की गई समस्या के लिए लॉजिस्टिक रिग्रेशन को फिट करने के अलावा, हमें अपने लॉजिस्टिक रिग्रेशन के बारे में जानने के लिए अंतिम डब्ल्यूएलएस फिट पर रैखिक रिग्रेशन डायग्नोस्टिक्स का उपयोग करने में सक्षम होने का भी लाभ मिलता है।

मैं इसे लॉजिस्टिक रिग्रेशन पर केंद्रित रखने जा रहा हूं, लेकिन GLM में अधिकतम संभावना पर अधिक सामान्य परिप्रेक्ष्य के लिए, मैं इस अध्याय की धारा 15.3 की सिफारिश करता हूं, जो इसके माध्यम से जाता है और एक अधिक सामान्य सेटिंग में IRLS प्राप्त करता है (मुझे लगता है कि यह जॉन फॉक्स के एप्लाइड से है। प्रतिगमन विश्लेषण और सामान्यीकृत रैखिक मॉडल )।

अंत में टिप्पणियाँ देखें


संभावना और स्कोर फ़ंक्शन

हम फॉर्म कुछ पुनरावृति करके अपनी GLM फिटिंग करेंगे जहां लॉग संभावना है और लॉग संभावना की या तो देखी गई या अपेक्षित हेसियन होगी।

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

हमारा लिंक फ़ंक्शन एक फ़ंक्शन जो हमारे रैखिक भविष्यवक्ता के लिए सशर्त माध्य को , इसलिए माध्य के लिए हमारा मॉडल । चलो उलटा लिंक मतलब करने के लिए रेखीय भविष्यवक्ता मानचित्रण समारोह हो।gμi=E(yi|xi)g(μi)=xiTβh

एक लॉजिस्टिक रिग्रेशन के लिए हमारे पास स्वतंत्र टिप्पणियों के साथ एक बर्नौली संभावना है इसलिए व्युत्पन्न,

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

विहित लिंक का उपयोग करना

अब मान लेते हैं कि हम विहित लिंक फ़ंक्शन का उपयोग कर रहे हैं । फिर इसलिए का अर्थ है कि यह सरल करता है so इसके अलावा, अभी भी , gc=logitgc1(x):=hc(x)=11+exhc=hc(1hc)(;y)=एक्सटी(y - y )2

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

चलो तब हमारे पास और ध्यान दें कि इसमें अब कोई नहीं है, इसलिए (हम इसे एक फंक्शन के रूप में देख रहे हैं, इसलिए केवल रैंडम चीज़ ही है) । इस प्रकार हमने दिखाया है कि जब हम लॉजिस्टिक रिग्रेशन में विहित लिंक का उपयोग करते हैं तो फिशर स्कोरिंग न्यूटन-राफसन के बराबर होता है। इसके अलावा, आधार पर हमेशा सख्ती से नकारात्मक निश्चित होगा, हालाँकि संख्यात्मक रूप से अगर बहुत करीब हो जाता है

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 या तो हमारे पास से वज़न हो सकता है, जो ऋणात्मक अर्धवृत्ताकार बना सकता है और इसलिए कम्प्यूटेशनल रूप से एकवचन है।10H

अब कार्य प्रतिक्रिया बनाएं और ध्यान दें कि 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)β^z(m)X

इसमें जाँच 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 

और वे सहमत हैं।


गैर-विहित लिंक कार्य

अब यदि हम विहित लिंक का उपयोग नहीं कर रहे हैं, तो हमें का का सरलीकरण नहीं मिलता है, इसलिए बहुत अधिक जटिल हो जाता है, और इसलिए हम देखते हैं हमारे फिशर स्कोरिंग में का उपयोग करके एक ध्यान देने योग्य अंतर ।hh(1h)=1HE(H)

यहाँ बताया गया है कि यह कैसे होगा: हमने पहले से ही सामान्य काम किया है, इसलिए हेस्सियन मुख्य कठिनाई होगी। हमें

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

अपेक्षा की रैखिकता के माध्यम से हम सभी को प्राप्त करने की आवश्यकता होती है, अपने मॉडल के तहत की प्रत्येक घटना को प्रतिस्थापित करता है जो कि । सारांश में प्रत्येक शब्द में फॉर्म एक कारक होगा। लेकिन वास्तव में हमारे अनुकूलन को करने के लिए हमें प्रत्येक का अनुमान लगाना होगा , और चरण हमारे पास सबसे अच्छा अनुमान है। इसका मतलब है कि यह कम हो जाएगा 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(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)).
इसका मतलब है कि हम साथ J
Jjk=ixijxikh(xiTb)2h(xiTb)(1h(xiTb)).

अब और ध्यान दें कि कैसे विहित लिंक के पिछले अनुभाग से से को कम करता है । यह हमें लिखने देता है को छोड़कर यह अब है के बजाय जरूरी किया जा रहा है , जो अपने आप तो यह न्यूटन- Raphson से अलग कर सकते हैं। सभी के लिए तो संख्यात्मक मुद्दों से अलग निश्चित नकारात्मक होगा।

W=diag(h(x1Tb)2h(x1Tb)(1h(x1Tb)),,h(xnTb)2h(xnTb)(1h(xnTb)))
hc=hc(1hc)WW
J=XTWX
E^(H)Hi Wii>0J

हमारे पास इसलिए हमारी नई कार्य प्रतिक्रिया को साथ , हमारे पास ।

bj=ixijh(xiTb)h(xiTb)(1h(xiTb))(yih(xiTb))
z=D1(yy^)D=diag(h(x1Tb),,h(xnTb))=XTWz

हम सभी मिलकर तो यह अभी भी WLS regressions का एक क्रम है सिवाय इसके कि अब जरूरी नहीं कि न्यूटन-राफसन हो।

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

मैंने इसे न्यूटन-रफसन के संबंध पर जोर देने के लिए इस तरह लिखा है, लेकिन अक्सर लोग अपडेट को कारक बनाएंगे ताकि प्रत्येक नया बिंदु स्वयं WLS समाधान हो, बजाय एक WLS समाधान जोड़े वर्तमान बिंदु । यदि हम ऐसा करना चाहते हैं, तो हम निम्नलिखित कर सकते हैं: इसलिए यदि हम इस तरह से जा रहे हैं तो आप कार्य प्रतिक्रिया देखेंगे फॉर्म , लेकिन यह एक ही बात है।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(yy^(m))

आइए पुष्टि करते हैं कि यह उसी सिम्युलेटेड डेटा पर पहले की तरह एक प्रोबेट रिग्रेशन करने के लिए इसका उपयोग करके काम करता है (और यह कैनोनिकल लिंक नहीं है, इसलिए हमें 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 

और फिर से दोनों सहमत हैं।


अभिसमय पर टिप्पणियाँ

अंत में, अभिसरण पर कुछ त्वरित टिप्पणियां (मैं इसे संक्षिप्त रखूंगा क्योंकि यह वास्तव में लंबा हो रहा है और मैं अनुकूलन में कोई विशेषज्ञ नहीं हूं)। भले ही सैद्धांतिक रूप से प्रत्येक नकारात्मक निश्चित है, खराब प्रारंभिक परिस्थितियां अभी भी इस एल्गोरिदम को परिवर्तित करने से रोक सकती हैं। ऊपर दिए गए प्रोबिट उदाहरण में, इस में परिणाम के लिए प्रारंभिक स्थितियों को बदलना , और यह भी एक संदिग्ध प्रारंभिक स्थिति की तरह नहीं दिखता है। यदि आप उस आरंभ और इन सिम्युलेटेड डेटा के साथ IRLS प्रक्रिया के माध्यम से कदम बढ़ाते हैं, तो दूसरी बार लूप के माध्यम से कुछ जो कि ठीक तक गोल होते हैं और इसलिए वजन अपरिभाषित हो जाते हैं। यदि हम एल्गोरिथ्म में विहित लिंक का उपयोग कर रहे हैं, तो मैंने दिया कि हम कभी भी विभाजित नहीं होंगेJ(m)b.init=rep(1,p)y^i1y^i(1y^i)अपरिभाषित भार प्राप्त करने के लिए, लेकिन अगर हमें ऐसी स्थिति मिली है, जहां कुछ या करीब पहुंच रहे हैं , जैसे कि पूर्ण पृथक्करण के मामले में, तो हम अभी भी गैर-अभिसरण प्राप्त करेंगे क्योंकि ग्रेडिएंट मर जाता है हमारे बिना कुछ भी पहुंचे ।y^i01


5
+1। मुझे पसंद है कि आपके उत्तर अक्सर कितने विस्तृत होते हैं।
अमीबा का कहना है कि मोनिका

आपने कहा "इस से गुणांक का अनुमान अधिकतम लॉजिस्टिक प्रतिगमन संभावना पर निर्भर करता है।" क्या यह जरूरी है, किसी भी प्रारंभिक मूल्यों से?
मार्क एल। स्टोन

2
@ MarkL.Stone आह, मैं वहाँ बहुत अधिक आकस्मिक हो रहा था, अनुकूलन लोगों को अपमानित करने का मतलब नहीं था :) मैं कुछ और विवरण
जोड़ूंगा

आपके द्वारा पोस्ट किए गए लिंक को देखने का कोई भी मौका ? लगता है कि वीडियो मशीन सीखने के दृष्टिकोण से बात कर रहा है, बस हेसन उम्मीद के बारे में बात किए बिना, लॉजिस्टिक नुकसान का अनुकूलन करें?
हायतौ डू

1
@ hxd1011 उस पीडीएफ में मैं से जुड़ा (फिर से लिंक: sagepub.com/sites/default/files/upm-binaries/… ) पृष्ठ 24 पर यह लेखक सिद्धांत में जाता है और बताता है कि क्या वास्तव में लिंक फ़ंक्शन को विहित बनाता है। मैंने पाया कि जब यह पहली बार आया था, तो PDF बेहद मददगार था (हालाँकि मुझे इसे प्राप्त करने में थोड़ा समय लगा)।
जेएलडी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.