ฉันกำลังใช้การฝึกอบรม Viterbiสำหรับปัญหาการแบ่งส่วนภาพ ฉันต้องการทราบว่าข้อดี / ข้อเสียของการใช้อัลกอริทึม Baum-Welch แทนการฝึกอบรม Viterbi
ฉันกำลังใช้การฝึกอบรม Viterbiสำหรับปัญหาการแบ่งส่วนภาพ ฉันต้องการทราบว่าข้อดี / ข้อเสียของการใช้อัลกอริทึม Baum-Welch แทนการฝึกอบรม Viterbi
คำตอบ:
อัลกอริทึม Baum-Welch และอัลกอริทึม Viterbi คำนวณสิ่งต่าง ๆ
หากคุณทราบถึงความน่าจะเป็นที่จะเกิดการเปลี่ยนแปลงสำหรับส่วนที่ซ่อนอยู่ในแบบจำลองของคุณและความน่าจะเป็นที่ปล่อยออกมาสำหรับผลลัพธ์ที่มองเห็นได้ของแบบจำลองของคุณแล้วอัลกอริทึม Viterbi จะให้โอกาสคุณมากที่สุด ลำดับที่สมบูรณ์
อัลกอริทึม Baum-Welch ให้ทั้งความน่าจะเป็นที่ซ่อนเร้นการเปลี่ยนแปลงที่น่าจะเป็นไปได้มากที่สุดรวมถึงเซตที่น่าจะเป็นไปได้มากที่สุดจากสถานะของแบบจำลองที่สังเกตได้เท่านั้น นอกจากนี้คุณยังได้รับคะแนนความน่าจะเป็นที่ "ชี้ตาม" ในสถานะที่ซ่อนอยู่ซึ่งมักจะแตกต่างจากลำดับที่ซ่อนอยู่เพียงครั้งเดียวซึ่งโดยรวมมีแนวโน้มมากที่สุด
หากคุณรู้จักโมเดลของคุณและต้องการสถานะแฝงแสดงว่าไม่มีเหตุผลใดที่จะใช้อัลกอริทึม Baum-Welch หากคุณไม่รู้จักโมเดลของคุณแสดงว่าคุณไม่สามารถใช้อัลกอริทึม Viterbi ได้
แก้ไขเพื่อเพิ่ม: ดูความคิดเห็นของ Peter Smit; มีการทับซ้อน / ความคลุมเครือบางอย่างในระบบการตั้งชื่อ บางคนพาฉันไปที่บทโดย Luis Javier Rodrıguezและ Ines Torres ใน "การจดจำรูปแบบและการวิเคราะห์ภาพ" (ไอ 978-3-540-40217-6, pp 845-857) ซึ่งกล่าวถึงความเร็วและความถูกต้องของการแลกเปลี่ยน อัลกอริทึมสอง
สั้น ๆ อัลกอริทึม Baum-Welch เป็นหลักอัลกอริทึมความคาดหวัง - Maximization (EM) นำไปใช้กับ HMM; ในฐานะที่เป็นอัลกอริธึมชนิด EM ที่เข้มงวดคุณรับประกันได้ว่าจะรวมตัวกันเป็นอย่างน้อยสูงสุดในท้องถิ่นและดังนั้นสำหรับปัญหาที่เกิดขึ้นแบบไม่ต่อเนื่องพบว่า MLE มันต้องมีการส่งผ่านข้อมูลของคุณสองครั้งในแต่ละขั้นตอนและความซับซ้อนจะเพิ่มขึ้นอย่างมากในความยาวของข้อมูลและจำนวนตัวอย่างการฝึกอบรม อย่างไรก็ตามคุณจะจบลงด้วยความน่าจะเป็นแบบเต็มเงื่อนไขสำหรับพารามิเตอร์ที่ซ่อนอยู่ของคุณ
อัลกอริธึมการฝึกอบรม Viterbi (ตรงข้ามกับ "อัลกอรึทึม Viterbi") จะประมาณค่า MLE เพื่อให้ได้ความเร็วในราคาที่ถูกต้อง มันแบ่งกลุ่มข้อมูลแล้วใช้อัลกอริทึม Viterbi (ตามที่ฉันเข้าใจ) เพื่อให้ได้ลำดับสถานะที่เป็นไปได้มากที่สุดในกลุ่มจากนั้นใช้ลำดับสถานะที่เป็นไปได้มากที่สุดเพื่อประเมินพารามิเตอร์ที่ซ่อนอยู่อีกครั้ง สิ่งนี้แตกต่างจากอัลกอริทึม Baum-Welch ไม่ได้ให้โอกาสแบบเต็มเงื่อนไขของพารามิเตอร์ที่ซ่อนอยู่และดังนั้นจึงลดความแม่นยำในขณะที่ประหยัดอย่างมีนัยสำคัญ (บทที่รายงาน 1 ถึง 2 คำสั่งของขนาด) เวลาการคำนวณ
ไปข้างหน้าถอยหลังใช้เมื่อคุณต้องการนับ 'สิ่งที่มองไม่เห็น' ตัวอย่างเช่นเมื่อใช้ EM เพื่อปรับปรุงโมเดลผ่านข้อมูลที่ไม่ได้รับการดูแล ฉันคิดว่ากระดาษของ Petrov เป็นตัวอย่าง ในเทคนิคที่ฉันคิดคุณจะฝึกแบบจำลองด้วยข้อมูลที่มีคำอธิบายประกอบที่มีคำอธิบายประกอบที่ค่อนข้างหยาบ (เช่นแท็กสำหรับ 'Verb') จากนั้นคุณก็แยกมวลความน่าจะเป็นสำหรับรัฐนั้นโดยพลการในปริมาณที่ไม่เท่ากันสองอย่างและฝึกซ้ำวิ่งไปข้างหน้าไปข้างหลังเพื่อเพิ่มโอกาสสูงสุดโดยการกระจายมวลระหว่างรัฐทั้งสอง