Giải thích thuật toán Backward cho Hidden Markov Model


8

Tôi đã triển khai thuật toán ViterbiForward , tuy nhiên, thật lạ là tôi không thể hiểu thuật toán Backward hoạt động như thế nào . Theo trực giác tôi cảm thấy mình cần phải làm điều tương tự như trong Chuyển tiếp chỉ ngược, sử dụng các giá trị được tính trong quá trình truyền Chuyển tiếp .

Là trực giác của tôi đúng?

Tôi đã đọc rất nhiều slide và phát bệnh về ký hiệu toán học vào thời điểm này. Nó không giúp được. Tôi cần một cái gì đó bằng tiếng Anh đơn giản giải thích sự khác biệt giữa các thuật toán BackwardForward .

Bạn có thể cung cấp một lời giải thích ngắn về cách thuật toán Backward được thực hiện?

Giả sử HMM nhỏ sau đây và kết quả của thuật toán Chuyển tiếp cho chuỗi "BB" bên dưới:

START -> 1
H: 0.5 * 0.8 = 0.4
L: 0.5 * 0.6 = 0.3

1 -> 2
H: 0.4 * 0.2 * 0.8 + 0.3 * 0.6 * 0.8 = 0.208
L: 0.4 * 0.8 * 0.6 + 0.3 * 0.4 * 0.6 = 0.264

2 -> END
END: 0.208 * 0.3 + 0.264 * 0.7 = 0.2472

nhập mô tả hình ảnh ở đây

Câu trả lời:


7

tzttxtαt(i)βt(i)i

αt(i)=P(xt=i,z1:t)

αt(i)itt

βt(i)=P(zt+1:Txt=i)t+1it

βt(i)

P(zt+1:Txt=i)=jP(xt+1=j,zt+1:Txt=i)

P(xt+1=j,zt+1:Txt=i)=P(zt+2:T,zt+1,xt+1=jxt=i)=P(zt+2:Tzt+1,xt+1=j,xt=i)P(zt+1xt+1=j,xt=i)P(xt+1=jxt=i)

P(zt+2:Txt+1=j)P(zt+1xt+1=j)P(xt+1=jxt=i)

P(zt+2:Txt+1=j)=βt+1(j)

P(zt+1:Txt=i)

βt(i)=P(zt+1:Txt=i)=jβt+1(j)P(zt+1xt+1=j)P(xt+1=jxt=i)

βt

βT(i)=P(xT=i)=1iT=2

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.