कुल्बैक-लीब्लर (केएल) डाइवर्जेंस पर अंतर्ज्ञान


47

मैंने KL Divergence के पीछे अंतर्ज्ञान के बारे में सीखा है कि डेटा के सैद्धांतिक / सच्चे वितरण से एक मॉडल वितरण फ़ंक्शन कितना भिन्न होता है। मैं जिस स्रोत को पढ़ रहा हूं, वह कहता है कि इन दो वितरणों के बीच 'दूरी' की सहज समझ सहायक है, लेकिन इसे शाब्दिक रूप से नहीं लिया जाना चाहिए क्योंकि दो वितरणों P और Q , केएल डाइवर्जेंस P और Q में सममित नहीं है ।

मुझे यकीन नहीं है कि अंतिम विवरण को कैसे समझा जाए, या यह वह जगह है जहां 'दूरी' का अंतर्ज्ञान टूट जाता है?

मैं एक सरल, लेकिन व्यावहारिक उदाहरण की सराहना करूंगा।


3
मुझे लगता है कि आपको पीछे हटना होगा और समझना होगा कि आपके पास आम तौर पर वास्तविक जनसंख्या वितरण और नमूना (या सच और मॉडल) आदि के बीच आंकड़ों में एक विषमता है, और यही केएल डाइवर्जेंस दर्शाता है ... सामान्य संभावना सिद्धांत में isn आम तौर पर और एक सममित मीट्रिक अधिक अंतर नहीं बनाता है
seanv507

1
आप कौन सा "स्रोत" पढ़ रहे थे?
nbro

जवाबों:


34

A (मीट्रिक) दूरी D सममित होना चाहिए, अर्थात D(P,Q)=D(Q,P) । लेकिन, परिभाषा से, KL नहीं है।

उदाहरण: Ω={A,B} , P(A)=0.2,P(B)=0.8 , Q(A)=Q(B)=0.5

हमारे पास है:

KL(P,Q)=P(A)logP(A)Q(A)+P(B)logP(B)Q(B)0.19

तथा

KL(Q,P)=Q(A)logQ(A)P(A)+Q(B)logQ(B)P(B)0.22

इस प्रकार और इसलिए कश्मीर एल एक (मैट्रिक) दूरी नहीं है।KL(P,Q)KL(Q,P)KL


50

दूसरे उत्कृष्ट उत्तरों को जोड़ते हुए, दूसरे दृष्टिकोण के साथ एक उत्तर जो शायद कुछ और अंतर्ज्ञान जोड़ सकता है, जिसके लिए कहा गया था।

Kullback-Leibler फर्क है यदि आपके पास दो परिकल्पना है जिसके बारे में वितरण डेटा X , P और Q उत्पन्न कर रहा है, तो p ( x )

KL(P||Q)=p(x)logp(x)q(x)dx
XPQ के परीक्षण के लिए संभावना अनुपात हैएच0:क्यूके खिलाफएच1:पी। हम देखते हैं कि ऊपर कुल्लबैक-लीब्लर विचलन तब वैकल्पिक परिकल्पना के तहत लॉक्लीकैलिहाइड अनुपात का अपेक्षित मूल्य है। तो,केएल(पी||क्यू)इस परीक्षण समस्या की कठिनाई का एक उपाय है, जब हैक्यूशून्य परिकल्पना है। तो विषमताKL(P|Q|Q)ymKL(Q||P)p(x)q(x)H0:QH1:PKL(P||Q)QKL(P||Q)KL(Q||P) बस अशक्त और वैकल्पिक परिकल्पना के बीच विषमता को दर्शाता है।

आइए हम इसे एक विशेष उदाहरण में देखें। चलो हो टी ν -distribution और क्यू मानक सामान्य वितरण (नीचे संख्यात्मक exampe में ν = 1 )। विचलन को परिभाषित करने वाला अभिन्न अंग जटिल दिखता है, इसलिए हम केवल R में संख्यात्मक एकीकरण का उपयोग करें:PtνQν=1

> lLR_1  <-  function(x) {dt(x, 1, log=TRUE)-dnorm(x, log=TRUE)}  
> integrate(function(x) dt(x, 1)*lLR_1(x), lower=-Inf, upper=Inf)
Error in integrate(function(x) dt(x, 1) * lLR_1(x), lower = -Inf, upper = Inf) : 
  the integral is probably divergent

> lLR_2  <-  function(x) {-dt(x, 1, log=TRUE)+dnorm(x, log=TRUE)}  
> integrate(function(x) dnorm(x)*lLR_2(x), lower=-Inf, upper=Inf)
0.2592445 with absolute error < 1e-07

पहले मामले में अभिन्न संख्यानुसार वितरित हो रहा है, विचलन का संकेत, बहुत बड़ी या अनंत है दूसरे मामले में यह है छोटा सा, का सारांश:

KL(P||Q)KL(Q||P)0.26

t1t1t1t1n=1t1! भूमिकाओं को स्विच करना, नहीं, अंतर ज्यादातर आउटलेयर की भूमिकाओं से आता है।

t1t1

यह मेरे उत्तर से संबंधित है: हमें सामान्य त्रुटियों के बजाय टी त्रुटियों का उपयोग क्यों करना चाहिए?


22

D(P||Q)

SKL(P,Q)=D(P||Q)+D(Q||P)
D(P||Q)SKL(P,Q)
D(A||B)+D(B||C)D(A||C)
SKL(A,B)+SKL(B,C)SKL(A,C)
D(P||Q)=ipilog(piqi)
SKL(P,Q)=i(piqi)log(piqi)

D(A||B)=0.1log(0.10.2)+0.9log(0.90.8)0.0159
D(B||C)0.0112
D(A||C)0.0505
0.0159+0.01120.0505
SKL(A,B)0.0352
SKL(B,C)0.0234
SKL(A,C)0.1173
0.0352+0.02340.1173

मैंने इस उदाहरण को उद्देश्य से पेश किया। आइए कल्पना करें कि आप कुछ सिक्कों को उछाल रहे हैं, जैसे 100 बार। जब तक यह सिक्के निष्पक्ष हैं, आप केवल 0-1 बिट्स, (1-हेड, 0-टेल) के अनुक्रम के साथ परिणाम को सांकेतिक शब्दों में बदलना करेंगे। ऐसी स्थिति में जब सिर की संभावना पूंछ की संभावना के समान हो और 0.5 के बराबर हो, तो यह काफी प्रभावी एन्कोडिंग है। अब, हमारे पास कुछ पक्षपाती सिक्के हैं, इसलिए हम छोटे कोड के साथ अधिक संभावित परिणामों को सांकेतिक शब्दों में बदलना चाहते हैं, जैसे कि सिर और पूंछ के समूहों को मर्ज करना और k tails के अनुक्रम की तुलना में लंबे कोड के साथ k सिर के अनुक्रमों का प्रतिनिधित्व करना (वे अधिक संभावित हैं)। और यहाँ कुलबबैक-लीब्लर डाइवर्जेंस मान्यता है। यदि P परिणामों के सही वितरण का प्रतिनिधित्व करता है, और Q केवल P का एक अनुमान है, तोD(P||Q)D(P||Q) आपके द्वारा भुगतान किए जाने वाले दंड को निरूपित करता है जब आप परिणामों को एनकोड करते हैं जो वास्तव में क्यू के लिए एन्कोडिंग के साथ पी डिस्ट्रीब से आते हैं (अतिरिक्त बिट्स के अर्थ में जुर्माना जो आपको उपयोग करने की आवश्यकता है)।

यदि आपको केवल मीट्रिक की आवश्यकता है, तो भट्टाचार्य दूरी (निश्चित रूप से संशोधित संस्करण )1[xp(x)q(x)]


7
यदि कोई वास्तव में केएल डाइवरेज के निकट संबंध के साथ एक मीट्रिक होने का संबंध रखता है, तो वे भट्टाचार्य के स्थान पर जेनसेन-शैनन डाइवर्जेंस के वर्गमूल पर विचार कर सकते हैं।
कार्डिनल

5

आपके प्रश्न का विशुद्ध सहज उत्तर देने के लिए मैं यहाँ ललचा रहा हूँ। आप जो कहते हैं, उसे फिर से परिभाषित करते हुए, केएल विचलन दो वितरणों के बीच की दूरी को मापने का एक तरीका है क्योंकि आप हिल्बर्ट स्थान में दो डेटा सेटों के बीच की दूरी की गणना करेंगे, लेकिन कुछ सावधानी बरतनी चाहिए।

क्यों? केएल डाइवर्जेंस एक दूरी नहीं है जैसा कि आप आमतौर पर उपयोग कर सकते हैं, उदाहरण के लिए मानक। वास्तव में, यह सकारात्मक और शून्य के बराबर है यदि और केवल यदि दो वितरण समान हैं (जैसे दूरी को परिभाषित करने के लिए स्वयंसिद्ध में)। लेकिन जैसा कि उल्लेख किया गया है, यह सममित नहीं है। इसे दरकिनार करने के तरीके हैं, लेकिन इसके लिए यह सममित नहीं है।L2

दरअसल, केएल विचलन एक मॉडल वितरण के बीच की दूरी को परिभाषित करता है (कि आप वास्तव में जानते हैं) और एक सैद्धांतिक एक ऐसी है कि वह समझ में आता है अलग ढंग से संभाल करने के लिए ( "सैद्धांतिक" की दूरी करने के लिए संभालने मॉडल ) और ( डेटा मानकर से की "अनुभवजन्य" दूरी ) के रूप में वे काफी अलग उपायों का मतलब है।QPKL(P,Q)PQPKL(Q,P)PQQ


4

सूचना सिद्धांत की पाठ्यपुस्तक तत्व हमें एक उदाहरण देता है:

उदाहरण के लिए, यदि हमें यादृच्छिक चर का सही वितरण p पता था, तो हम औसत विवरण लंबाई H (p) के साथ एक कोड का निर्माण कर सकते हैं। यदि, इसके बजाय, हमने एक वितरण q के लिए कोड का उपयोग किया है, तो हमें यादृच्छिक चर का वर्णन करने के लिए औसत पर H (p) + D (p || q) बिट्स की आवश्यकता होगी।

उपरोक्त कथन को स्पष्ट करने के लिए, हम कह सकते हैं कि यदि हम सूचना वितरण को बदलते हैं (q से p तक) तो हमें नए वितरण को कोड करने के लिए औसतन D (p || q) की आवश्यकता है।

एक उदाहरण

मुझे इसे प्राकृतिक भाषा प्रसंस्करण में इसके एक अनुप्रयोग का उपयोग करके स्पष्ट करें।

गौर कीजिए कि बी लेबल वाले लोगों का एक बड़ा समूह मध्यस्थ है और उनमें से प्रत्येक को एक संज्ञा चुनने के लिए एक कार्य सौंपा गया है turkey, animalऔर bookइसे सी। को प्रेषित करना है। एक पुरुष नाम ए है जो उनमें से प्रत्येक को एक ईमेल भेजने के लिए भेज सकता है। उन्हें कुछ संकेत दिए। यदि समूह में किसी को भी ईमेल प्राप्त नहीं हुआ तो वे अपनी भौंहें बढ़ा सकते हैं और कुछ समय के लिए संकोच कर सकते हैं कि सी को क्या चाहिए। और चुने जाने वाले प्रत्येक विकल्प की संभावना 1/3 है। टोली समान वितरण (यदि नहीं, तो यह उनकी अपनी पसंद से संबंधित हो सकता है और हम ऐसे मामलों की उपेक्षा करते हैं)।

लेकिन अगर उन्हें एक क्रिया दी जाती है, जैसे baste, उनमें से 3/4 चुन सकते हैं turkeyऔर 3/16 चुन सकते हैं animalऔर 1/16 चुन सकते हैं book। फिर क्रियाओं को जानने के बाद औसतन प्रत्येक मध्यस्थ में बिट्स की कितनी जानकारी प्राप्त होती है? यह है:

D(p(nouns|baste)||p(nouns))=x{turkey,animal,book}p(x|baste)log2p(x|baste)p(x)=34log23413+316log231613+116log211613=0.5709  bits

लेकिन अगर क्रिया दी गई है तो क्या होगा read? हम कल्पना कर सकते हैं कि सभी bookबिना किसी हिचकिचाहट के साथ चयन करेंगे , फिर क्रिया से प्रत्येक मध्यस्थ के लिए औसत जानकारी प्राप्त होती readहै:

D(p(nouns|read)||p(nouns))=x{book}p(x|read)log2p(x|read)p(x)=1log2113=1.5849  bits
हम देख सकते हैं कि क्रिया readमध्यस्थों को अधिक जानकारी दे सकती है। और यह कि रिश्तेदार एन्ट्रापी क्या माप सकते हैं।

चलिए जारी रखते हैं हमारी कहानी। यदि C को संदेह है कि संज्ञा गलत हो सकती है क्योंकि A ने उसे बताया कि हो सकता है कि उसने मध्यस्थों को गलत क्रिया भेजकर गलती की हो। फिर बिट्स में कितनी जानकारी इतनी बुरी खबर सी दे सकती है?

1) यदि A द्वारा दी गई क्रिया baste:

D(p(nouns)||p(nouns|baste))=x{turkey,animal,book}p(x)log2p(x)p(x|baste)=13log21334+13log213316+13log213116=0.69172  bits

२) लेकिन अगर क्रिया होती तो क्या होता read?

D(p(nouns)||p(nouns|baste))=x{book,,}p(x)log2p(x)p(x|baste)=13log2131+13log2130+13log2130=  bits

चूँकि C कभी नहीं जानता कि अन्य दो संज्ञाएं क्या होंगी और शब्दावली में कोई भी शब्द संभव होगा।

हम देख सकते हैं कि केएल विचलन असममित है।

मुझे आशा है कि मैं सही हूं, और यदि कृपया टिप्पणी न करें और मुझे सही करने में मदद करें। अग्रिम में धन्यवाद।

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