อะไรคือความแตกต่างระหว่างอัลกอริทึม Baum-Welch และการฝึกอบรม Viterbi?


18

ฉันกำลังใช้การฝึกอบรม Viterbiสำหรับปัญหาการแบ่งส่วนภาพ ฉันต้องการทราบว่าข้อดี / ข้อเสียของการใช้อัลกอริทึม Baum-Welch แทนการฝึกอบรม Viterbi


3
'การฝึกอบรม viterbi' คุณหมายถึงอะไร
bmargulies

2
ในปัญหาของฉันฉันมีอาร์เรย์ของข้อมูลที่มีค่าจริงซึ่งฉันกำลังสร้างแบบจำลองเป็น HMM (มีการผสมผสานกันของฟังก์ชั่นความหนาแน่นหลาย ๆ แบบแต่ละแบบพร้อมพารามิเตอร์ที่ไม่รู้จัก) สำหรับตอนนี้ฉันคิดว่าฉันรู้ถึงความน่าจะเป็นในการเปลี่ยนสถานะ สิ่งที่ฉันหมายถึงโดย Viterbi Trainig เป็นอัลกอริทึมต่อไปนี้ 1) กำหนดสถานะโดยพลการให้กับแต่ละจุดข้อมูล (การกำหนดค่าเริ่มต้น) 2) ดำเนินการ MLE ของพารามิเตอร์ฟังก์ชันความหนาแน่น 3) ประเมินสถานะซ้ำสำหรับแต่ละจุด (สามารถทำได้กับ Viterbi Alg) 4) ไปที่ขั้นตอนที่ 2 และทำซ้ำจนกว่าจะถึงเกณฑ์การหยุด
Gal ดิจิตอล

1
คำถามเดียวกันถูกถามใน stack overflow: การฝึกอบรม viterbi กับอัลกอริทึม
baum

คำตอบ:


21

อัลกอริทึม 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 คำสั่งของขนาด) เวลาการคำนวณ


7
ถ้าฉันพูดถูกคุณต้องฝึก Viterbi และถอดรหัส Viterbi
Peter Smit

1
คุณถูก. ฉันไม่ทราบว่ามีกระบวนการที่ใช้อัลกอริทึม Viterbi เท่านั้นในการคำนวณความน่าจะเป็นในการเปลี่ยนแปลงเช่นกัน ดูเหมือนว่าในการอ่านเพิ่มเติม - ดูเหมือนจะมีการทับซ้อนกันของระบบการตั้งชื่อระหว่างการวิเคราะห์ HMM แบบไม่ต่อเนื่อง / ไม่ต่อเนื่องและการวิเคราะห์เวลาต่อเนื่อง / การวิเคราะห์สถานะต่อเนื่องโดยใช้การแจกแจงแบบเกาส์ คำตอบของฉันพูดถึงการตั้งค่า DTDS HMM ไม่ใช่การตั้งค่ารูปแบบผสม
คนรวย

@ ริช: คุณช่วยชี้ให้ฉันเห็นเนื้อหาที่สามารถเข้าถึงได้ (เช่นการสอน HMM ดั้งเดิมของ Rabiner) ในการฝึกอบรม Viterbi หรือไม่?
Jacob

4
การฝึกอบรม @Jacob Viterbi นั้นใช้ชื่อเซกเมนทัล K-Means ดูบทความนี้โดย Juang และ Rabiner
อัลโต

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

0

ไปข้างหน้าถอยหลังใช้เมื่อคุณต้องการนับ 'สิ่งที่มองไม่เห็น' ตัวอย่างเช่นเมื่อใช้ EM เพื่อปรับปรุงโมเดลผ่านข้อมูลที่ไม่ได้รับการดูแล ฉันคิดว่ากระดาษของ Petrov เป็นตัวอย่าง ในเทคนิคที่ฉันคิดคุณจะฝึกแบบจำลองด้วยข้อมูลที่มีคำอธิบายประกอบที่มีคำอธิบายประกอบที่ค่อนข้างหยาบ (เช่นแท็กสำหรับ 'Verb') จากนั้นคุณก็แยกมวลความน่าจะเป็นสำหรับรัฐนั้นโดยพลการในปริมาณที่ไม่เท่ากันสองอย่างและฝึกซ้ำวิ่งไปข้างหน้าไปข้างหลังเพื่อเพิ่มโอกาสสูงสุดโดยการกระจายมวลระหว่างรัฐทั้งสอง

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