พลวัตแฮมิลตันมีประสิทธิภาพเหนือกว่าการเดินแบบสุ่มในอัลกอริทึม Metropolis เสมอในบางกรณี บางคนสามารถอธิบายเหตุผลด้วยคำง่าย ๆ ที่ไม่มีคณิตศาสตร์มากเกินไปได้ไหม
พลวัตแฮมิลตันมีประสิทธิภาพเหนือกว่าการเดินแบบสุ่มในอัลกอริทึม Metropolis เสมอในบางกรณี บางคนสามารถอธิบายเหตุผลด้วยคำง่าย ๆ ที่ไม่มีคณิตศาสตร์มากเกินไปได้ไหม
คำตอบ:
ก่อนอื่นให้ฉันพูดว่าฉันไม่เชื่อว่าอัตราการยอมรับสำหรับ HMC (Hamiltonian Monte Carlo) นั้นสูงกว่าอัลกอริทึม Metropolis เสมอ ตามที่ระบุไว้โดย @JuhoKokkala อัตราการยอมรับของ Metropolis นั้นปรับได้และอัตราการยอมรับสูงไม่ได้หมายความว่าอัลกอริทึมของคุณทำงานได้ดีในการสำรวจการกระจายของหลัง หากคุณใช้การกระจายข้อเสนอที่แคบมาก (เช่นมีขนาดเล็กมาก ) คุณจะได้รับอัตราการยอมรับสูงมาก แต่เพียงเพราะคุณอยู่ในสถานที่เดียวกันเสมอโดยไม่ต้องสำรวจการกระจายหลังเต็มรูปแบบ
สิ่งที่ฉันคิดว่าคุณกำลังถามจริง ๆ (และถ้าฉันถูกแล้วโปรดแก้ไขคำถามของคุณตามนั้น) คือเหตุผลที่ Hamiltonian Monte Carlo มีประสิทธิภาพที่ดีกว่าในบางกรณี ด้วย "ประสิทธิภาพที่ดีกว่า" ฉันหมายถึงว่าสำหรับแอพพลิเคชั่นหลาย ๆ ตัวหากคุณเปรียบเทียบเชนที่ HMC สร้างขึ้นด้วยโซ่ยาวที่มีความยาวเท่ากัน (จำนวนตัวอย่างเท่ากัน) ที่สร้างโดยอัลกอริทึม Metropolis โซ่ HMC ห่วงโซ่ของมหานครพบว่าค่าที่ลดลงสำหรับความน่าจะเป็นบันทึกเชิงลบ (หรือค่าที่ใกล้เคียงกัน แต่ในการวนซ้ำน้อยกว่า) ขนาดตัวอย่างที่มีประสิทธิภาพจะมีขนาดเล็กลงความสัมพันธ์ของกลุ่มตัวอย่างจะสลายตัวเร็วขึ้น
ฉันจะพยายามอธิบายสาเหตุที่เกิดขึ้นโดยไม่ต้องลงรายละเอียดทางคณิตศาสตร์มากเกินไป ดังนั้นก่อนอื่นให้นึกว่าอัลกอริทึม MCMC โดยทั่วไปมีประโยชน์ในการคำนวณอินทิกรัลสูง (ความคาดหวัง) ของฟังก์ชั่น (หรือฟังก์ชั่นอื่น ๆ ) เทียบกับความหนาแน่นเป้าหมายโดยเฉพาะเมื่อเราไม่มี วิธีตัวอย่างโดยตรงจากความหนาแน่นเป้าหมาย:
โดยที่คือเวกเตอร์ของพารามิเตอร์ซึ่งและขึ้นอยู่กับและเป็นพื้นที่พารามิเตอร์ ตอนนี้ในมิติที่สูงปริมาตรของพื้นที่พารามิเตอร์ซึ่งมีส่วนสำคัญที่สุดกับอินทิกรัลด้านบนนั้นไม่ใช่ย่านของโหมดของ (กล่าวคือไม่ใช่ปริมาณที่แคบรอบการประมาณ MLE ของ ) เนื่องจาก ที่นี่มีขนาดใหญ่ แต่ปริมาณมีขนาดเล็กมาก
ตัวอย่างเช่นสมมติว่าคุณต้องการคำนวณระยะทางเฉลี่ยของจุดจากจุดกำเนิดของเมื่อพิกัดเป็นตัวแปร Gaussian อิสระที่มีค่าเฉลี่ยศูนย์และความแปรปรวนของหน่วย ดังนั้นอินทิกรัลด้านบนจะกลายเป็น:
ตอนนี้ความหนาแน่นของเป้าหมายมีค่าสูงสุดอย่างเห็นได้ชัดที่ 0 อย่างไรก็ตามโดยการเปลี่ยน ไปยังพิกัดทรงกลมและแนะนำคุณจะเห็นว่า integrand กลายเป็นสัดส่วนกับ R ฟังก์ชั่นนี้มีระยะชัดสูงสุดในระยะไกลจากจุดกำเนิด ภายในภูมิภาคซึ่งก่อให้เกิดประโยชน์สูงสุดกับมูลค่าของการหนึ่งที่เรียกว่าชุดทั่วไปและสำหรับหนึ่งนี้ชุดทั่วไปคือเปลือกทรงกลมรัศมี{d}
ในตอนนี้ใคร ๆ ก็สามารถแสดงให้เห็นได้ว่าในสภาวะที่เหมาะสมโซ่มาร์คอฟที่สร้างโดย MCMC จะมาบรรจบกันที่จุดหนึ่งในฉากทั่วไปแล้วเริ่มสำรวจทั้งชุดและในที่สุดก็สำรวจรายละเอียดของฉากต่อไป ในการทำเช่นนี้การคาดการณ์ของ MCMC จะมีความแม่นยำมากขึ้นโดยมีอคติและความแปรปรวนซึ่งลดลงตามจำนวนขั้นตอนที่เพิ่มขึ้น
อย่างไรก็ตามเมื่อรูปทรงเรขาคณิตของชุดทั่วไปมีความซับซ้อน (ตัวอย่างเช่นถ้ามันมีจุดยอดในสองมิติ) ดังนั้นอัลกอริธึม Metropolis แบบสุ่มเดินมาตรฐานมีปัญหามากมายในการสำรวจรายละเอียด "พยาธิวิทยา" ของชุด มันมีแนวโน้มที่จะกระโดด "รอบ" ภูมิภาคเหล่านี้แบบสุ่มโดยไม่ต้องสำรวจ ในทางปฏิบัตินี่หมายความว่าค่าประมาณสำหรับอินทิกรัลมีแนวโน้มที่จะแกว่งไปรอบ ๆ ค่าที่ถูกต้องและการขัดจังหวะสายโซ่ด้วยจำนวนขั้นตอนที่ จำกัด จะส่งผลให้การประเมินลำเอียงไม่ดี
ผู้พยายามที่จะเอาชนะปัญหานี้มิลโตเนียนมอนติคาร์โลโดยใช้ข้อมูลที่มีอยู่ในการกระจายเป้าหมาย (ในการไล่ระดับสี) เพื่อแจ้งข้อเสนอของจุดตัวอย่างใหม่แทนที่จะใช้เพียงการกระจายข้อเสนอที่ไม่เกี่ยวข้องกับเป้าหมาย นั่นคือเหตุผลที่เราพูดว่า HMC ใช้อนุพันธ์ของการกระจายเป้าหมายเพื่อสำรวจพื้นที่พารามิเตอร์อย่างมีประสิทธิภาพ อย่างไรก็ตามการไล่ระดับสีของการกระจายเป้าหมายด้วยตัวเองไม่เพียงพอที่จะแจ้งขั้นตอนข้อเสนอ เช่นในตัวอย่างของระยะทางเฉลี่ยของจุดสุ่มจากจุดกำเนิดของการไล่ระดับสีของการกระจายเป้าหมายโดยตัวมันเองนำเราไปสู่โหมดของการกระจาย แต่พื้นที่รอบ ๆ โหมดไม่จำเป็นต้องเป็นพื้นที่ที่ก่อให้เกิดส่วนประกอบที่สำคัญที่สุดข้างต้นนั่นคือไม่ใช่ชุดทั่วไป
เพื่อให้ได้ทิศทางที่ถูกต้องใน HMC เราแนะนำชุดตัวแปรเสริมที่เรียกว่าตัวแปรโมเมนตัม อะนาล็อกทางกายภาพสามารถช่วยได้ที่นี่ ดาวเทียมที่โคจรรอบดาวเคราะห์จะยังคงอยู่ในวงโคจรที่เสถียรเฉพาะเมื่อโมเมนตัมมีค่า "ขวา" มิฉะนั้นมันจะลอยออกไปสู่อวกาศหรือจะถูกลากเข้าหาดาวเคราะห์ด้วยแรงดึงดูด ของการไล่ระดับสีของความหนาแน่นเป้าหมายซึ่ง "ดึง" ไปยังโหมด) ในทำนองเดียวกันพารามิเตอร์โมเมนตัมมีบทบาทในการรักษาตัวอย่างใหม่ภายในชุดทั่วไปแทนที่จะปล่อยให้มันลอยไปทางก้อยหรือไปยังโหมด
นี่เป็นบทสรุปเล็ก ๆ ของเอกสารที่น่าสนใจมากโดย Michael Betancourt ในการอธิบาย Hamiltonian Monte Carlo โดยไม่มีคณิตศาสตร์มากเกินไป คุณสามารถค้นหากระดาษซึ่งจะไปในรายละเอียดมากที่นี่
สิ่งหนึ่งที่กระดาษไม่ครอบคลุมในรายละเอียดเพียงพอ IMO คือเวลาและสาเหตุที่ HMC สามารถทำได้แย่กว่า Metropolis แบบเดินสุ่ม สิ่งนี้ไม่ได้เกิดขึ้นบ่อยครั้ง (จากประสบการณ์ที่ จำกัด ของฉัน) แต่มันสามารถเกิดขึ้นได้ ท้ายที่สุดคุณแนะนำการไล่ระดับสีซึ่งช่วยให้คุณหาทางในพื้นที่พารามิเตอร์แบบมิติสูง แต่คุณยังเพิ่มมิติของปัญหาเป็นสองเท่า ในทางทฤษฎีมันอาจเกิดขึ้นที่ช้าลงเนื่องจากการเพิ่มขึ้นของขนาดที่เอาชนะการเร่งความเร็วที่ได้รับจากการใช้ประโยชน์จากการไล่ระดับสี ยิ่งไปกว่านั้น (และสิ่งนี้ถูกกล่าวถึงในกระดาษ) หากชุดทั่วไปมีพื้นที่ที่มีความโค้งสูง HMC อาจ "เกินขนาด" เช่นมันสามารถเริ่มต้นการสุ่มตัวอย่างจุดไร้ประโยชน์ที่อยู่ไกลออกไปในหาง อย่างไรก็ตาม สิ่งนี้ทำให้เกิดความไม่แน่นอนของตัวรวม symplectic ซึ่งใช้ในทางปฏิบัติเพื่อใช้ HMC เชิงตัวเลข ดังนั้นปัญหาประเภทนี้สามารถวินิจฉัยได้ง่าย
@JuhoKokkala พูดถึงในความคิดเห็นแล้วอัตราการตอบรับที่สูงนั้นไม่จำเป็นว่าจะต้องให้ประสิทธิภาพที่ดี อัตราการยอมรับของ Metropolis Hastings สามารถเพิ่มขึ้นได้โดยลดการกระจายข้อเสนอ แต่สิ่งนี้จะทำให้ขั้นตอนเล็กลงซึ่งจะใช้เวลาในการสำรวจการกระจายเป้าหมาย ในทางปฏิบัติมีการแลกเปลี่ยนระหว่างขนาดขั้นตอนและอัตราการยอมรับและความสมดุลที่เหมาะสมเป็นสิ่งจำเป็นเพื่อให้ได้ประสิทธิภาพที่ดี
Hamiltonian Monte Carlo มีแนวโน้มที่จะมีประสิทธิภาพสูงกว่า Metropolis Hastings เพราะสามารถไปถึงจุดที่ห่างไกลมากขึ้นด้วยความน่าจะเป็นที่สูงขึ้นของการยอมรับ ดังนั้นคำถามคือทำไมไม่ HMC แนวโน้มที่จะมีความน่าจะได้รับการยอมรับสูงกว่า MH สำหรับจุดที่ห่างไกลมากขึ้น ?
MH มีปัญหาในการเข้าถึงจุดที่ห่างไกลเนื่องจากข้อเสนอของมันเกิดขึ้นโดยไม่ใช้ข้อมูลเกี่ยวกับการกระจายเป้าหมาย โดยทั่วไปการกระจายข้อเสนอจะเป็นแบบ isotropic (เช่น Gaussian สมมาตร) ดังนั้นในแต่ละจุดอัลกอริทึมจะพยายามย้ายระยะทางแบบสุ่มในทิศทางที่สุ่ม หากระยะทางมีค่าน้อยเมื่อเทียบกับการกระจายตัวของเป้าหมายที่เปลี่ยนแปลงไปในทิศทางนั้นอย่างรวดเร็วมีความเป็นไปได้สูงที่ความหนาแน่นของตำแหน่งปัจจุบันและจุดใหม่จะใกล้เคียงกัน ในระยะทางที่ไกลกว่านั้นการกระจายเป้าหมายอาจเปลี่ยนไปค่อนข้างน้อยเมื่อเทียบกับจุดปัจจุบัน ดังนั้นโอกาสในการหาจุดที่คล้ายกันหรือ (หวังว่า) ความหนาแน่นสูงกว่าอาจจะแย่โดยเฉพาะอย่างยิ่งเมื่อมิติเพิ่มขึ้น ตัวอย่างเช่นหากจุดปัจจุบันอยู่บนสันเขาแคบก็จะมี '
ในทางตรงกันข้าม HMC ใช้โครงสร้างของการกระจายเป้าหมาย กลไกข้อเสนอของมันสามารถคิดได้ว่าใช้การเปรียบเทียบทางกายภาพตามที่อธิบายไว้ใน Neal (2012) ลองนึกภาพเด็กซนที่ลื่นบนพื้นผิวที่เป็นเนินและไร้แรงเสียดทาน ตำแหน่งของเด็กซนแสดงถึงจุดปัจจุบันและความสูงของพื้นผิวแทนบันทึกเชิงลบของการกระจายเป้าหมาย เพื่อให้ได้จุดที่เสนอใหม่เด็กซนจะได้รับโมเมนตัมพร้อมทิศทางและขนาดแบบสุ่มจากนั้นพลวัตของมันจะถูกจำลองเมื่อเลื่อนผ่านพื้นผิว เด็กซนจะเร่งในทิศทางลงเขาและชะลอตัวลงในทิศทางขึ้นเนิน (อาจหยุดและเลื่อนกลับลงเนินอีกครั้ง) วิถีที่เคลื่อนที่ไปด้านข้างตามผนังหุบเขาจะโค้งลง ดังนั้นภูมิทัศน์เองจึงมีอิทธิพลต่อวิถีและดึงมันไปสู่บริเวณที่มีโอกาสสูงกว่า โมเมนตัมสามารถอนุญาตให้เด็กซนหงอนไปบนเนินเขาเล็ก ๆ และยังมีแอ่งน้ำขนาดเล็ก ตำแหน่งของเด็กซนหลังจากขั้นตอนบางครั้งให้จุดที่เสนอใหม่ซึ่งเป็นที่ยอมรับหรือปฏิเสธโดยใช้กฎมาตรฐานของเมือง การใช้ประโยชน์จากการกระจายเป้าหมาย (และการไล่ระดับสี) เป็นสิ่งที่ช่วยให้ HMC เข้าถึงจุดที่ห่างไกลด้วยอัตราการตอบรับที่สูง
นี่เป็นรีวิวที่ดี:
โอนีล (2012) MCMC ใช้การเปลี่ยนแปลงแบบมิลโตเนียน
ในฐานะที่เป็นคำตอบที่หลวม (ซึ่งดูเหมือนจะเป็นสิ่งที่คุณกำลังมองหา) วิธีการของแฮมิลตันนั้นคำนึงถึงความน่าจะเป็นของบันทึกในขณะที่อัลกอริธึม MH ไม่ได้มาตรฐาน