Berapa nilai maksimum divergensi Kullback-Leibler (KL)

14

Saya akan menggunakan KL divergence dalam kode python saya dan saya mendapatkan tutorial ini .

Pada tutorial itu, untuk mengimplementasikan KL divergence cukup sederhana.

kl = (model * np.log(model/actual)).sum()

Seperti yang saya pahami, distribusi probabilitas modeldan actualharus <= 1.

Pertanyaan saya adalah, apa nilai maksimum k / terikat maksimum? Saya perlu tahu nilai maksimum yang mungkin dari jarak kl untuk batas maksimum dalam kode saya.

pengguna46543
sumber
Ini adalah duplikat dari stats.stackexchange.com/q/333877/103153
Lerner Zhang

Jawaban:

16

Atau bahkan dengan dukungan yang sama, ketika satu distribusi memiliki ekor yang jauh lebih gemuk dari yang lainnya. Ambil K L ( P | | Q ) = p ( x ) log ( p ( x )q ( x ) )d x

KL(P||Q)=p(x)log(p(x)q(x))dx
saat p ( x ) = Kepadatan cauchy ⏞ 1π11 + x 2q ( x ) = Kepadatan normal 12 πexp { - x 2 / 2 }
p(x)=1π11+x2Cauchy densityq(x)=12πexp{x2/2}Normal density
maka KL(P||Q)=1π11 + x 2 logp(x)d x + 1π11 + x 2 [log(2π)/2+x2/2]d x
KL(P||Q)=1π11+x2logp(x)dx+1π11+x2[log(2π)/2+x2/2]dx
dan 1π11 + x 2 x2/2d x = +
1π11+x2x2/2dx=+
Ada jarak lain yang tetap dibatasi seperti
  • yang L ¹L¹ jarak, setara dengan total jarak variasi,
  • jarak Wasserstein
  • jarak Hellinger
Xi'an
sumber
1
Komentar yang sangat bagus @ Xi'an
Carlos Campos
Terima kasih @ Xi'an apakah itu berarti, bahkan jumlah semua sampah untuk kedua distribusi adalah = 1, kl divergence tidak memiliki batas maksimum? apakah Anda memiliki fungsi jarak opsi lain untuk dua distribusi probabilitas yang telah menetapkan batas maksimum / batas statis?
user46543
Apakah P benar-benar berkelanjutan sehubungan dengan Q dalam kasus ini?
Sangwoong Yoon
Dalam hal ini"? KL tidak didefinisikan sebagai untuk distribusi yang tidak benar-benar kontinu antara satu sama lain, saya percaya.
Xi'an
12

Untuk distribusi yang tidak memiliki dukungan yang sama, perbedaan KL tidak dibatasi. Lihatlah definisi:

K L ( P | | Q ) = - p ( x ) ln ( p ( x )q ( x ) )dx

KL(P||Q)=p(x)ln(p(x)q(x))dx

jika P dan Q tidak memiliki dukungan yang sama, ada beberapa titik x ′ di mana p ( x ) 0 dan q ( x ) = 0 , membuat KL menjadi tak terhingga. Ini juga berlaku untuk distribusi diskrit, yang merupakan kasus Anda.xp(x)0q(x)=0

Sunting: Mungkin pilihan yang lebih baik untuk mengukur divergensi antara distribusi probabilitas adalah apa yang disebut jarak Wasserstein yang merupakan metrik dan memiliki sifat yang lebih baik daripada divergensi KL. Ini telah menjadi sangat populer karena penerapannya dalam pembelajaran mendalam (lihat jaringan WGAN)

Carlos Campos
sumber
Terima kasih @ carlos-campos distribusi saya baik model aktual dan memiliki kondisi yang sama yang merupakan jumlah semua sampah = 1. Apakah itu berarti divergensi Kl saya masih belum memiliki batas maksimum? Saya akan melihat jarak
wassertein
apakah jarak Wasserstein atau Bumi memiliki batas maksimum eksplisit? karena saya membutuhkannya.
user46543
@ user46543 Jarak Wasserstein bisa setinggi
Mark L. Stone
Hai @ MarkL. Batu sehingga tidak ada fungsi jarak untuk menghitung jarak antara dua distribusi probabilitas yang memiliki batas maksimum statis? mis. sementara dua distribusi probabilitas memiliki jumlah 1 dan batas maksimum jaraknya adalah 1. Apakah saya benar?
user46543
3

Untuk menambah jawaban yang sangat baik oleh Carlos dan Xi'an , juga menarik untuk dicatat bahwa kondisi yang cukup untuk divergensi KL menjadi terbatas adalah untuk kedua variabel acak memiliki dukungan kompak yang sama, dan untuk kepadatan referensi yang akan dibatasi. . Hasil ini juga menetapkan batas implisit untuk maksimum divergensi KL (lihat teorema dan bukti di bawah).


Teorema: Jika kepadatan p dan q memiliki dukungan kompak X yang sama dan kepadatan p terikat pada dukungan itu (yaitu, memiliki batas atas terbatas) maka K L ( P | | Q ) < .pqXpKL(P||Q)<

Bukti: Karena q memiliki dukungan kompak X ini berarti ada beberapa nilai positif maksimum:qX

q _ inf x X q(x)>0.

qinfxXq(x)>0.

Demikian pula, karena p memiliki dukungan kompak X ini berarti ada beberapa nilai supremum positif:pX

ˉ psupx X p(x)>0.

p¯supxXp(x)>0.

Selain itu, karena ini adalah kepadatan pada dukungan yang sama, dan yang terakhir dibatasi, kami memiliki 0 < q _ˉ p < . Ini berarti:0<qp¯<

sup x X ln ( p ( x )q ( x ) )ln( ˉ p )-ln(q_).

supxXln(p(x)q(x))ln(p¯)ln(q).

Sekarang, membiarkan L _ln ( ˉ p ) - ln ( q _ ) menjadi batas atas yang terakhir, kita jelas memiliki 0 L _ < sehingga:Lln(p¯)ln(q)0L<

K L ( P | | Q )= X ln ( p ( x )q ( x ) )p(x)dxsup x X ln ( p ( x )q ( x ) ) X p(x)dx( ln ( ˉ p ) - ln ( q _ ) ) X p ( x ) d x= L _ < .

KL(P||Q)=Xln(p(x)q(x))p(x)dxsupxXln(p(x)q(x))Xp(x)dx(ln(p¯)ln(q))Xp(x)dx=L<.

Ini menetapkan batas atas yang diperlukan, yang membuktikan teorema.

Pasang kembali Monica
sumber
Hasilnya benar tetapi kendala berat: kerapatan Beta B ( α , β ) tidak menikmati dukungan padat ketika maks ( α , β ) > 1 . B(α,β)max(α,β)>1
Xi'an
That's true: it is only a sufficient condition after all. Weaker sufficient conditions are welcome!
Reinstate Monica