เพียงเพื่อบันทึกการพิมพ์บางอย่างเรียกข้อมูลที่สังเกตได้ , ข้อมูลที่หายไปZ (เช่นสถานะที่ซ่อนอยู่ของ HMM) และเวกเตอร์พารามิเตอร์ที่เรากำลังพยายามหาQ (เช่นความน่าจะเป็นการเปลี่ยน / การปล่อย)XZQ
คำอธิบายที่เข้าใจง่ายคือเรามักจะโกงหลอกว่าเรารู้ดังนั้นเราจึงสามารถหาการแจกแจงแบบมีเงื่อนไขของ Z ซึ่งจะทำให้เราพบ MLE สำหรับQ (โดยไม่สนใจสักครู่ความจริงที่ว่าเราเป็นวงกลม อาร์กิวเมนต์) จากนั้นยอมรับว่าเราโกงใส่ค่าใหม่ที่ดีกว่าสำหรับQและทำมันอีกครั้งจนกว่าเราจะไม่ต้องโกงอีกต่อไปQQQ
ในทางเทคนิคมากขึ้นเล็กน้อยโดยการแกล้งทำเป็นว่าเรารู้คุณค่าที่แท้จริงเราสามารถทำเป็นว่าเรารู้บางอย่างเกี่ยวกับการแจกแจงแบบมีเงื่อนไขของZ | { X , Q }ซึ่งช่วยให้เราสามารถปรับปรุงการประมาณค่าQซึ่งตอนนี้เราทำเป็นว่าเป็นมูลค่าที่แท้จริงสำหรับQดังนั้นเราจึงสามารถแกล้งเรารู้บางอย่างเกี่ยวกับการแจกแจงแบบมีเงื่อนไขของZ | { X , Q }ซึ่งช่วยให้เราสามารถปรับปรุงการประมาณของเราสำหรับQซึ่ง ... และอื่น ๆQZ|{X,Q}QQZ|{X,Q}Q
Zlog(f(Q|X,Z))ZQZXQ
QQnZ|{Qn,X}Q|{X,Z}Z|{Qn,X}Z รับ Xและแจ้งให้เราทราบวิธีการเปลี่ยนแปลง Q เพื่อเพิ่มโอกาสของเราสำหรับทั้งคู่ Q และ Z ในเวลาเดียวกันสำหรับค่าเฉพาะของ Q (ที่เราเรียกว่า Qn) เมื่อเราเลือกใหม่Qn + 1, we have a different conditional distribution for Z|{Qn+1,X} and so have to re-calculate the expectation.