ความแตกต่างของ KL ระหว่าง Gaussians ที่ไม่เปลี่ยนแปลงสองตัว


79

ฉันจำเป็นต้องกำหนด KL-divergence ระหว่างสอง Gaussians ฉันกำลังเปรียบเทียบผลลัพธ์ของฉันกับสิ่งเหล่านี้แต่ฉันไม่สามารถทำซ้ำผลลัพธ์ของพวกเขาได้ ผลลัพธ์ของฉันผิดอย่างชัดเจนเนื่องจาก KL ไม่ใช่ 0 สำหรับ KL (p, p)

ฉันสงสัยว่าฉันกำลังทำผิดพลาดและถามว่าใครสามารถตรวจสอบได้

ให้p(x)=N(μ1,σ1)และq(x)=N(μ2,σ2) ) จาก PRML ของ Bishop ฉันรู้ว่า

KL(p,q)=−∫p(x)log⁡q(x)dx+∫p(x)log⁡p(x)dx

โดยที่การรวมเข้าด้วยกันจะทำในทุกบรรทัดจริงและ

∫p(x)log⁡p(x)dx=−12(1+log⁡2πσ12),

ดังนั้นฉันจึง จำกัด ตัวเองไว้ที่∫p(x)log⁡q(x)dxซึ่งฉันสามารถเขียนออกมาเป็น

−∫p(x)log⁡1(2πσ22)(1/2)e−(x−μ2)22σ22dx,

ซึ่งสามารถแยกออกเป็น

12log⁡(2πσ22)−∫p(x)log⁡e−(x−μ2)22σ22dx.

รับบันทึกที่ฉันได้รับ

12log⁡(2πσ22)−∫p(x)(−(x−μ2)22σ22)dx,

ที่ซึ่งฉันแยกจำนวนเงินและรับσ22จากอินทิกรัล

12log⁡(2πσ22)+∫p(x)x2dx−∫p(x)2xμ2dx+∫p(x)μ22dx2σ22

ปล่อยให้⟨⟩แสดงถึงความคาดหวังของผู้ประกอบการภายใต้pผมสามารถเขียนนี้เป็น

12log⁡(2πσ22)+⟨x2⟩−2⟨x⟩μ2+μ222σ22.

var(x)=⟨x2⟩−⟨x⟩2

⟨x2⟩=σ12+μ12

และดังนั้นจึง

12log⁡(2πσ2)+σ12+μ12−2μ1μ2+μ222σ22,

ซึ่งฉันสามารถใส่เป็น

12log⁡(2πσ22)+σ12+(μ1−μ2)22σ22.

ฉันเอาทุกอย่างเข้าด้วยกัน

KL(p,q)=−∫p(x)log⁡q(x)dx+∫p(x)log⁡p(x)dx=12log⁡(2πσ22)+σ12+(μ1−μ2)22σ22−12(1+log⁡2πσ12)=log⁡σ2σ1+σ12+(μ1−μ2)22σ22.
1

ทุกคนสามารถสังเกตเห็นข้อผิดพลาดของฉันได้ไหม

ปรับปรุง

ขอบคุณ mpiktas สำหรับการล้างสิ่งต่าง ๆ คำตอบที่ถูกต้องคือ:

KL(p,q)=log⁡σ2σ1+σ12+(μ1−μ2)22σ22−12


x−μ1

สิ่งที่เกี่ยวกับกรณีหลายตัวแปร?

ฉันเพิ่งเห็นในรายงานการวิจัยที่ kld ควรเป็น $ KL (p, q) = ½ * ((μ₁-μ₂) ² + σ₁² + σ₂²) * ((1 / σ₁²) + (1 / σ₂²)) - 2
— skyde

1
∫p(x)log⁡p(x)dx=12(1+log⁡2πσ12)
∫p(x)log⁡p(x)dx=−12(1+log⁡2πσ12)

คำตอบที่ยังอยู่ในของฉัน1996 กระดาษในการสูญเสียที่แท้จริง
— ซีอาน

คำตอบ:


59

ตกลงฉันไม่ดี ข้อผิดพลาดอยู่ในสมการสุดท้าย:

KL(p,q)=−∫p(x)log⁡q(x)dx+∫p(x)log⁡p(x)dx=12log⁡(2πσ22)+σ12+(μ1−μ2)22σ22−12(1+log⁡2πσ12)=log⁡σ2σ1+σ12+(μ1−μ2)22σ22−12

−12μ1=μ2σ1=σ2


@mpiktas ฉันหมายถึงคำถามจริงๆ - bayerj เป็นนักวิจัยที่ได้รับการตีพิมพ์เป็นอย่างดีและฉันเป็นปริญญาตรี ดีใจที่ได้เห็นว่าแม้แต่พวกสมาร์ทก็กลับไปถามทางอินเทอร์เน็ตในบางครั้ง :)
— N. McA

3
μ1σ1μ2σ2

N(u1,σ1)

31

pμ1σ12qμ2σ22qp

∫[log⁡(p(x))−log(q(x))]p(x)dx

=∫[−12log⁡(2π)−log⁡(σ1)−12(x−μ1σ1)2+12log⁡(2π)+log⁡(σ2)+12(x−μ2σ2)2] ×12πσ1exp⁡[−12(x−μ1σ1)2]dx

=∫{log⁡(σ2σ1)+12[(x−μ2σ2)2−(x−μ1σ1)2]} ×12πσ1exp⁡[−12(x−μ1σ1)2]dx

=E1{log⁡(σ2σ1)+12[(x−μ2σ2)2−(x−μ1σ1)2]}

=log⁡(σ2σ1)+12σ22E1{(X−μ2)2}−12σ12E1{(X−μ1)2}

=log⁡(σ2σ1)+12σ22E1{(X−μ2)2}−12

(X−μ2)2=(X−μ1+μ1−μ2)2=(X−μ1)2+2(X−μ1)(μ1−μ2)+(μ1−μ2)2

=log⁡(σ2σ1)+12σ22[E1{(X−μ1)2}+2(μ1−μ2)E1{X−μ1}+(μ1−μ2)2]−12

=log⁡(σ2σ1)+σ12+(μ1−μ2)22σ22−12

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