Kullback-Leibler (KL) Ayrıntısı Sezgisi


47

KL diverjansının arkasındaki sezgiyi, bir model dağılım fonksiyonunun verinin teorik / doğru dağılımından ne kadar farklı olduğunu öğrendim. Okuyorum kaynak bu iki dağılım arasındaki 'mesafeye' sezgisel anlayış yararlıdır, ancak iki dağılımlar için çünkü tam anlamıyla alınması gerektiğini söylemeye devam ediyor ve , KL Iraksama içinde simetrik değildir ve .PQPQ

Son ifadeyi nasıl anlayacağımı bilmiyorum ya da 'mesafe' sezgisinin bozulduğu yer burası mı?

Basit ama anlayışlı bir örneği takdir ediyorum.


3
Bence geri adım atmanız ve tipik olarak gerçek popülasyon dağılımı ile örnek (veya gerçek ve model) vb arasındaki istatistiklerde bir asimetriye sahip olduğunuzu anlamak zorunda olduğunuzu ve KL Divergence'in yansıttığı şey olduğunu düşünüyorum. Bu ayrım genellikle ve simetrik bir metrik daha mantıklı değil
seanv507

1
Hangi "kaynak" okuyordun?
nbro

Yanıtlar:


34

A (metrik) uzaklık simetrik olmalıdır, yani . Ancak, tanımdan, değildir.D ( p , Q, ) = D ( S , P ) K LDD(P,Q)=D(Q,P)KL

Örnek:Ω={A,B} , P(A)=0.2,P(B)=0.8 , Q(A)=Q(B)=0.5 .

Sahibiz:

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

ve

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

dolayısıyla ve dolayısıyla K L (metrik) bir mesafe değildir.KL(P,Q)KL(Q,P)KL


50

Diğer mükemmel cevaplara, başka bir bakış açısına sahip, belki de daha fazla sezgi ekleyebilecek bir cevap eklenmiştir.

Kullback-Leibler sapması Hangi dağılımın X , P ve Q verilerini oluşturduğuna dair iki hipoteziniz varsa, o zaman p ( x )

KL(P||Q)=p(x)logp(x)q(x)dx
XPQ test etmek için olabilirlik oranıH0:QkarşıH1:p. Yukarıdaki Kullback-Leibler ayrılmasının alternatif hipotez altındaki mantıksızlık oranının beklenen değeri olduğunu görüyoruz. Öyleyse,KL(P||Q),Qboş hipoteziolduğunda bu test probleminin zorluğunun bir ölçüsüdür. Yani asimetriKL(P||Q)KL(Q||P)p(x)q(x)H0:QH1:PKL(P||Q)QKL(P||Q)KL(Q||P) basit ve boş hipotez arasındaki asimetriyi yansıtıyor.

Buna belirli bir örnekte bakalım. Let olmak t ν dağılımı ve Q, (aşağıdaki sayısal exampe standart normal dağılım ν = 1 ). Ayrışmayı tanımlayan integral karmaşık görünüyor, bu yüzden basitçe R'deki sayısal bütünleşmeyi kullanalım: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

Birinci durumda, integral sayısal olarak birbirinden uzaklaşıyor gibi görünmektedir, bu durum farklılığın çok büyük ya da sonsuz olduğunu göstermektedir, ikinci durumda küçüktür, özetleyen: İlk vaka, burada @ Xi'an tarafından cevap olarak analitik sembolik bütünleşme ile doğrulanmıştır:Kullback-Leibler (KL) sapmasının maksimum değeri nedir.

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

Bu bize pratik anlamda ne anlatıyor? Boş modeli standart normal dağılım ancak veriler elde edilirse -Dağıtım, o zaman null adlı reddetmek oldukça kolaydır! Bir Veri t 1 -Dağıtım Normal dağıtılan verileri gibi görünmüyor. Diğer durumda, roller değiştirilir. Boş değer t 1'dir ancak veriler normaldir. Ancak normal dağıtılmış veriler t 1 verisine benzeyebilir , bu yüzden bu problem çok daha zor! Burada n = 1 örneklem büyüklüğümüz var ve normal bir dağılımdan gelebilecek her veri de bir t 1'den gelebilirdi.t1t1t1t1n=1t1! Rolleri değiştirmek, fark etmek, çoğunlukla aykırı rollerden gelir.

Alternatif dağılımda ( ), sıfır (normal) modelde çok küçük bir olasılık olan, büyük bir sapma veren bir numune alma olasılığı vardır. Ancak alternatif dağılım normal olduğunda, elde edebileceğimiz tüm veriler boş t 1 modeli altında ılımlı bir olasılığa (gerçekten, yoğunluk ...) sahip olacak , bu nedenle ayrışma küçük.t1t1

Buradaki cevabımla ilgilidir: Neden normal hatalar yerine t hataları kullanmalıyız?


22

Her şeyden önce, simetri koşulunun ihlali, Kullback-Leibler sapması ile en küçük problemdir. üçgen eşitsizliğini de ihlal ediyor. Simetrik versiyonu S K L ( P , Q ) = D ( P | | Q ) + D ( Q | | P ) olarak sunabilirsiniz , ancak bu hala metrik değildir, çünkü hem D ( P | | Q ) hem de S KD(P||Q)

SKL(P,Q)=D(P||Q)+D(Q||P)
D(P||Q) üçgen eşitsizliğini ihlal ediyor. Kuyruklardan çok daha az kafa üreten üç taraflı A, B & C sikkelerinin alındığını kanıtlamak için, örn. Kafa olasılıkları olan madeni paralar: A = 0.1, B = 0.2 ve C = 0.3. Her iki durumda da düzenli KL sapma D veya onun simetrik versiyonu SKL, değil Fullfil üçgen eşitsizliği yapmak kontrol D ( A | | B ) + D ( B | | C ) D ( A | | C ) S K L ( A , B ) +SKL(P,Q)
D(A||B)+D(B||C)D(A||C)
Sadece bu formülleri kullanın: D ( P | | Q ) = i p ilog ( p i
SKL(A,B)+SKL(B,C)SKL(A,C)
SKL(P,Q)=i(pi-qi)log(pi
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

D(P||Q)D(P||Q)

1[xp(x)q(x)]


7
Eğer biri aslında KL diverjansına daha yakın bir bağlantıya sahip bir metriğe sahip olmakla ilgileniyorsa, Bhattacharyya'nın yerine Jensen-Shannon diverjansının karekökünü düşünebilirler.
kardinal

5

Burada, sorunuza tamamen sezgisel bir cevap vermeye teşvik ediyorum. Söylediklerinizi yeniden ifade ederek, KL sapması bir Hilbert uzayındaki iki veri seti arasındaki mesafeyi hesapladığınız gibi iki dağıtım arasındaki mesafeyi ölçmenin bir yoludur, ancak biraz dikkatli olunmalıdır.

L2

QPKL(P,Q)PQPKL(Q,P)PQQ


4

Bilgi Teorisinin Öğeleri ders kitabı bize bir örnek verir:

Örneğin, rastgele değişkenin gerçek dağılımını p bilseydik, ortalama tanım uzunluğu H (p) olan bir kod oluşturabilirdik. Bunun yerine q kodunu bir dağıtım için kullanırsak, rastgele değişkeni tanımlamak için ortalamada H (p) + D (p || q) bitlerine ihtiyacımız olacaktır.

Yukarıdaki ifadeyi deşifre etmek için, eğer bilgi dağılımını değiştirirsek (q'dan p'ye), yeni dağılımı kodlamak için ortalama D (p || q) ekstra bitlere ihtiyacımız olduğunu söyleyebiliriz.

Bir örnek

Bunun bir dilini doğal dil işlemesinde kullanarak açıklayayım.

İnsanların büyük bir grup, B etiketli, aracılar olduğunu düşünün ve bunların her birinden bir isim seçmek için bir görev verilir turkey, animalve bookve C iletim bunu vermek bunların bir e-posta her gönderebilir bir adam adı A yoktur Onlara bazı ipuçları. Gruptaki hiç kimse e-postayı almadıysa, kaşlarını kaldırabilir ve C'nin ihtiyaç duyduğu şeyi düşünerek bir süre tereddüt edebilir. Ve her bir seçeneğin seçilme olasılığı 1/3. Tamamen tekdüze dağılım (eğer değilse, kendi tercihleri ​​ile ilgili olabilir ve biz bu davaları görmezden geliriz).

Ancak, eğer bir fiil verilirse baste, bunların 3 / 4'ü seçim yapabilir turkeyve 3 animal/ 16'ları seçer ve 1 / 16'ları seçer book. O zaman fiilleri öğrendikten sonra arabulucuların her biri ortalama olarak ne kadar bilgi edindi? Bu:

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

Peki ya verilen fiil ise read? Hepsinin booktereddüt etmeden seçeceğini düşünebiliriz , o zaman fiili her arabulucu için ortalama bilgi kazancı readşudur:

D(p(nouns|read)||p(nouns))=x{book}p(x|read)log2p(x|read)p(x)=1log2113=1.5849  bits
read

Hikayemize devam edelim. C, ismin yanlış olabileceğinden şüpheleniyorsa, çünkü A, yanlış fiilleri arabuluculara göndererek hata yaptığını söyledi. Öyleyse, bitlerdeki bu kadar kötü bir haber ne kadar bilgi C verebilir?

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 hiçbir zaman diğer iki ismin ne olacağını bilmediğinden ve kelime haznesindeki herhangi bir kelimenin mümkün olabileceğini bilmediğinden.

KL sapmasının asimetrik olduğunu görebiliriz.

Umarım haklıyım, lütfen yorum yapıp düzeltmeme yardımcı olmayın. Şimdiden teşekkürler.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.