มูลค่าสูงสุดของการผันแปร 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+x2⏞Cauchy densityq(x)=12πexp⁡{−x2/2}⏞Normal density
∫ 1
KL(P||Q)=∫1π11+x2log⁡p(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 ไปไม่มีที่สิ้นสุด นอกจากนี้ยังใช้สำหรับการแจกแจงแบบแยกซึ่งเป็นกรณีของคุณx′p(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_≡infx∈Xq(x)>0.

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

p¯≡supx∈Xp(x)>0.

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

supx∈Xln⁡(p(x)q(x))⩽ln⁡(p¯)−ln⁡(q_).

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

KL(P||Q)=∫Xln⁡(p(x)q(x))p(x)dx⩽supx∈Xln⁡(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.