MÔ HÌNH MARKOV ẨN 5.1 Giới thiệu Mô hình Markov ẩn là mô hình thống kê trong đó hệ thống được mô hình hóa được cho là một quá trình Markov với các tham số không biết trước và nhiệm vụ là
Trang 1MÔ HÌNH MARKOV ẨN 5.1 Giới thiệu
Mô hình Markov ẩn là mô hình thống kê trong đó hệ thống được mô hình hóa được cho là một quá trình Markov với các tham số không biết trước và nhiệm
vụ là xác định các tham số ẩn từ các tham số quan sát được Các tham số của mô hình được rút ra sau đó có thể được sử dụng để thực hiện các phân tích kế tiếp, ví
dụ ứng dụng cho nhận dạng mẫu
Trong một mô hình Markov điển hình, trạng thái được quan sát được từ người quan sát, vì vậy các xác suất chuyển tiếp trạng thái là các tham số duy nhất
Mô hình Markov ẩn thêm vào các đầu ra: mỗi trạng thái có xác suất phân bổ trên các biểu hiện có thể Vì vậy, nhìn vào dãy các biểu hiện được sinh ra bởi HMM không trực tiếp chỉ ra dãy các trạng thái
Chú ý: Quá trình Markov
Trong lí thuyết xác suất, quá trình Markov là một quá trình mang tính ngẫu nhiên (stochastic process) với đặc tính như sau: trạng thái c k tại thời điểm k
là một giá trị trong tập hữu hạn {1,…,M} Với giả thiết rằng quá trình chỉ diễn ra
từ thời điểm 0 đến thời điểm N và rằng trạng thái đầu tiên và trạng thái cuối
…,c N } Nếu P(c k | c 0 ,c 1 , ,c (k − 1) ) biểu diễn xác suất (khả năng xảy ra) của trạng thái c k tại thời điểm k khi đã qua mọi trạng thái cho đến (k-1) Giả sử trong thời điểm đó c k chỉ phụ thuộc vào trạng thái trước đó c k-1 và độc lập với các trạng thái trước khác Quá trình đó gọi là quá trình Markov bậc một(first order Markov process) Có nghĩa là xác suất để xảy ra trạng thái c k tại thời điểm k, khi biết trước mọi trạng thái cho đến thời điểm k-1 chỉ phụ thuộc vào trạng thái trước, ví
dụ trạng thái ck-1 tại thời điểm k-1 Khi đó ta có công thức:
P(c k | c 0 ,c 1 , ,c (k − 1) )= P(c k | c (k − 1) ) Nói tóm lại một hệ có thuộc tính Markov được gọi là quá trình Markov (bậc1).
Như vậy, với quá trình Markov bậc n:
P(c k | c 0 ,c 1 , ,c (k − 1) )= P(c k | c k-n ,c k-n-1 ,…,c (k − 1) )
Nói chung với giả thuật Viterbi quá trình xảy ra bên dưới được xem là một quá trình Markov:
• Trạng thái hữu hạn nghĩa là số m là hữu hạn
• Thời gian rời rạc, nghĩa là việc chuyển từ trạng thái này sang trạng thái khác cùng mất một đơn vị thời gian
Trang 2• Quan sát không tốn bộ nhớ, nghĩa là chuỗi các quan sát có xác suất chỉ phụ thuộc vào trạng thái ngay trước đó (nên không cần lưu bộ nhớ nhiều)
5.2 Trình bày vấn đề
• Phương pháp tiếp cận lí thuyết thông tin về nhận dạng
Hình 1
o Nhận dạng là tìm cách xác định được khả năng xảy ra lớn nhất của chuỗi ngôn ngữ,W, khi cho trước căn cứ âm A, Công thức:
) / ( max )
/
P
W
=
∧
• Theo luật Bayes: ( / ) ( / ( )) ( )
A P
W P W A P A W
• Mô hình HMM quan tâm đến P(W|A)
• Kí hiệu:
• Ví dụ1:
Trang 3Hình 5.2
o Xét 3 chén, mỗi chén trộn giữa các các “đá trạng thái” 1 và 2
o Phân nhỏ chén thứ i thành 2 phần tỉ lệ ai1, ai2, khi đó ai1+
ai2=1
o Xét 2 bình, mỗi bình chứa các quả bóng đen, bóng trắng
o Chia bình thứ i thành 2 phần tỉ lệ biB, biW, với
o biB+ biW=1
o Vecto tham số cho mô hình này là:
λ = {a01,a02,a11,a12,a21,a22,b1(B),b1(W ),b2(B),b2(W )}
Hình 5.3
Chuỗi quan sát : O={B,W,B,W,W,B}
Chuỗi trạng thái: Q={1,1,2,1,2,1}
Mục đích: cho mô hình λ và chuỗi quan sát O, có thể làm thể nào để
chuỗi trạng thái Q được xác định
• Các yếu tố của mô hình Markov ẩn rời rạc
o N : số trạng thái trong mô hình
Các trạng thái, s= {s1,s2,…,sN}
Trang 4 Trạng thái ở thời điểm t, qt ∈ s
o M: số kí hiệu quan sát (quan sát rời rạc)
Tập các kí hiệu quan sát v={v1,v2,…,vM}
Kí hiệu quan sát ở thời điểm t, ot∈ v
o A= {aij}: tập phân phối xác suất chuyển trạng thái
aij = P(qt+1 = sj |qt = si ), 1 ≤ i,j ≤ N
o B = {bj (k)}: phân bổ xác suất kí hiệu quan sát ở trạng thái j:
bj (k)= P(vk at t|qt = sj ), 1 ≤ j ≤ N, 1 ≤ k ≤ M
o π = {πi }: phân bổ xác suất trạng thái khởi đầu
πi = P(q1= si ), 1 ≤ i ≤ N Một mô hình HMM được viết dưới dạng đặc trưng λ = {A, B,π}
• ví dụ 2:
o π={a01,a02} A=
22 21
12 11
a a
a a
) ( ) (
) ( ) (
2 2
1 1
W b B b
W b B b
o Sơ đồ trạng thái
• Một số mô hình thông dụng
Hình 5.4a: Mô hình 2 –state và 3-state
Hình 5.4b:Mô hình Left – Righ
Trang 5Hình 5.4c:Mô hình Bakis
Hình 5.4d: Mô hình Tuyến tính
• Tạo chuỗi quan sát trong HMM
o Lựa chọn một trạng thái khởi đầu, q1=si, dựa trên phân bổ trạng thái khởi đầu, π
o Cho t chạy từ 1 T:
Chọn ot=vk theo sự phân bổ xác suất kí hiệu trong trạng thái si, bi(k)
Chuyển tiếp đến trạng thái mới qt+1=sj theo sự phân bổ xác suất sự chuyển tiếp trạng thái cho trạng thái si, aij
o Tăng t lên 1, quay lại bước 2 nếu t≤T; ngược lại thì kết thúc
Trang 6Hình 5.5: Sự tiến hóa của mô hình Markov
• Biểu diễn sơ đồ trạng thái bằng sơ đồ mắt lưới(trellis)
Hình 5.6:( Những nét đứt thể hiện một sự chuyển tiếp trạng thái bằng 0, nơi mà không có vecto quan sát nào được tạo ra.)
• 3 vấn đề cơ bản của HMM
Trang 7o Tính điểm (Scoring) : cho một chuỗi quan sát O = {o1,o2, ,oT }
và một mô hình λ = {A, B,π}, làm thế nào chúng ta có thể tính toán xác suất có điều kiện P(O | λ) (khả năng xảy ra của chuỗi quan sát)?
Dùng thuật toán tiến lùi (the forward-backwark algorithm)
o So khớp (Matching): cho một chuỗi quan sát O = {o1,o2, ,oT }, làm thế nào chúng ra có thể lựa chọn chuỗi trạng thái Q = {q1,q2, ,qT } để nó tối ưu theo một số hướng
thuật toán Viterbi
o Huấn luyện (Training): làm thế nào chúng ta có thể điều chỉnh các tham số của mô hình λ = {A,B,π} để đạt được P(O | λ) lớn nhất?
Thủ tục Baum-Wetch
• Tính toán P(O|λ)
P(O|λ)= ∑
allQ
Q O
P( , | λ )
P(O, Q |λ)= P(O|Q ,λ)P(Q |λ)
o Xét chuỗi trạng thái cố định Q = q1q2 qT P(O|Q ,λ)= bq1(o1)bq2(o2) bqT (oT )
P(Q |λ)= πq1 aq1q2 aq2q3 aqT −1 qT
Vì vậy:
P(O|λ)= ∑Π
qT , , q2 q1,
T 1
2 2 2 1 1 1
1 bq (o )aq q bq (o ) aqT - qTbqT (o )
q
Số phép tính cấn làm ≈ 2T.NT (có NT chuỗi như vậy)
Ví dụ: N=5, T=100 2.100.5100 ≈ 1072 phép tính
5.3 Thuật toán tiến – thuật toán lùi:
• Toán tử tiến αt(t) là xác suất chuỗi quan sát từng phần tiến đến thời điểm t và trạng thái si ở thời điểm t với điều kiện mô hình
đã cho:
αt (i)= P(o1o2 ot,qt = si |λ)
• Dễ dàng thấy rằng:
α1(i)= πibi (o1), 1 ≤ i ≤ N
P(O|λ)=∑
=
N
1 i
(i)
T
α
• Theo phương pháp quy nạp
Trang 8αt+1 (j)=[∑
=
N
i
t
1
ij
a (i)
α ] bj (ot+1), 1≤ t≤ T-1, 1 ≤ j ≤ N
Số phép tính: N2T
Ví dụ: N=5,T=100, 52.100 phép tính,( thay vì 1072)
• Diễn tả thuật toán tiến:
Hình 5.7
• Thuật toán lùi:
o Tương tự để xác định toán tử lùi, βt(i), khi khả năng xảy ra của chuỗi quan sát cục bộ từ thời điểm t+1 đến kết thúc, biết trước trạng thái si ở thời điểm t và với điều kiện mô hình đã cho
βt(i)= P(ot+1ot+2 oT |qt = si,λ)
o Có thể dễ dàng nhận ra rằng
βT(i)=1, 1 ≤ i ≤ N
và P(O|λ)=∑
= Π N
1
(i) )ß (o b
o Theo phương pháp quy nạp
βt(i)=∑
=
N
1 j
1 + t 1 + t
j (o )ß (j) b
aij (t=T−1,T−2, ,1; 1 ≤ i≤N)
• Diễn tả thủ tục lùi:
Trang 9Hình 5.8
• Tìm chuỗi trạng thái tối ưu:
+ Một tiêu chuẩn để lựa chọn trạng thái tối ưu qt là cực đại hóa số trạng thái đúng
+ Toán tử γt (i) là xác suất của hệ thống ở trạng thái si tại thời điểm
t, với điều kiện cho chuỗi quan sát O và mô hình λ đã cho:
) ,
| (
)
=
=
N
i
1
1 ) (
+ Chú ý rằng nó có thể biểu diễn dưới dạng sau
)
| (
) ( ) ( ) (
λ
β α γ
O P
i i
+ Tuy nhiên với tiêu chuẩn tối ưu riêng phần thì xảy ra vấn đề là chuỗi trạng thái tối ưu có thể không tuân theo những ràng buộc chuyển
tiếp trạng thái
+ Một tiêu chuẩn tối ưu khác là cực đại hóa P(Q,O|λ) Điều này có thể tìm thấy bằng thuật toán Viterbi
+ Với δt (i) là xác suất xảy ra cao nhất trên một đường dẫn tính
với t lần quan sát đầu tiên:
)
|
, ,
, , , ( max )
, , , 2 1
1
λ
q q q
t
=
− + Theo phương pháp quy nạp:
) ( ] ) ( [max )
+ = t ij i t
i
δ + Để thu được chuỗi trạng thái, ta cần theo dõi chuỗi trạng thái mà cho đường dẫn tốt nhất ở thời điểm t đến trạng thái si Chúng ta thực hiện điều này trong một mảngψt (i).
Trang 105.4 Thuật toán Viterbi
+ Khởi đầu:
) ( )
(
1 i πi b i o i
0 ) (
1 i =
ψ + Đệ quy:
T t o
b ai i
j t j j t
N i
≤
≤ [ ( ) ] ( ),2 max
)
δ
T t a
i
N i
≤
≤ max [ ( ) ], 2 arg
)
ψ
+ Kết thúc:
)]
( [ max 1
*
i
N
≤
≤
=
)]
( [ max arg
1
*
i
T N i T
≤
≤
= + Quay lui tìm đường dẫn( chuỗi trạng thái) tối ưu
1 , , 2 , 1 ),
1 1
*
−
−
=
=
+ + q t T t
qT ψt t
+ Số phép tính ≈N2T
+ Ví dụ thuật toán Viterbi:
Hình 5.9
Viterbi(tt)
Trang 11Hình 5.10 + Ví dụ so khớp sử dụng thuật toán tiến-lùi:
Hình 5.11
5.5 Ước lượng lại với thuật toán Baum-Welch
Trang 12° Ước lượng lại với thuật toán Baum-Welch sử dụng EM để xác định tham số ML
° Xét toán tử ξt (i) là xác suất của hệ thống ở trạng thái i tại thời
điểm t và trạng thái j tại thời điểm t+1 với điều kiện có chuỗi quan sát O và mô hình Markov ẩn λ
ξt(i, j) =P(q t =s i,q t+1 =s j |O, λ )
Khi đó
)
| (
) ( ) ( ) ( ) ,
λ
β α
ξ
O P
i o
b a i j
∑
=
j t
1
) , ( )
γ
Kết hợp γt (i) và ξt(i, j) chúng ta được:
∑−
=
1
1
) (
T
t
t i
γ = số chuyển tiếp từ trạng thái si
∑−
=
1
1
) , (
T
t
t i j
ξ = số chuyển tiếp từ trạng thái si tới sj
• Thủ tục ước lượng lại Baum-Welch
Hình 5.12
Trang 13• Các biểu thức ước lượng lại với thuật toán Baum-Welch
o π = γ1(i)
o
∑
∑
−
=
−
=
1
1 1 ) (
) , (
T t t
T t t ij
i
j i a
γ ξ
o
∑
∑
=
=
=
= T
t t
T
v o t
t ij
j
j
b t k
1
, 1
) (
) ( γ γ
• Nếu λ (A,B, π ) là mô hình gốc và λ (A,B, π ) là mô hình ước lượng lại, khi đó ta có thể chứng minh:
o Mô hình gốc λ xác định điểm tới hạn của hàm có khả năng xảy ra, trong trường hợp λ=λ Hoặc:
o Mô hình λ thích hợp hơn λ trong điều kiện
)
| ( )
|
• Chúng ta có thể tăng xác suất chuỗi quan sát O mà đã quan sát được từ mô hình nếu sử dụng lặp lại λ trong không gian λ và lặp lại việc ước lượng lại cho đến khi một số điểm tới hạn đạt được Mô hình kết quả thu được gọi là mô hình Markov ẩn có khả năng xảy ra lớn nhất