TIỂU LUẬN MÔN HỌC XỬ LÝ TÍN HIỆU SỐ NÂNG CAO Mô hình Markov ẩn Mô hình Markov ẩn (tiếng Anh là Hidden Markov Model HMM) 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, dựa trên sự thừa nhận này. Các tham số của mô hình được rút ra sau đó có thể sử dụng để thực hiện các phân tích kế tiếp, ví dụ cho các ứng dụng nhận dạng mẫu.
Trang 1KHOA QUỐC TẾ & SAU ĐẠI HỌC
TIỂU LUẬN MÔN HỌC
XỬ LÝ TÍN HIỆU SỐ NÂNG CAO
Nội dung: Mô hình Markov ẩn
2 Nguyễn Nhật Khải
3 Hoàng Quang Khải
4 Hoàng Quốc Chính
Lớp: Kỹ thuật Viễn thông
Hà Nội - 2013
1
Trang 2MỤC LỤC
MỤC LỤC 1
LỜI MỞ ĐẦU 2
NỘI DUNG 3
1 Giới thiệu mô hình markov ẩn 3
2 Trình bày vấn đề 4
3 Thuật toán tiến – thuật toán lùi: 9
4 Thuật toán Viterbi 11
KẾT LUẬN 15
2
Trang 3LỜI MỞ ĐẦU
Mô hình Markov ẩn(tiếng Anh làHidden Markov Model-HMM) làmô hình thống kêtrong đó hệ thống được mô hình hóa được cho là mộtquá trình Markovvớ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, dựa trên sự thừa nhận này Các tham số của mô hình được rút ra sau đó có thể sử dụng để thực hiện các phân tích kế tiếp, ví dụ cho các ứng dụng 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 trực tiếp bởi người quan sát, và 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 ẩnthê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 đầu ra có thể Vì vậy, nhìn vào dãy của các biểu hiện được sinh ra bởiHMMkhông trực tiếp chỉ ra dãy các trạng thái
Đây là một mô hình toán thống kê có ứng dụng rộng rãi trong lĩnh vực nhận dạng giọng nói, lĩnh vực sinh học như nhận dạng gene hoặc phân loại protein; xử lý tín hiệu, xử lý hình ảnh và các ứng dụng khác liên quan đến chuỗi chuyển tiếp hoặc kết hợp các thành phần, dữ kiện Trong lĩnh vực điện, mô hình Markov được sử dụng như là 1 công cụ dự báo giá điện năng với các dữ liệu liên quan Chính vì được
áp dụng trong nhiều lĩnh vực đặc biệt là trong xử lý tín hiệu số nên chúng em chọn
đề tài về “mô hình Markov ẩn” làm hướng nghiên cứu
Trang 4NỘI DUNG
1 Giới thiệu mô hình markov ẩn
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ùng đã biết, chuỗi trạng thái sẽ được biểu diễn bởi 1 vecto hữu hạn C={c 0 ,…,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:
Trang 5P(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
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)
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
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:
P(W¿ /A )=max
W P(W / A )
Theo luật Bayes: P(W / A )=
P ( A /W ) P(W ) P( A )
Mô hình HMM quan tâm đến P(W|A)
Kí hiệu:
Trang 6W λ
Ví dụ1:
Hình 2
Xét 3 chén, mỗi chén trộn giữa các các “đá trạng thái” 1 và 2
Phân nhỏ chén thứ i thành 2 phần tỉ lệ ai1, ai2, khi đó ai1+ ai2=1
Xét 2 bình, mỗi bình chứa các quả bóng đen, bóng trắng
Chia bình thứ i thành 2 phần tỉ lệ biB, biW, với
biB+ biW=1
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 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}
Trang 7Mụ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
N : số trạng thái trong mô hình
Các trạng thái, s= {s1,s2,…,sN} Trạng thái ở thời điểm t, qt ¿ s
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
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
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
π = {π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:
π={a01,a02} A= [a11 a12
a21 a22] và B= [b1(B ) b1(W )
b2(B ) b2(W )]
Một số mô hình thông dụng:
Trang 8Hình 4a: Mô hình 2 –state và 3-state
Hình 4b: Mô hình Left – Righ
Hình 4c: Mô hình Bakis
Hình 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, π
Trang 9o 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
Hình 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 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 10Tí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)
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
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
P (O ,Q|λ)
P(O, Q |λ)= P(O|Q ,λ)P(Q |λ) 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|λ)= ∑
q1,q2 , ,qT
Π q1 bq 1(o1)a q 1 q2 bq 2(o2) aqT -1 qT b qT(o T)
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
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:
Trang 11αt (i)= P(o1o2 ot,qt = si |λ)
Dễ dàng thấy rằng:
α1(i)= πibi (o1), 1 ≤ i ≤ N
P(O|λ)= ∑
i=1
N
α T(i)
Theo phương pháp quy nạp
αt+1 (j)=[ ∑
i=1
N
α t(i) aij
] 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 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
Trang 12và P(O|λ)= ∑
i=1
N
Π i b i(o1)ß1(i)
o Theo phương pháp quy nạp
βt(i)= ∑
j=1
N
a ij b j(ot+1)ßt+1(j)
(t=T−1,T−2, ,1; 1 ≤ i≤N)
Diễn tả thủ tục lùi:
Hình 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ử 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:
γ (i)=P(q t=s i|O , λ) ∑
t=1
N
γ t(i)=1
, ∀t
+ Chú ý rằng nó có thể biểu diễn dưới dạng sau
γ t(i)= α t(i) β t(i)
P (O|λ )
+ 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
)
(i
t
Trang 13+ 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:
δ t(i )= max
q1, q2, , q t−1 P(q1, q2, , q t −1 , q t=s1, o1o2 o t|λ )
+ Theo phương pháp quy nạp:
δ t+1(i)=[ max
i δ t(i)a ij]b i(o t+1) + Để 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 )
4 Thuật toán Viterbi
+ Khởi đầu:
δ1(i)=π i b i(o i)
ψ1(i)=0
+ Đệ quy:
δ t(j)= max
1≤i≤N
[δ t−1(i)ai j]b j(o t), 2≤t≤T
ψ t(j)=argmax
1≤i≤N [δ t−1(i )a ij],2≤t≤T
+ Kết thúc:
P¿
1≤i≤ N[δ T(i)]
¿
=argmax
1≤i≤N [δ T(i )]
+ Quay lui tìm đường dẫn( chuỗi trạng thái) tối ưu
qT
¿
=ψt+1(qt +1
¿
), t=T −1, t−2, ,1
+ Số phép tính ¿N2T
+ Ví dụ thuật toán Viterbi:
Trang 14Hình 9
+ Ví dụ thuật toán Viterbi(tt)
Hình 10
+ Ví dụ so khớp sử dụng thuật toán tiến-lùi:
Trang 15Hình 11
Ước lượng lại với thuật toán Baum-Welch
Ướ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ử 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(qt= si,qt +1= sj| O, λ )
Khi đó
ξ t(i , j )= α t(i)a ij b j(o t+1)β t +1(i)
P(O|λ)
γ t(i)=∑
j=1
N
ξ t(i , j)
Kết hợp γ t(i) và ξ t(i , j ) chúng ta được:
t=1
T−1
γ t(i)
= số chuyển tiếp từ trạng thái si
t=1
T−1
ξ 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
)
(i
t
Trang 16Hình 12
Các biểu thức ước lượng lại với thuật toán Baum-Welch
o π=γ1(i )
o
a ij=
∑
t=1
T−1
ξ t(i, j)
∑
t=1
T−1
γ t(i)
o
b ij=
∑
t=1 ,o t=v k
T
γ t(j )
∑
t=1
T
γ t(j)
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
P(O|λ)>P(O|λ)
Trang 17Chú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
Trang 18KẾT LUẬN
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
Mô hình Markov ẩnthê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 đầu ra có thể Vì vậy, nhìn vào dãy của các biểu hiện được sinh
ra bởiHMMkhông trực tiếp chỉ ra dãy các trạng thái
Do thời gian nghiên cứu có hạn cũng như kiến thức còn hạn chế, đề tài không tránh khỏi sai sót, vì vậy chúng em rất mong có sự cảm thông và góp ý của thầy để phát triển đề tài tốt hơn nữa
18