BÀI TẬP LỚN MÔN XỬ LÝ TÍN HIỆU NÂNG CAO Tìm hiểu mô hình Markov ẩn Mô hình Markov ẩn (Hidden Markov Model HMM) là mô hình thống kê trong đó hệ thống được mô hình hóa được như 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 1BÀI TẬP LỚN MÔN
XỬ LÝ TÍN HIỆU NÂNG CAO
Đề tài: Tìm hiểu mô hình Markov ẩn
Người hướng dẫn: TS NGUYỄN NGỌC MINH
Nhóm học viên : Nguyễn Hữu Hưng
Đinh Trọng Toàn Nguyễn Nam Long
Lê Công Hòa Lớp : M12CQDT02-B
HÀ NỘI, 4/2013
Trang 3MỤC LỤC
MỤC LỤC 1
DANH MỤC HÌNH 1
LỜI MỞ ĐẦU 2
I Tổng quan về mô hình Markov ẩn 3
1.1 Khái niệm về mô hình Markov ẩn 3
1.2 Minh họa một quá trình Markov ẩn đơn giản 4
1.3 Các thông số của mô hình Markov ẩn 5
II Các thuật toán sử dụng trong mô hình Markov ẩn 6
2.1 Mô hình Markov ẩn trong lý thuyết thông tin nhận dạng 6
2.2 Thuật toán tiến – thuật toán lùi: 11
2.3 Thuật toán Viterbi 13
KẾT LUẬN 17
DANH MỤC HÌNH Hình II-1 Sơ đồ khối hệ thống nhận dạng 6
Hình II-2 Minh họa ví dụ 1- a 7
Hình II-3 Minh họa ví dụ 1 - b 7
Hình II-4 Mô hình 2 –state và 3-state 8
Hình II-5 Mô hình Left – Righ 8
Hình II-6 Mô hình Bakis 9
Hình II-7 Mô hình tuyến tính 9
Hình II-8 Sự tiến hóa của mô hình Markov 9
Hình II-9 Biểu diễn trạng thái bằng sơ đồ mắt lưới 10
Hình II-10 Thuật toán tiến 11
Hình II-11Thuật toán lùi 12
Hình II-12 Ước lượng lại Baum - Welch 16
Trang 4LỜI MỞ ĐẦU
Mô hình Markov ẩn(Hidden Markov Model-HMM) làmô hình thống kêtrong
đó hệ thống được mô hình hóa được như là một quá 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ố quansá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ạngmẫ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ởingườ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ố duynhấ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 rabở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ậndạ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ặckế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 51 Tổng quan về mô hình Markov ẩn
1.1 Khái niệm về 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ụ ứngdụ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ườiquan 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ìnhMarkov ẩ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ểuhiệ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ựctiếp chỉ ra dãy các trạng thái
Nhắc lại 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
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,
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
gọi là quá trình Markov bậc một(first order Markov process) Có nghĩa là xác suất
đ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) )
Trang 6Nó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áikhá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)
Mô hình Markov ẩn được ứng dụng trong nhiều lĩnh vực như:
1.2 Minh họa một quá trình Markov ẩn đơn giản
Mô hình Markov thong thường được tính toán trực tiếp trên các trạng thái, tuy nhiên
mô hình Markov ẩn không tính toán kết quả trực tiếp trên các trạng thái đó mà phảithông qua một sự kiện trạng thái khác gọi là các sự kiện trạng thái quan sát
Một ví dụ đơn giản về quá trình Markov ẩn là về bài toán dự báo thời tiết, làm sao
dự báo được thời tiết mà không trực tiếp quan sát về thời tiết đó mà chỉ biết qua một sựkiện khác
Ví dụ tôi ở trong phòng kín nghiên cứu khoa học, không tiếp xúc với bên ngoài đãnhiều ngày, bây giờ muốn biết thời tiết bên ngoài nắng, mưa hay mây mù thì phải làmsao? khi mà chỉ biết dữ kiện duy nhất là người phục vụ đem cơm cho tôi có mang theo
dù hay là không mang theo dù? nếu người đó mang theo dù khi đem cơm cho tôi thì tôiđoán bên ngoài chắc có mưa, đó chỉ là dự đoán, thực tế trời nắng họ cũng mang theo dùvậy nhưng xác suất thấp hơn Ở đây tôi muốn minh họa rằng: thời tiết bên ngoài là ẩnvới tôi, tôi không biết gì thời tiết bên ngoài, tôi chỉ biết được người mang cơm cho tôi
có mang dù hay không mang dù?
Quan sát người phục vụ có mang theo dù hay không chính là dữ kiện mà tôi quan sátđược Còn dữ kiện thời tiết là Ẩn, dựa vào dữ kiện quan sát mang dù hay không mang
Trang 7dù để đoán xem thời tiết ẩn bên ngoài như thế nào? Đây chính là ý cơ bản nhất tại saogọi là Markov ẩn Ma trận quan sát việc mang dù hay không mang dù được biểu diễnnhư sau:
Bảng I-1 Ma trận quan sát – ví dụ về thời tiết
1.3 Các thông số của mô hình Markov ẩn
Một mô hình Markov ẩn bao gồm các thông số như:
Số trạng thái ‘state’ N có trong mô hình và các trạng thái này là ẩn Cáctrạng thái này sẽ được biểu thị tương ứng với giá trị S=(S1, …., SN) gọi
là tập tất cả các trạng thái ẩn
M, Số symbol trên mỗi dãy quan sát trong một ‘State’ Các symbol này
sẽ được biểu thị tương ứng bởi các giá trị V=(V¬1, …, VM) gọi là tậptất cả các ký hiệu quan sát được
A= [aij] xác suất chuyển trạng Trong trường hợp đặc biệt, khi các trạngthái là như nhau trong một bước đơn, ta có aij > 0 đối với tất cả các giátrị i và j Trong một vài loại hình khác của HMM, ta chi aij = 0 cho mộtvài căp (i,j)
B=[bij] xác suất nhả ký hiệu
p= [pi] xác suất khởi trạng
qt - Trạng thái ở thời điểm t
Ot= (ký hiệu) Quan sát tại thời điểm t
Trang 82 Các thuật toán sử dụng trong mô hình Markov ẩn
2.1 Mô hình Markov ẩn trong lý thuyết thông tin nhận dạng
Sơ đồ khối của hệ thống nhận dạng như hình 2-1
Hình II-1 Sơ đồ khối hệ thống nhận dạng
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ônngữ,W, khi cho trước căn cứ âm A, Công thức:
) / ( max )
) ( ) / ( ) / (
A P
W P W A P A W
Trang 9Hình II-2 Minh họa ví dụ 1- a
Xét 3 chén, mỗi chén trộn giữa các các “đá trạng thái” 1 và 2
Hình II-3 Minh họa ví dụ 1 - b
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 10Mụ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
12 11
a a
a a
) ( ) (
2 2
1 1
W b B b
W b B b
Một số mô hình thông dụng:
Hình II-4 Mô hình 2 –state và 3-state
Trang 11Hình II-5 Mô hình Left – Righ
Hình 2-5: Mô hình Left – Righ
Hình II-6 Mô hình Bakis
Hình II-7 Mô hình tuyến tính
Tạo chuỗi quan sát trong HMM:
Trang 12 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, π.
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ểntiếp trạng thái cho trạng thái si, aij
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 II-8 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 II-9 Biểu diễn trạng thái bằng sơ đồ mắt lưới
Vấn đề cơ bản của HMM:
Trang 13Tí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àochú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|λ)=
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
2.2 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 |λ)
Trang 14 ] 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 II-10 Thuật toán tiến
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ủachuỗi quan sát cục bộ từ thời điểm t+1 đến kết thúc, biết trướctrạ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,λ)
1 1 i
1 + t 1 + t
b
aij (t=T−1,T−2, ,1; 1 ≤ i≤N)
Diễn tả thủ tục lùi:
Trang 15Hình II-11Thuật toán lùi
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:
) ,
| (
t i
1
1)(
+ Chú ý rằng nó có thể biểu diễn dưới dạng sau
)
| (
) ( ) ( ) (
i 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ínhvới t lần quan sát đầu tiên:
)
|
,,
, ,,(max)
, , , 2 1
1
q q q
Trang 16+ Để 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ảngt (i).
2.3 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
N i
max)
T t a
i
j t ij
N i
2 ], ) ( [ max arg )
( *
1 1
Trang 17 Ví dụ thuật toán Viterbi(tt)
Ví dụ so khớp sử dụng thuật toán tiến-lùi:
Trang 18 Ướ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ử 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ạngthá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 t1 s j |O,)
Khi đó
)
| (
) ( ) ( ) ( ) ,
i o
b a i j
i t ij j t t t
1
) , ( )
)(
T t
),(
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
Trang 19Hình II-12 Ước lượng lại Baum - Welch
Các biểu thức ước lượng lại với thuật toán Baum-Welch
)(
),(
T
t t
T
t t ij
i
j i a
T v o t
t ij
)(
)(
Trang 20mộ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 21Do 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ôngtrá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.