ฉันกำลังออกแบบอัลกอริทึมการสุ่มตัวอย่างแบบไฮบริดมอนติคาร์โลสำหรับPyMCและฉันพยายามทำให้มันยุ่งยากและเป็นไปได้โดยทั่วไปดังนั้นฉันกำลังมองหาคำแนะนำที่ดีในการออกแบบอัลกอริทึม HMC ฉันได้อ่านบทสำรวจของ RadfordและBeskos et กระดาษล่าสุดของการปรับจูน (ขนาดขั้นตอน) ที่เหมาะสมของ HMC และฉันได้รวบรวมเคล็ดลับต่อไปนี้:
- ตัวแปรโมเมนตัมควรแจกจ่ายด้วยความแปรปรวนร่วม , โดยทั่วไปคืออะไรบางอย่างเช่นเมทริกซ์ความแปรปรวนร่วมของการแจกแจง (สำหรับการแจกแจงแบบง่าย), แต่อาจแตกต่างกันไป โดยค่าเริ่มต้นฉันใช้ hessian ที่โหมด
- ควรคำนวณวิถีด้วยวิธี leapfrog (ผู้ประกอบการรายอื่นดูเหมือนจะไม่คุ้มค่า)
- อัตราการยอมรับที่เหมาะสมคือ. 651 สำหรับปัญหาที่มีขนาดใหญ่มากและสูงกว่านั้น
- ขนาดสเต็ปควรถูกปรับสัดส่วนเช่นโดยที่เป็นตัวแปรอิสระและคือจำนวนมิติ
- ขนาดของขั้นตอนควรมีขนาดเล็กลงเมื่อมีหางแสงหรือภูมิภาคอื่นที่มีลักษณะความมั่นคงแปลก การสุ่มขนาดขั้นตอนสามารถช่วยได้
มีความคิดอื่น ๆ ที่ฉันควรนำมาใช้หรืออย่างน้อยพิจารณา? เอกสารอื่น ๆ ที่ฉันควรอ่าน? ตัวอย่างเช่นมีอัลกอริทึมขนาดขั้นตอนการปรับตัวที่คุ้มค่าหรือไม่ มีคำแนะนำที่ดีเกี่ยวกับความยาววิถีหรือไม่? ในความเป็นจริงแล้วผู้ประกอบการที่ดีกว่า
บางคนได้โปรดทำให้ชุมชนนี้เป็นวิกิ