ความสับสนที่เกี่ยวข้องกับการสุ่มตัวอย่างกิ๊บส์


9

ฉันเจอบทความนี้ที่มันบอกว่าในการสุ่มตัวอย่างกิ๊บส์ทุกตัวอย่างเป็นที่ยอมรับ ฉันสับสนเล็กน้อย ทำไมทุกตัวอย่างที่ยอมรับมันมาบรรจบกับการแจกแจงแบบคงที่

โดยทั่วไปอัลกอริทึม Metropolis เรายอมรับเป็น min (1, p (x *) / p (x)) โดยที่ x * เป็นจุดตัวอย่าง ฉันคิดว่า x * ชี้ให้เราไปยังตำแหน่งที่ความหนาแน่นสูงดังนั้นเราจึงย้ายไปยังการกระจายเป้าหมาย ดังนั้นฉันคิดว่ามันจะย้ายไปยังการกระจายเป้าหมายหลังจากการเผาไหม้ในช่วงเวลา

อย่างไรก็ตามในการสุ่มตัวอย่างของกิ๊บส์เรายอมรับทุกอย่างแม้ว่ามันอาจจะพาเราไปที่อื่น

สมมติว่าเรามีการกระจาย Z เราไม่สามารถคำนวณ Z. ในอัลกอริทึมมหานครเราใช้คำว่าเพื่อรวมการกระจายบวกกับค่าคงที่ normalizing Z ยกเลิก ดังนั้นมันก็โอเคp(θ)=c(θ)/Zc(θnew)/c(θold)c(θ)

แต่ในการสุ่มตัวอย่างกิ๊บส์เราใช้การกระจายที่ไหนc(θ)

สำหรับเช่นในกระดาษhttp://books.nips.cc/papers/files/nips25/NIPS2012_0921.pdfที่กำหนดของมัน

ดังนั้นเราจึงไม่มีการกระจายตามเงื่อนไขที่แน่นอนในการสุ่มตัวอย่างเราแค่มีสิ่งที่เป็นสัดส่วนโดยตรงกับการแจกแจงตามเงื่อนไข

ป้อนคำอธิบายรูปภาพที่นี่


2
Metropolis-Hastings จะเกิดอะไรขึ้นถ้าเป็น 1 เสมอ p(x)/p(x)
Glen_b -Reinstate Monica

คำตอบ:


6

เมื่อเราใช้อัลกอริทึม Metropolis-Hastings เราต้องคำนวณอัตราส่วนการยอมรับ

α=min(1,p(x)p(x))
และปล่อยให้ตัวแปรสุ่ม แล้วเรายอมรับตัวแปรสุ่มถ้าUUUniform(0,1)U<α

อย่างไรก็ตามในกิ๊บส์สุ่มตัวอย่างเรามักจะยกเว้นตัวแปรสุ่มเพราะเราไม่ได้มีการคำนวณอัตราส่วนการยอมรับ (ที่ดีที่คุณทำจริง แต่เมื่อคุณเสียบในสิ่งที่คุณเห็นทุกอย่างที่ยกเลิกออกและอัตราการได้รับการยอมรับของคุณและอื่น ๆ อย่างเห็นได้ชัดนั้นน้อยกว่าเสมอและเนื่องจากคุณยอมรับเสมอ) อย่างไรก็ตามคุณสามารถคิดได้อย่างง่ายดายว่าในการสุ่มตัวอย่างกิ๊บส์คุณกำลังสุ่มตัวอย่างจากเงื่อนไขแบบเต็มซึ่งเป็นนิพจน์รูปแบบปิดที่เราสามารถสุ่มตัวอย่างจากโดยตรงและดังนั้นจึงไม่จำเป็นต้องปฏิเสธตัวอย่างเช่นในขั้นตอนวิธี Metropolis-Hastings ไม่ทราบวิธีการที่จะลิ้มลองจาก (หรือมักจะไม่รู้จักรูปแบบของ)(x) หวังว่าจะช่วย!α=1Uαp(x)

ป้อนคำอธิบายรูปภาพที่นี่


1
ฉันไม่เข้าใจเลยว่าทำไมทุกอย่างถูกยกเลิก สมมุติว่าเราต้องสุ่มตัวอย่างจากการแจกแจงของ 3 ตัวแปร ดังนั้นเมื่อคุณต้องการบอกเงื่อนไขแบบเต็มในนิพจน์แบบปิดคุณหมายถึง p (x1 | x2, x3) p (x2 | x1, x3) และ p (x3 | x1, x2) คำถามของฉันคือในกรณีของการสุ่มตัวอย่างของกิ๊บส์เรารู้ว่าการแจกแจงแบบมีเงื่อนไขที่ได้จากการแจกแจงจริง p ที่เราต้องการตัวอย่าง นั่นคือสิ่งที่คุณหมายถึง ในกรณีของอัลกอริทึม Metropolis เราไม่ทราบ p แต่บางอย่างเช่น c เช่นนั้น p (x) = c (x) / Z ?? p(θ)
user34790

สมมติว่าเราเริ่มต้นด้วยค่าสุ่มสำหรับตัวแปร x1, x2 และ x3 เราจะบอกได้อย่างไรว่าการกระจายแบบอยู่กับที่จะมาบรรจบกัน เกณฑ์สำหรับสิ่งนั้นคืออะไร?
user34790

สมมติว่าฉันมีการกระจาย Z ฉันไม่รู้ Z ดังนั้นฉันจะสุ่มตัวอย่างจากโดยใช้การสุ่มตัวอย่างของกิ๊บส์ได้อย่างไรp(θ)=c(θ)/Zp(θ)
user34790

3
ฉันได้เพิ่มข้อพิสูจน์ข้างต้นว่าเพราะเหตุใดจึงเป็นเช่นนั้นเสมอ ในการใช้การสุ่มตัวอย่างของกิ๊บส์คุณจำเป็นต้องรู้ว่าเงื่อนไขแบบเต็มคืออะไร

1

หลักฐานที่แสดงว่าอัตราการตอบรับเท่ากับ 1 เป็นตัวพิมพ์เช่นในตัวส่วนตรงกลางและส่วนที่สามการแสดงออกของ q ควรมี z_i prime ดังนั้นในที่สุดคุณจะได้ P (z_i prime | z_i prime)

อเล็กซ์

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