ทำไมเราใช้ Kullback-Leibler divergence แทนที่จะข้ามเอนโทรปีในฟังก์ชันวัตถุประสงค์ t-SNE


39

ในใจของฉัน KL แตกต่างจากการกระจายตัวอย่างไปจนถึงการแจกแจงที่แท้จริงเป็นเพียงความแตกต่างระหว่างเอนโทรปีและเอนโทรปี

เหตุใดเราใช้ cross entropy เป็นฟังก์ชั่นค่าใช้จ่ายในแบบจำลองการเรียนรู้ของเครื่องหลายเครื่อง แต่ใช้ Kullback-Leibler divergence ใน t-sne ความเร็วในการเรียนรู้แตกต่างกันหรือไม่?


1
ดูที่นี่สำหรับสัญชาตญาณของ KL: stats.stackexchange.com/questions/188903/ …
kjetil b halvorsen

คำตอบ:


81

KL divergence เป็นวิธีธรรมชาติในการวัดความแตกต่างระหว่างการแจกแจงความน่าจะเป็นสองแบบ เอนโทรปีของการกระจายพีจะช่วยให้จำนวนที่น้อยที่สุดของบิตต่อข้อความที่จะต้อง (โดยเฉลี่ย) เพื่อ losslessly เหตุการณ์เข้ารหัสดึงออกมาจากพี การบรรลุขอบเขตนี้จะต้องใช้รหัสที่ดีที่สุดที่ออกแบบมาสำหรับpซึ่งกำหนดคำรหัสสั้นลงให้กับเหตุการณ์ความน่าจะเป็นที่สูงขึ้น D K L ( p q )สามารถตีความได้ว่าเป็นจำนวนที่คาดหวังของบิตพิเศษต่อข้อความที่จำเป็นในการเข้ารหัสเหตุการณ์ที่ดึงออกมาจากการกระจายที่แท้จริงpH(p)pppDKL(pq)pถ้าใช้รหัสที่ดีที่สุดสำหรับการกระจายมากกว่าพี มันมีคุณสมบัติที่ดีสำหรับการเปรียบเทียบการกระจาย ตัวอย่างเช่นถ้าpและqเท่ากันค่าเบี่ยงเบนของ KL คือ 0qppq

H(p,q)pqDKL(pq)H(p,q)pH(p,q)qppH(p,q)p

KL แตกต่างและเอนโทรปีข้ามมีความเกี่ยวข้องดังนี้:

DKL(pq)=H(p,q)H(p)

pqp

pq

pH(p)pH(p)p

pqDKL(pq)pqjipji คือ Kullback-Leibler divergence (ซึ่งในกรณีนี้เท่ากับ cross-entropy ถึงค่าคงที่เพิ่มเติม) "

ฟานเดอร์อัและฮินตัน (2008) การแสดงข้อมูลโดยใช้ t-SNE


ฉันจะตอบ 'ชื่นชอบ' ได้ไหม? ฉันต้องการบันทึกอันนี้เพราะมันเป็นคำอธิบายที่ดีมาก
zwep

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