प्रायिकता के बजाय अधिकतम लॉग संभावना का अनुकूलन क्यों करें


66

सबसे मशीन सीखने कार्यों जहाँ आप कुछ संभावना तैयार कर सकते हैं में p जो अधिकतम जाना चाहिए, हम वास्तव में लॉग संभावना का अनुकूलन होगा logp कुछ मानकों के लिए संभावना के बजाय θ । उदाहरण के लिए अधिकतम संभावना प्रशिक्षण में, यह आमतौर पर लॉग-लाइबिलिटी है। कुछ ढाल विधि के साथ ऐसा करने पर, इसमें एक कारक शामिल होता है:

logpθ=1ppθ

कुछ उदाहरणों के लिए यहां या यहां देखें ।

बेशक, अनुकूलन समकक्ष है, लेकिन ढाल अलग-अलग होगी, इसलिए किसी भी ढाल-आधारित पद्धति अलग-अलग (esp। स्टोकेस्टिक ग्रेडिएंट तरीकों) का व्यवहार करेगी। वहाँ किसी भी औचित्य है कि है logp ढाल की तुलना में बेहतर काम करता है p ढाल?


3
आपको यह ध्यान देने की आवश्यकता है कि हम आमतौर पर डेरिवेटिव का उपयोग करके अधिकतम संभावना रखते हैं। दूसरी ओर कई मामलों में स्वतंत्रता की स्थिति को लागू किया जाता है, जिसका अर्थ है कि संभावना कुछ आईआईडी संभावना घनत्व कार्यों का उत्पाद है। इसके अलावा कई छोटे मूल्यों के उत्पाद ([0,1] अंतराल में) बहुत छोटे मूल्य के होते हैं। यह एक संगणना कठिनाई का परिणाम है।
TPArrow

@AlejandroRodriguez अधिक विस्तार के लिए यहां मेरे जवाब की जाँच करें ।
पॉल

जवाबों:


65

ढाल तरीकों आम तौर पर बेहतर अनुकूलन काम की तुलना में पी ( एक्स ) की वजह से ढाल लॉग पी ( एक्स ) आम तौर पर अधिक है अच्छी तरह से बढ़ाया । यही है, इसका एक आकार है जो लगातार और सहायक रूप से उद्देश्य फ़ंक्शन की ज्यामिति को दर्शाता है, जिससे एक उपयुक्त चरण आकार का चयन करना और कम चरणों में इष्टतम को प्राप्त करना आसान हो जाता है।logp(x)p(x)logp(x)

मेरा मतलब देखने के लिए, और f ( x ) = log p ( x ) = - x 2 के लिए ढाल अनुकूलन प्रक्रिया की तुलना करें । पर किसी भी बिंदु एक्स , की ढाल ( एक्स ) है ' ( x ) = - 2 एक्स अगर हम गुणा कि द्वारा 1 / 2p(x)=exp(x2)f(x)=logp(x)=x2xf(x)

f(x)=2x.
1/2, हम मूल आकार में वैश्विक इष्टतम को प्राप्त करने के लिए आवश्यक सटीक कदम आकार प्राप्त करते हैं, चाहे कोई भी हो। इसका मतलब यह है कि हमें एक अच्छा कदम आकार (या एमएल शब्दजाल में "सीखने की दर") प्राप्त करने के लिए बहुत मेहनत करने की आवश्यकता नहीं है। कोई फर्क नहीं पड़ता कि हमारा प्रारंभिक बिंदु कहां है, हम बस अपना कदम आधा ढाल तक निर्धारित करते हैं और हम एक कदम पर मूल में होंगे। और अगर हमें उस सटीक कारक का पता नहीं है जिसकी आवश्यकता है, तो हम बस 1 के आसपास एक कदम आकार चुन सकते हैं, थोड़ी लाइन खोज कर सकते हैं, और हम बहुत तेज़ी से एक महान कदम आकार प्राप्त करेंगे, जो कि अच्छी तरह से काम करता है जहां कोई बात नहीं है x है। यह संपत्ति ( x ) के अनुवाद और स्केलिंग के लिए मजबूत है । स्केलिंग करते समय f ( x )xxf(x)f(x)1/2 से भिन्न होने के लिए इष्टतम चरण स्केलिंग का कारण होगा, कम से कम चरण स्केलिंग वही होगा जो कोई भी है, इसलिए हमें केवल एक कुशल ढाल-आधारित अनुकूलन योजना प्राप्त करने के लिए एक पैरामीटर खोजना होगा।x

इसके विपरीत, के ढाल में अनुकूलन के लिए बहुत खराब वैश्विक गुण हैं। हम पी ' ( x ) = ' ( x ) पी ( एक्स ) = - 2 एक्स exp ( - एक्स 2 ) यह पूरी तरह से अच्छा, अच्छी तरह से व्यवहार ढाल को गुणा करता है - 2 एक्स एक फैक्टर एक्सप ( - एक्स 2 ) के साथ जो एक्स के रूप में तेजी से (तुलना में) तेजी से घटता हैp(x)

p(x)=f(x)p(x)=2xexp(x2).
2xexp(x2)xबढ़ती है। पर , हम पहले से ही है exp ( - एक्स 2 ) = 1.4 10 - 11 है, तो ढाल वेक्टर साथ एक कदम के बारे में है 10 - 11 बार बहुत छोटा है। इष्टतम की ओर एक उचित कदम आकार प्राप्त करने के लिए, हमें उस के पारस्परिक द्वारा ढाल को बड़ा करना होगा, एक विशाल स्थिर ous 10 11 । इस तरह की एक बुरी तरह से बढ़ाया ढाल अनुकूलन प्रयोजनों के लिए बेकार से भी बदतर है - हम सिर्फ खिलाफ स्केलिंग द्वारा हमारे कदम की स्थापना की तुलना में ऊपर की ओर दिशा में एक इकाई कदम प्रयास कर बेहतर होगा पी ' ( x )x=5exp(x2)=1.4101110111011p(x)! (कई चर में के बाद से हम कम से कम ढाल से दिशात्मक जानकारी प्राप्त थोड़ा अधिक उपयोगी हो जाता है, लेकिन स्केलिंग मुद्दा बना हुआ है।)p(x)

logp(x)logp(x)p(x)f(x)


4
+1 यह जवाब लाता है और उन बिंदुओं पर जोर देता है जो मामले के दिल तक पहुंचते हैं।
whuber

47

underflow

कंप्यूटर अंशों के एक सीमित अंक फ़्लोटिंग पॉइंट प्रतिनिधित्व का उपयोग करता है, इसलिए कई संभावनाओं को गुणा करना बहुत शून्य के करीब होने की गारंटी है।

साथ , हमारे पास यह समस्या नहीं है।log


3
संख्यात्मक स्थिरता के लिए +1 - यह और यूरील का उत्तर एक होना चाहिए!
एलेक टीले

1
आप लॉग-स्पेस में उत्पाद की गणना कर सकते हैं, इस प्रकार यह एक योग बन जाता है, और फिर इसे वापस स्थानांतरित कर देता है। या आप गणना करते हैं जो कि । तो, संख्यात्मक स्थिरता प्रश्न नहीं है। logpθppθ
अल्बर्ट

1
ध्यान रखें कि आपने जिस उल्लेख किया है, वह नमूना में सभी घटनाओं की संभावनाओं का गुणन है, और तत्व के अधीन है। pp
उरी गोरेन

5
@ फ़िलिप इस सूत्र में शब्दावली कुछ हद तक बीमार है। हम संभाव्यता घनत्व पर चर्चा कर रहे हैं , संभाव्यता पर नहीं। घनत्व मनमानी हैं: वे माप की इकाइयों पर निर्भर करते हैं। इसके अलावा, पर्याप्त नमूने के आकार के लिए एक पैरामीट्रिक मॉडल से किसी भी सरल नमूने की संभावना घनत्व अंततः से कम होगा । बड़ी समस्याओं में (लाखों डेटा के साथ), संभावना घनत्व नियमित रूप से या छोटे हैं। यहां तक ​​कि मानक सामान्य वितरण से आकार का एक नमूना से कम संभावना घनत्व होना लगभग निश्चित है । 212721000000802127
whuber

4
@FilipHaglund: व्ह्यूबर सही है, हालाँकि, यह तथ्य कि यह घनत्व है यहाँ महत्वपूर्ण अवलोकन नहीं है। हम बस एक असतत प्रक्रिया पर चर्चा कर सकते हैं और वास्तविक संभावनाओं के बारे में बात कर सकते हैं (और वास्तव में, ओपी ने इस मामले को छोड़कर कुछ भी नहीं कहा)। लेकिन हम बहुत विशिष्ट परिणामों के लिए संभावनाओं के बारे में बात कर रहे हैं (उदाहरण के लिए, एक विशेष तरीके से जाने वाले एक लाख अवलोकन)। एक एकल विशिष्ट परिणाम की संभावना नहीं है, लेकिन संभावनाओं के बायेसियन इनवेंशन अनुपात में महत्वपूर्ण हैं, इसलिए हमें यह जानना होगा कि एक दूसरे से एक छोटी संभावना कितनी बड़ी है।
मेनी रोसेनफेल्ड

34
  1. कई संयुक्त संभावनाओं की संभावना का लघुगणक, व्यक्तिगत संभावनाओं के लघुगणक के योग को सरल करता है (और योग नियम विभेदन के लिए उत्पाद नियम की तुलना में आसान है)

    log(iP(xi))=ilog(P(xi))

  2. घातांक प्रायिकता वितरण के परिवार के एक सदस्य का लघुगणक (जिसमें सर्वव्यापी सामान्य शामिल है) मापदंडों में बहुपद है (अर्थात अधिकतम वितरण सामान्य वितरण के लिए कम से कम वर्गों को कम करता है )

    log(exp(12x2))=12x2

  3. बाद का रूप दोनों अधिक संख्यात्मक रूप से स्थिर और प्रतीकात्मक रूप से पूर्व की तुलना में अंतर करने के लिए आसान है।

  4. पिछले नहीं बल्कि कम से कम, लघुगणक एक मोनोटोनिक परिवर्तन है जो एक्स्ट्रेमा के स्थानों को संरक्षित करता है (विशेष रूप से, अधिकतम-संभावना में अनुमानित पैरामीटर मूल और लॉग-रूपांतरित फॉर्मूले के लिए समान हैं)


5
कारण 2 को पर्याप्त बल नहीं दिया जा सकता है। गॉसियन शोर के साथ एक रैखिक मॉडल के लिए लॉग-लाइकैलिटी को अधिकतम करने के लिए, आपको बस एक न्यूनतम-वर्ग समस्या को हल करना होगा, जो समीकरणों के एक रैखिक प्रणाली को हल करने के लिए होता है।
पॉल

कारण 1 और 3 में इसका वर्णन करने का तरीका बताया गया है। आप इसे इस तरह से परिकलित कर सकते हैं और फिर इसे वापस ( द्वारा गुणा कर ) परिवर्तित कर सकते हैं । संख्यात्मक स्थिरता के लिए लॉग-स्पेस में गणना करना वास्तव में काफी सामान्य है। लेकिन यह स्पष्ट नहीं करता है कि आप उस ग्रेडिएंट का उपयोग क्यों करते हैं। कारण 4 भी एक कारण नहीं है कि क्यों ग्रेडिएंट बेहतर है। आप कई अन्य परिवर्तनों के साथ भी ऐसा कर सकते हैं। कारण 2 दिलचस्प है, लेकिन मुझे अभी भी बिल्कुल यकीन नहीं है कि एक बहुपद का ग्रेडिएंट दूसरे फ़ंक्शन के ग्रेडिएंट से बेहतर क्यों है। p लॉग ऑनपीpθlogp
अल्बर्ट

@ अलबर्ट एक बहुपद का व्युत्पन्न एक डिग्री कम (विशेष रूप से, द्विघात में चला जाता है) का एक बहुपद है, जबकि घातीय केवल भेदभाव के तहत नहीं करते हैं
TemplateRex

@TemplateRex: हाँ, यह स्पष्ट है। लेकिन मैं एक स्टोकेस्टिक ढाल विधि में अभिसरण गुणों के बारे में पूछ रहा हूं।
अल्बर्ट

25

उत्पाद के व्युत्पन्न लेने की तुलना में लघुगणक के योग का व्युत्पन्न लेना बहुत आसान है, जिसमें 100 गुणक शामिल हैं।


10
साथ ही आप संभावित संख्यात्मक समस्याओं को कम करते हैं जब शब्द बहुत छोटे या बड़े हो जाते हैं।
ब्योर्न

8
इसके विपरीत, ओपी स्पष्ट रूप से नॉनगेटिव कार्यों के किसी भी उत्पाद के व्युत्पन्न की गणना करने का एक शानदार तरीका प्रदान करता है: उत्पाद द्वारा लॉग के डेरिवेटिव के योग को गुणा करें। (यह गुणन सर्वश्रेष्ठ लघुगणक के संदर्भ में किया जाता है, जो @ ब्योर्न की टिप्पणी में उल्लिखित संख्यात्मक समस्याओं को भी समाप्त करता है।) इस प्रकार, "सहजता" कोई वास्तविक व्याख्यात्मक शक्ति प्रदान नहीं करती है, न ही यह ग्रेडिएटर्स की तुलना करने के बारे में अधिक सार्थक प्रश्न को संबोधित करती है। ।
whuber

10

एक सामान्य नियम के रूप में, सबसे बुनियादी और आसान अनुकूलन समस्या एक द्विघात फ़ंक्शन का अनुकूलन करना है। आप आसानी से इस तरह के एक समारोह का इष्टतम पता लगा सकते हैं, जहां आप शुरू करते हैं। यह कैसे प्रकट होता है यह विशिष्ट विधि पर निर्भर करता है लेकिन आपके कार्य को द्विघात के करीब, बेहतर।

जैसा कि टेम्प्लेटेक्स द्वारा नोट किया गया है, विभिन्न प्रकार की समस्याओं में, संभावना फ़ंक्शन की गणना में जाने वाली संभावनाएं सामान्य वितरण से आती हैं, या इसके द्वारा अनुमानित होती हैं। इसलिए यदि आप लॉग पर काम करते हैं, तो आपको एक अच्छा द्विघात फ़ंक्शन मिलता है। जबकि यदि आप संभावनाओं पर काम करते हैं, तो आपके पास एक फ़ंक्शन है

  1. उत्तल नहीं है (हर जगह अनुकूलन एल्गोरिदम का बैन)
  2. कई पैमानों को तेजी से पार करता है, और इसलिए एक बहुत ही संकीर्ण सीमा होती है जहां फ़ंक्शन मान आपकी खोज को निर्देशित करने के लिए संकेत देते हैं।

आप किस फ़ंक्शन को अनुकूलित करेंगे, यह या यह ?

(यह वास्तव में एक आसान था; व्यावहारिक अनुप्रयोगों में आपकी खोज इष्टतम से इतनी दूर शुरू हो सकती है कि फ़ंक्शन मान और ग्रेडिएंट, भले ही आप उन्हें संख्यात्मक रूप से गणना करने में सक्षम थे, 0 से अप्रभेद्य होगा और अनुकूलन के प्रयोजनों के लिए बेकार होगा। एल्गोरिथ्म। लेकिन एक द्विघात फ़ंक्शन में बदलना यह केक का एक टुकड़ा बनाता है।)

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

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


@TemplateRex: लॉग ऑफ़ (डाउनवर्ड) उत्तल पॉज़िटिव फ़ंक्शन उत्तल है, लेकिन ऐंठन सच नहीं है। संभावनाएं उत्तल नहीं हैं, इसलिए उनके पास संरक्षित करने के लिए कुछ भी नहीं है, लेकिन लॉग उत्तल है। मेरे द्वारा जोड़े गए ग्राफ़ को देखें - ऍक्स्प (-10x ^ 2) स्पष्ट रूप से गैर-उत्तल है, लेकिन -10x ^ 2 है।
मेनी रोसेनफेल्ड

4

का उपयोग करके हम अनुकूलन एल्गोरिथ्म की गतिशील सीमा को बढ़ाते हैं। अनुप्रयोगों में आमतौर पर कार्यों का एक उत्पाद है। उदाहरण के लिए, अधिकतम संभावना अनुमान में, यह फॉर्म का उत्पाद है। , जहां घनत्व फ़ंक्शन है, जो हो सकता है। 1 से अधिक या कम, btw।lnppL(x|θ)=Πi=1nf(xi|θ)f(.)

इसलिए, जब बहुत बड़ा होता है, यानी बड़ा नमूना, आपकी संभावना फ़ंक्शन आमतौर पर 1 से बहुत दूर है: यह या तो बहुत छोटा है या बहुत बड़ा है, क्योंकि यह एक पावर फ़ंक्शन ।nL(.)Lf(.)n

लॉग लेने से हम किसी भी अनुकूलन एल्गोरिथ्म की गतिशील सीमा में सुधार करते हैं, यह उसी तरह से बहुत बड़े या छोटे मूल्यों के साथ काम करने की अनुमति देता है।


0

कुछ अच्छे उत्तर पहले ही दिए जा चुके हैं। लेकिन मुझे हाल ही में एक नया सामना करना पड़ा:

अक्सर, आपको एक विशाल प्रशिक्षण डेटा सेट , और आप कुछ संभाव्य मॉडल The को परिभाषित करते हैं , और आप लिए संभावना को अधिकतम करने के लिए चाहते हैं । उन्हें स्वतंत्र माना जाता है, अर्थात आपके पास अब, आप अक्सर प्रत्येक चरण में स्टोकेस्टिक (मिनी बैच) ढाल आधारित प्रशिक्षण, यानी किसी प्रकार करते हैं, अपने नुकसान के लिए , आप अनुकूलन के लिए , यानी Xp(x|θ)xX

p(X|θ)=xXp(x|θ).
LL(X|θ)XX
θ:=θxXL(x|θ)θ.
अब, ये स्टोचस्टिक कदम संचित रूप से जमा होते हैं। उसके कारण, आप वह संपत्ति चाहते हैं, जो सामान्य रूप से यह the the लिए मामला है
L(X|θ)=xXL(x|θ).
L(x|θ)=logp(x|θ).

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