लॉजिस्टिक रिग्रेशन के लिए कौन सा नुकसान कार्य सही है?


31

मैंने लॉजिस्टिक रिग्रेशन के लिए लॉस फ़ंक्शन के दो संस्करणों के बारे में पढ़ा, उनमें से कौन सही है और क्यों?

  1. से मशीन लर्निंग , झोउ ZH (चीनी में), के साथ :β=(w,b) and βTx=wTx+b

    (1)l(β)=i=1m(yiβTxi+ln(1+eβTxi))

  2. मेरे कॉलेज के पाठ्यक्रम से, :zi=yif(xi)=yi(wTxi+b)

    (2)L(zi)=log(1+ezi)


मुझे पता है कि पहला एक सभी नमूनों का संचय है और दूसरा एक एकल नमूने के लिए है, लेकिन मैं दो नुकसान कार्यों के रूप में अंतर के बारे में अधिक उत्सुक हूं। किसी तरह मुझे लगता है कि वे बराबर हैं।

जवाबों:


31

संबंध इस प्रकार है: ।l(β)=iL(zi)

रूप में एक रसद समारोह को परिभाषित करें । उनके पास वह संपत्ति है जो । या दूसरे शब्दों में:f(z)=ez1+ez=11+ezf(z)=1f(z)

11+ez=ez1+ez.

यदि आप दोनों पक्षों के पारस्परिक लेते हैं, तो आपको जो लॉग मिलता है, उसे लें:

ln(1+ez)=ln(1+ez)+z.

दोनों ओर से घटाव और आपको यह देखना चाहिए:z

yiβTxi+ln(1+eyiβTxi)=L(zi).

संपादित करें:

फिलहाल मैं इस उत्तर को पढ़ रहा हूं और उलझन में हूं कि मुझे के बराबर होने के लिए कैसे । शायद मूल प्रश्न में एक टाइपो है।- y मैं β टी x मैं + एल एन ( 1 + y मैं β टी x मैं )yiβTxi+ln(1+eβTxi)yiβTxi+ln(1+eyiβTxi)

2 संपादित करें:

इस मामले में कि मूल प्रश्न में कोई टाइपो नहीं था, @ManelMorales इस तथ्य पर ध्यान आकर्षित करने के लिए सही प्रतीत होता है कि, जब , प्रायिकता मास फ़ंक्शन को इस प्रकार लिखा जा सकता है , संपत्ति के कारण जो । मैं इसे अलग तरीके से यहां फिर से लिख रहा हूं, क्योंकि वह संकेतन पर एक नए । बाकी प्रत्येक कोडिंग के लिए नकारात्मक लॉग-आउट होने की संभावना है । अधिक विवरण के लिए नीचे उसका उत्तर देखें।पी ( Y मैं = y मैं ) = ( y मैं β टी x मैं ) ( - z ) = 1 - ( z ) z मैं yy{1,1}P(Yi=yi)=f(yiβTxi)f(z)=1f(z)ziy


42

ओपी गलती से मानता है कि इन दो कार्यों के बीच संबंध नमूनों की संख्या (यानी एकल बनाम सभी) के कारण है। हालाँकि, वास्तविक अंतर यह है कि हम अपने प्रशिक्षण लेबल का चयन कैसे करते हैं।

बाइनरी वर्गीकरण के मामले में हम लेबल दे सकते हैं या ।y=±1y=0,1

जैसा कि पहले ही कहा जा चुका है, लॉजिस्टिक फ़ंक्शन एक अच्छा विकल्प है क्योंकि इसमें प्रायिकता का रूप है, अर्थात और के रूप में । यदि हम लेबल लेते हैं तो हम असाइन कर सकते हैं σ(z)σ(z)=1σ(z)σ(z)(0,1)z±y=0,1

P(y=1|z)=σ(z)=11+ezP(y=0|z)=1σ(z)=11+ez

जिसे और अधिक कॉम्पैक्ट रूप से रूप में लिखा जा सकता है ।P(y|z)=σ(z)y(1σ(z))1y

लॉग-लाइक को अधिकतम करना अधिक आसान है। लॉग-लाइक को अधिकतम करना नकारात्मक लॉग-लाइबिलिटी को कम करने के समान है। के लिए नमूने , प्राकृतिक लघुगणक और कुछ सरलीकरण लेने के बाद, हम पता लगाना होगा:m{xi,yi}

l(z)=log(imP(yi|zi))=imlog(P(yi|zi))=imyizi+log(1+ezi)

इस जुपिटर नोटबुक पर पूर्ण व्युत्पत्ति और अतिरिक्त जानकारी पाई जा सकती है । दूसरी ओर, हमने इसके बजाय लेबल का उपयोग किया हो सकता है । यह स्पष्ट है कि तब हम असाइन कर सकते हैंy=±1

P(y|z)=σ(yz).

यह भी स्पष्ट है कि । इससे पहले कि हम इस मामले में कम से कम नुकसान समारोह के रूप में एक ही कदम के बादP(y=0|z)=P(y=1|z)=σ(z)

L(z)=log(jmP(yj|zj))=jmlog(P(yj|zj))=jmlog(1+eyzj)

जहां हम पारस्परिक संकेत से प्रेरित होने वाले पारस्परिक कदम उठाने के बाद अंतिम चरण का अनुसरण करते हैं। जबकि हमें इन दो रूपों की बराबरी नहीं करनी चाहिए, यह देखते हुए कि प्रत्येक रूप में अलग-अलग मूल्य लेता है, फिर भी ये दोनों समान हैं:y

yizi+log(1+ezi)log(1+eyzj)

मामला दिखाने के लिए तुच्छ है। यदि , तो बाएं हाथ की ओर और पर दाहिने हाथ की ओर।yi=1yi1yi=0yi=1

जबकि मूलभूत कारण हो सकते हैं कि हमारे दो अलग-अलग रूप क्यों हैं (देखें कि दो अलग-अलग लॉजिस्टिक लॉस फॉर्मूलेशन / नोटेशन क्यों हैं? ), पूर्व चुनने का एक कारण व्यावहारिक विचार के लिए है। पूर्व में हम संपत्ति के का उपयोग तुच्छ रूप से और गणना करने के लिए कर सकते हैं , दोनों को अभिसरण विश्लेषण के लिए आवश्यक है (यानी हेस्सियन की गणना करके नुकसान फ़ंक्शन के उत्तलता का निर्धारण करने के लिए )।σ(z)/z=σ(z)(1σ(z))l(z)2l(z)


क्या लॉजिस्टिक लॉस फंक्शन उत्तल है?
user85361

2
लॉग reg IS उत्तल है, लेकिन Alpha -convex नहीं है। इस प्रकार हम एक सीमा नहीं लगा सकते हैं कि कितने लंबे समय तक ढाल को अभिसरण करना है। हम एक नियमितीकरण शब्द जोड़कर इसे दृढ़ता से उत्तल बनाने के लिए के रूप को समायोजित कर सकते हैं : सकारात्मक स्थिरांक के साथ हमारे नए कार्य को परिभाषित करता है st बेहद लंबा उत्तल और हम अब के अभिसरण को सिद्ध कर सकते हैं । दुर्भाग्य से, हम अब एक अलग कार्य को कम कर रहे हैं! सौभाग्य से, हम दिखा सकते हैं कि नियमित फ़ंक्शन के इष्टतम का मूल्य मूल के इष्टतम के मूल्य के करीब है। α एल λ एल ' ( z ) = एल ( जेड ) + λ z 2 एल ' ( जेड ) λ एल 'l(z)αlλl(z)=l(z)+λz2l(z)λl
मैनुअल मोरालेस

आपके द्वारा संदर्भित नोटबुक चली गई है, मुझे एक और प्रमाण मिला है: statlect.com/fundamentals-of-statistics/…
Domi.Zhang

2
मुझे यह सबसे उपयोगी उत्तर लगा।
mohit6up

@ManuelMorales क्या आपके पास नियमित रूप से फ़ंक्शन के इष्टतम मूल्य का लिंक मूल के करीब है?
मार्क

19

मैंने लॉजिस्टिक रिग्रेशन के लिए नुकसान फ़ंक्शन को निम्नानुसार सीखा।

लॉजिस्टिक रिग्रेशन बाइनरी वर्गीकरण करता है, और इसलिए लेबल आउटपुट बाइनरी होते हैं, 0 या 1. लेट 1। संभावना है कि बाइनरी आउटपुट 1 को इनपुट फीचर वेक्टर दिया गया है । गुणांक वजन है कि एल्गोरिथ्म सीखने की कोशिश कर रहा है।y x wP(y=1|x)yxw

P(y=1|x)=11+ewTx

क्योंकि लॉजिस्टिक रिग्रेशन बाइनरी है, प्रायिकता केवल 1 शून्य से ऊपर का शब्द है।P(y=0|x)

P(y=0|x)=111+ewTx

नुकसान फ़ंक्शन का योग (A) आउटपुट गुणक और (B) आउटपुट गुणनफल से एक प्रशिक्षण उदाहरण के लिए, संक्षेपित है। से अधिक प्रशिक्षण उदाहरण।y = 1 P ( y = 1 ) y = 0 P ( y = 0 ) mJ(w)y=1P(y=1)y=0P(y=0)m

J(w)=i=1my(i)logP(y=1)+(1y(i))logP(y=0)

जहाँ आपके प्रशिक्षण डेटा में लेबल को इंगित करता है । एक प्रशिक्षण उदाहरण के एक लेबल है, तो , तो , जगह में छोड़ दिया योज्य छोड़ने लेकिन साथ सही योज्य बनाने बनने । दूसरी ओर, यदि किसी प्रशिक्षण उदाहरण में , तो शब्द के साथ सही समन यथावत रहता है, लेकिन बायाँ समन हो जाता है । गणना की आसानी के लिए लॉग संभावना का उपयोग किया जाता है। i t h 1 y ( i ) = 1 1 - y ( i ) 0 y = 0 1 - y ( i ) 0y(i)ith1y(i)=11y(i)0y=01y(i)0

यदि हम पहले के भावों के साथ और को प्रतिस्थापित करते हैं, तो हमें मिलता है:P ( y = 0 )P(y=1)P(y=0)

J(w)=i=1my(i)log(11+ewTx)+(1y(i))log(111+ewTx)

आप स्टैनफोर्ड व्याख्यान नोट्स में इस फॉर्म के बारे में अधिक पढ़ सकते हैं ।


यह उत्तर यहां कुछ प्रासंगिक परिप्रेक्ष्य भी प्रदान करता है।
जियोमैट 22

6
आपके पास जो अभिव्यक्ति है वह हानि नहीं है (कम से कम), बल्कि एक लॉग-लाइबिलिटी (अधिकतम होने के लिए) है।
xenocyon

2
@xenocyon सच - यह एक ही सूत्रण आमतौर पर पूर्णांक पर लागू होने वाले ऋणात्मक चिन्ह के साथ लिखा जाता है।
एलेक्स क्लिबिस

1

माध्य चुकता त्रुटि के बजाय, हम क्रॉस-एन्ट्रॉपी नामक एक लागत फ़ंक्शन का उपयोग करते हैं, जिसे लॉग लॉस भी कहा जाता है। क्रॉस-एन्ट्रापी नुकसान को दो अलग-अलग लागत कार्यों में विभाजित किया जा सकता है: एक के लिए y = 1 और एक के लिए y = 0।

j(θ)=1mi=1mCost(hθ(x(i)),y(i))Cost(hθ(x),y)=log(hθ(x))if y=1Cost(hθ(x),y)=log(1hθ(x))if y=0

जब हम उन्हें एक साथ रखते हैं:

j(θ)=1mi=1m[y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x)(i))]

उपरोक्त समीकरण में और से गुणा करना एक डरपोक चाल है जो आइए हम दोनों और मामलों को हल करने के लिए समान समीकरण का उपयोग करते हैं । यदि , तो पहला पक्ष रद्द हो जाता है। यदि , तो दूसरा पक्ष रद्द हो जाता है। दोनों ही मामलों में हम केवल उस ऑपरेशन को करते हैं जो हमें करने की आवश्यकता है।y(1y)y=1y=0y=0y=1

यदि आप forलूप का उपयोग नहीं करना चाहते हैं , तो आप ऊपर दिए गए समीकरण का एक वेक्टरकृत रूप आज़मा सकते हैं

h=g(Xθ)J(θ)=1m(yTlog(h)(1y)Tlog(1h))

संपूर्ण विवरण मशीन लर्निंग चेसशीट पर देखा जा सकता है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.