มูลค่าสูงสุดของการผันแปร Kullback-Leibler (KL) คืออะไร


15

ฉันจะใช้ KL divergence ในรหัสหลามของฉันและฉันได้รับการสอนนี้

ในบทช่วยสอนนั้นการใช้ KL divergence นั้นค่อนข้างง่าย

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

ดังที่ฉันเข้าใจการกระจายความน่าจะเป็นของmodelและactualควรเป็น <= 1

คำถามของฉันคืออะไรค่าสูงสุดที่เป็นไปได้ / ค่าสูงสุดที่เป็นไปได้คือ k ฉันจำเป็นต้องรู้ค่าสูงสุดที่เป็นไปได้ของระยะทาง kl สำหรับขอบเขตสูงสุดในรหัสของฉัน


สิ่งนี้ซ้ำกับstats.stackexchange.com/q/333877/103153
Lerner Zhang

คำตอบ:


19

หรือแม้กระทั่งด้วยการสนับสนุนเดียวกันเมื่อกระจายหนึ่งมีหางที่อ้วนกว่ามาก ๆ ใช้ เมื่อ แล้ว และ มีระยะทางอื่นที่ยังคงมีขอบเขตเช่นp ( x ) = ความหนาแน่น Cauchy 1

KL(P||Q)=p(x)log(p(x)q(x))dx
KL(P||Q)=1
p(x)=1π11+x2Cauchy densityq(x)=12πexp{x2/2}Normal density
1
KL(P||Q)=1π11+x2logp(x)dx+1π11+x2[log(2π)/2+x2/2]dx
1π11+x2x2/2dx=+
  • ระยะเทียบเท่ากับระยะการเปลี่ยนแปลงทั้งหมดL¹
  • ระยะทาง Wasserstein
  • ระยะทางของ Hellinger

1
คำพูดที่ดีมาก @ ซีอาน
Carlos Campos

ขอบคุณ @ ซีอานนั่นหมายความว่าแม้ผลรวมของถังขยะทั้งหมดสำหรับการแจกแจงทั้งสองคือ = 1, kl divergence ไม่มีขอบเขตสูงสุด? คุณมีฟังก์ชั่นระยะทางตัวเลือกอื่น ๆ สำหรับการแจกแจงความน่าจะเป็นสองแบบที่มีการกำหนดขอบเขต / สแตติกสูงสุด
user46543

P ต่อเนื่องกับ Q ในกรณีนี้หรือไม่
Sangwoong Yoon

ในกรณี "ใด" KL ไม่ได้ถูกกำหนดไว้สำหรับการแจกแจงที่ไม่ใช่การเขียนอย่างต่อเนื่องอย่างที่ฉันเชื่อ
ซีอาน

13

สำหรับการแจกแจงที่ไม่มีการสนับสนุนเดียวกัน KL divergence จะไม่ถูก จำกัด ขอบเขต ดูคำจำกัดความ:

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

ถ้า P และ Q ไม่สนับสนุนเหมือนกันมีบางจุดที่และทำให้ KL ไปไม่มีที่สิ้นสุด นอกจากนี้ยังใช้สำหรับการแจกแจงแบบแยกซึ่งเป็นกรณีของคุณxp(x)0q(x)=0

แก้ไข:อาจเป็นทางเลือกที่ดีกว่าในการวัดความแตกต่างระหว่างการแจกแจงความน่าจะเป็นระยะทางที่เรียกว่า Wasserstein ซึ่งเป็นตัวชี้วัดและมีคุณสมบัติที่ดีกว่า KL divergence มันได้กลายเป็นที่นิยมมากเนื่องจากการใช้งานในการเรียนรู้ลึก (ดูเครือข่าย WGAN)


ขอบคุณ @ carlos-campos การกระจายของฉันทั้งจริงและรุ่นมีเงื่อนไขเดียวกันซึ่งเป็นผลรวมของถังขยะทั้งหมด = 1 นั่นหมายความว่าความแตกต่าง Kl ของฉันยังคงไม่มีขอบเขตสูงสุด? ฉันจะดูระยะทาง
wassertein

ระยะทางผู้เสนอญัตติ Wasserstein หรือ Earth มีขอบเขตสูงสุดที่ชัดเจนหรือไม่ เพราะฉันต้องการมัน
user46543

@ user46543 ระยะ Wasserstein อาจสูงถึง
Mark L. Stone

สวัสดี @ MarkL.Stone ดังนั้นจึงไม่มีฟังก์ชั่นระยะทางสำหรับการคำนวณระยะห่างระหว่างการแจกแจงความน่าจะเป็นสองแบบที่มีค่าคงที่สูงสุดคงที่? เช่นในขณะที่การแจกแจงความน่าจะเป็นสองแบบมีผลรวมเป็น 1 และขอบเขตสูงสุดของระยะทางจะเป็น 1 ฉันแก้ไขหรือไม่
user46543

4

เพื่อเพิ่มคำตอบที่ยอดเยี่ยมโดยคาร์ลอสและซีอานมันเป็นเรื่องที่น่าสนใจที่จะทราบว่าเงื่อนไขที่เพียงพอสำหรับการแยก KL จะมีค่า จำกัด สำหรับตัวแปรสุ่มทั้งคู่ที่จะมีการสนับสนุนที่กะทัดรัดและสำหรับความหนาแน่นของการอ้างอิง . ผลลัพธ์นี้ยังกำหนดขอบเขตที่แน่นอนสำหรับความแตกต่างสูงสุดของ KL (ดูทฤษฎีบทและบทพิสูจน์ด้านล่าง)


ทฤษฎีบท:ถ้าความหนาแน่นและมีเหมือนกันตกลงสนับสนุนและความหนาแน่นตั้งอยู่ทางทิศสนับสนุน (เช่นเป็นมี จำกัด ขอบเขตบน) แล้ว<\pqXpKL(P||Q)<

พิสูจน์:เนื่องจากมีขนาดกะทัดรัดรองรับซึ่งหมายความว่ามีค่าต่ำสุดที่เป็นบวก:qX

q_infxXq(x)>0.

ในทำนองเดียวกันเนื่องจากมีการสนับสนุนที่กะทัดรัดซึ่งหมายความว่ามีค่า supremum ที่เป็นบวก:pX

p¯supxXp(x)>0.

นอกจากนี้ตั้งแต่เหล่านี้มีทั้งความหนาแน่นในการสนับสนุนเดียวกันและหลังตั้งอยู่ทางทิศเรามี<\ ซึ่งหมายความว่า:0<q_p¯<

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

ตอนนี้ให้เป็นขอบเขตบนหลังเราเห็นได้ชัดว่ามีดังนั้น ที่:L_ln(p¯)ln(q_)0L_<

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_<.

สิ่งนี้กำหนดขอบเขตบนที่ต้องการซึ่งพิสูจน์ทฤษฎีบท


ผลที่ได้คือต้อง แต่ข้อ จำกัด หนักกเบต้าความหนาแน่นไม่ได้เพลิดเพลินไปกับการสนับสนุนที่มีขนาดกะทัดรัดเมื่อ 1 B(α,β)max(α,β)>1
ซีอาน

นั่นเป็นความจริง: มันเป็นเพียงเงื่อนไขที่เพียงพอหลังจากทั้งหมด ยินดีต้อนรับเงื่อนไขที่อ่อนแอกว่านี้!
เบ็น - คืนสถานะโมนิก้า
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.