ประเมิน Kullback Leibler (KL) ด้วยความแตกต่าง monte carlo


10

ฉันต้องการประเมินความแตกต่างของ KL ระหว่างการแจกแจงแบบต่อเนื่องสองค่า f และ g อย่างไรก็ตามฉันไม่สามารถเขียนความหนาแน่นสำหรับ f หรือ g ได้ ฉันสามารถสุ่มตัวอย่างจากทั้ง f และ g ผ่านวิธีการบางอย่าง (เช่น markov chain monte carlo)

KL แตกต่างจาก f ถึง g ถูกกำหนดเช่นนี้

DKL(f||g)=f(x)log(f(x)g(x))dx

นี่คือความคาดหวังของด้วยความเคารพ f ดังนั้นคุณสามารถจินตนาการถึงการประมาณ monte carlolog(f(x)g(x))

1NiNlog(f(xi)g(xi))

ที่ฉันจัดทำดัชนีตัวอย่าง N ที่ดึงมาจาก f (เช่นสำหรับ i = 1, ... , N)xif()

อย่างไรก็ตามเนื่องจากฉันไม่รู้ f () และ g () ฉันจึงไม่สามารถใช้การประมาณ monte carlo นี้ได้ วิธีมาตรฐานในการประเมิน KL ในสถานการณ์นี้คืออะไร

แก้ไข: ฉันไม่ทราบความหนาแน่นผิดปกติสำหรับ f () หรือ g ()


คุณได้พิจารณาใช้ ecdfs หรือไม่?
Toby

สิ่งนี้จะใช้งานได้ แต่มันอาจทำงานช้าโดยพลการสำหรับตัวเลือก f และ g (ปิดหรือปิดท้าย) หากคุณตัดสินใจที่จะเพิกเฉยกลุ่มตัวอย่างออกไปจากก้อยคุณอาจมีโชคมากขึ้นเมื่ออยู่บนขอบ roc
Christian Chapman

คำตอบ:


7

ฉันคิดว่าคุณสามารถประเมินและได้ถึงค่าคงที่ normalizing แสดงว่าและg_ufgf(x)=fu(x)/cfg(x)=gu(x)/cg

ตัวประมาณที่สอดคล้องกันที่อาจใช้คือ โดยที่ เป็นความสำคัญการสุ่มตัวอย่างประมาณการสำหรับอัตราส่วนc_fที่นี่คุณใช้และเป็นความหนาแน่นของอุปกรณ์สำหรับและตามลำดับและเพื่อกำหนดเป้าหมายอัตราส่วนการบันทึกของความหนาแน่นผิดปกติ

DKL^(f||g)=[n1jfu(xj)/πf(xj)]11NiN[log(fu(zi)gu(zi))fu(zi)πr(zi)]log(r^)
(1)r^=1/n1/njfu(xj)/πf(xj)jgu(yj)/πg(yj).
cf/cgπfπgfuguπr

ดังนั้นขอให้ ,และ\ เศษของ (1) ลู่ไปc_fตัวหารลู่ไปc_gอัตราส่วนสอดคล้องกับทฤษฎีบทการทำแผนที่อย่างต่อเนื่อง บันทึกของอัตราส่วนสอดคล้องกันโดยการทำแผนที่ต่อเนื่องอีกครั้ง{xi}πf{yi}πg{zi}πrcfcg

เกี่ยวกับส่วนอื่น ๆ ของตัวประมาณ ตามกฎหมายจำนวนมาก

1NiN[log(fu(zi)gu(zi))fu(zi)πr(zi)]ascfE[log(fu(zi)gu(zi))]

แรงจูงใจของฉันคือ:

DKL(f||g)=f(x)log(f(x)g(x))dx=f(x){log[fu(x)gu(x)]+log[cgcf]}dx=Ef[logfu(x)gu(x)]+log[cgcf]=cf1Eπr[logfu(x)gu(x)fu(x)πr(x)]+log[cgcf].
ดังนั้นฉันจะแบ่งมันออกเป็นชิ้นง่ายต่อการเข้าใจ

สำหรับแนวคิดเพิ่มเติมเกี่ยวกับวิธีจำลองอัตราส่วนความน่าจะเป็นฉันพบกระดาษที่มีจำนวนน้อย: https://projecteuclid.org/download/pdf_1/euclid.aos/1031594732


(+1) เป็นที่น่าสังเกตว่าการสุ่มตัวอย่างสำคัญอาจมีความแปรปรวนสูงมาก (แม้แต่ความแปรปรวนแบบไม่สิ้นสุด) หากการกระจายเป้าหมายมีหางที่อ้วนกว่าการกระจายที่คุณสุ่มตัวอย่างจากและ / หรือจำนวนมิติมีขนาดใหญ่
David J. Harris

@ DavidJ.Harris จริงมาก
เทย์เลอร์

6

ที่นี่ฉันคิดว่าคุณสามารถตัวอย่างจากแบบจำลองเท่านั้น ไม่สามารถใช้ฟังก์ชันความหนาแน่นที่ผิดปกติได้

คุณเขียนมัน

DKL(f||g)=f(x)log(f(x)g(x)=:r)dx,

ที่ฉันได้กำหนดอัตราส่วนของความน่าจะเป็นที่จะเป็นRAlex Smola เขียนแม้ว่าในบริบทที่แตกต่างกันซึ่งคุณสามารถประมาณอัตราส่วนเหล่านี้ "ได้ง่าย" โดยเพียงแค่การฝึกอบรมตัวจําแนก ให้เราสมมติคุณได้รับลักษณนามซึ่งสามารถบอกคุณน่าจะเป็นที่สังเกตได้รับการสร้างขึ้นโดยฉโปรดทราบว่าx) แล้ว:rp(f|x)xfp(g|x)=1p(f|x)

r=p(x|f)p(x|g)=p(f|x)p(x)p(g)p(g|x)p(x)p(f)=p(f|x)p(g|x),

ที่ขั้นตอนแรกคือเนื่องจากเบส์และสุดท้ายต่อจากสมมติฐานที่ว่า(ฉ)p(g)=p(f)

การจัดลักษณนามดังกล่าวนั้นค่อนข้างง่ายด้วยสองเหตุผล

ก่อนอื่นคุณสามารถทำการอัพเดทสุ่ม นั่นหมายความว่าหากคุณใช้เครื่องมือเพิ่มประสิทธิภาพแบบไล่ระดับสีซึ่งเป็นเรื่องปกติสำหรับการถดถอยโลจิสติกหรือเครือข่ายประสาทคุณสามารถดึงตัวอย่างจากแต่ละและและทำการอัปเดตfg

ประการที่สองเนื่องจากคุณมีข้อมูลแทบไม่ จำกัด - คุณสามารถสุ่มตัวอย่างและสู่ความตาย - คุณไม่ต้องกังวลกับการ overfitting หรือสิ่งที่คล้ายกันfg


0

นอกเหนือจากวิธีการลักษณนามของความน่าจะเป็นที่กล่าวถึงโดย @bayerj คุณสามารถใช้ขอบเขตล่างของความแตกต่าง KL ที่ได้รับใน [1-2]:

KL[fg]supT{Exf[T(x)]Exg[exp(T(x)1)]},
ที่เป็นกฎเกณฑ์ ฟังก์ชัน ภายใต้เงื่อนไขที่ไม่รุนแรงบางอย่างขอบเขต จำกัด สำหรับ: T:XR
T(x)=1+ln[f(x)g(x)]

ที่จะประเมินความแตกต่างระหว่าง KLและเราเพิ่ม WRT ขอบเขตล่างไปยังฟังก์ชัน(x)fgT(x)

อ้างอิง:

[1] Nguyen, X. , Wainwright, MJ และ Jordan, MI, 2010 การประมาณฟังก์ชัน divergence และอัตราส่วนความน่าจะเป็นโดยการลดความเสี่ยงให้น้อยที่สุด ธุรกรรม IEEE บนทฤษฎีข้อมูล 56 (11), pp.5847-5861

[2] Nowozin, S. , Cseke, B. และ Tomioka, R. , 2016 f-gan: การฝึกอบรมตัวอย่างระบบประสาทกำเนิดโดยใช้การลดความแปรปรวนแบบผันแปร ในความก้าวหน้าในระบบประมวลผลข้อมูลประสาท (หน้า 271-279)

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