TÌM HIỂU MÔ HÌNH MARKOV ẨN ỨNG DỤNG ĐỂ NHẬN DẠNG CHỮ VIẾT TAY Hidden Markov Models (HMMs) là những mô hình thống kê có sức mạnh đối với việc mô hình các dữ liệu tuần tự hay liên tục theo thời gian. HMMs đã được giới thiệu từ cuối những năm 1960 và đầu những năm 1970 của thế kỉ trước. Năm 1970, Baum và một vài người đã công bố phương pháp cực đại hoá mà đã cung cấp giải pháp cho vấn đề huấn luyện mô hình với quan sát đơn.
Trang 1TÌM HIỂU MÔ HÌNH MARKOV ẨN - ỨNG DỤNG
ĐỂ NHẬN DẠNG CHỮ VIẾT TAY
Phạm Xuân Thu Trần Đình Hoàng Huy Nguyễn Đức Hoàng Tùng
Trang 2GI I THI U - HMMs Ớ Ệ
MÔ HÌNH MARKOV
CÁC NG D NG Ứ Ụ
NỘI DUNG
Trang 3 Năm 1970, Baum và một vài người đã công bố phương pháp cực đại hoá mà
đã cung cấp giải pháp cho vấn đề huấn luyện mô hình với quan sát đơn.
3
Trang 4GIỚI THIỆU
Năm 1977, Dempster đã công bố phương pháp Expectation Maximization để cho việc ước tính độ giống nhau cực đại từ dữ liệu.
Năm 1983, Levinsons đã giới thiệu phương pháp độ giống nhau cực
đại(maximun likelihood) cho huấn luyện HMMs nhiều chuỗi quan sát đều độc lập với nhau
4
Trang 5MÔ HÌNH MARKOV
Xét mô hình về dự báo thời tiết
Giả sử chúng ta có 03 trạng thái của thời tiết
Trang 6 qn phụ thuộc vào qn-1 (trạng thái thời tiết ngày thứ n-1), qn-2, vv…
Tìm xác suất có điều kiện
P(qn|qn-1, qn-2, …, q1)
6
Trang 7MÔ HÌNH MARKOV
Dựa vào công thức chúng ta có thể dự đoán xác suất của các trạng thái thời tiết của ngày mai, ngày mốt, … dựa vào các trạng thái quan sát được trong quá khứ.
Trang 8MÔ HÌNH MARKOV
n lớn → số trạng thái quan sát lớn.
Với n = 6, ta phải thu thập đến 3(6-1) = 243 trạng thái trong quá khứ.
Giả sử một cách đơn giản (giả thiết markov):
Với dãy các trạng thái {q1, q2, …, qn} thì
P(qn|qn-1, qn-2, …, q1) = P(qn|qn-1)
Gọi là giả thiết Markov bậc nhất (mô hình Markov).
Với dãy các trạng thái {q1, q2, …, qn} thì
P(qn|qn-1, qn-2, …, q1) = P(qn|qn-1, qn-2)
Gọi là giả thiết Markov bậc hai.
8
Trang 9MÔ HÌNH MARKOV
Với dãy các trạng thái {q1, q2, …, qn} mà
P(qn|qn-1, qn-2, …, q1) = P(qn|qn-1)
Gọi là giả thiết Markov bậc nhất (mô hình Markov).
Chuỗi {qi} đầu ra được gọi là xích Markov.
Ta có thể biểu diễn xác suất của chuỗi {q1, q2, …, qn} bằng cách sử dụng giả thiết Markov như sau:
1 - i i n
2
1 , q , , q ) P(q | q ) P(q
9
Trang 12MÔ HÌNH MARKOV
Ví dụ 1:
trong hình trên, bằng cách nhân các giá trị trên đường đi
12
Trang 14MÔ HÌNH MARKOV
Ví dụ 3:
trên, ta có:
P(q2= M ,q3= M |q1= S ) + P(q2= S ,q3= M |q1= S )
Trang 15MÔ HÌNH MARKOV ẨN - HMMs
15
Giả sử chúng ta bị nhốt trong một ngôi nhà
và muốn biết được thời tiết bên ngoài.
Chúng ta chỉ có thể biết được một thứ liên
quan đến thời tiết, đó là người chăm sóc hằng ngày có mang theo dù ( D ) hay không mang theo dù ( K ).
Giả sử xác suất người chăm sóc chúng ta mang dù được cho như bảng sau:
P(oi|qi) là xác suất người chăm sóc mang theo dù (oi = D ) với trạng thái thời tiết qi trong ngày i Thời tiết Xác suất mang dù
N 0.10
M 0.80
S 0.30
Trang 16MÔ HÌNH MARKOV Ẩn - HMMs
16
Như vậy, thời tiết bên ngoài sẽ là ẩn đối với chúng ta.
Bây giờ chúng ta phải tìm xác suất của các trạng thái thời tiết qi ∈ { N , M , S } thông qua các quan sát được oi, với oi= D , nếu người chăm sóc mang theo
dù, oi= K nếu người chăm sóc không mang theo dù Nghĩa là chúng ta phải tìm P(qi|oi).
Công thức Bayes
Với n ngày, với dãy trạng thái thời tiết Q={q1, q2, …, qn} và dãy các trạng thái mang dù O={o1, o2, …, on} ta có: ( )
) (
* )
|
( )
|
(
i
i i
i i
i
o P
q P q
o
P o
q
) , , ,
(
) , , ,
(
* ) , , ,
| , , ,
( )
, , ,
| , , ,
(
2 1
2 1 2
1 2
1 2
1 2
1
n
n n
n n
n
o o
o P
q q
q P q
q q o o
o P o
o o q q
q
Trang 17, , ,
| , ,
,
(
1
2 1 2
n
o o
o P
Trang 18MÔ HÌNH MARKOV Ẩn - HMMs
18
S là một tập trạng thái (ẩn) gồm N phần tử: S = {s1, s2, …, sN}
V là một tập tín hiệu (quan sát được) gồm M phần tử: V = {v1, v2, …, vM}
Q là một chuỗi tuần tự các trạng thái có chiều dài T, tương ứng với O là một chuỗi tuần tự các tín hiệu:
Trang 19MÔ HÌNH MARKOV Ẩn - HMMs
19
Lưu ý hai giả thiết:
Giả thiết Markov, trạng thái hiện tại chỉ phụ thuộc vào trạng thái trước đó, tức là:
Trang 21thời gian
aS,N=0.2 0
bS, K=0.7
bN, K=0.9
Trang 22Ba bài toán với mô hình Markov ẩn
22
Hầu hết các ứng dụng của mô hình Markov ẩn đều đi đến việc giải ba bài toán cơ bản sau:
1 Cho mô hình Markov ẩn λ = (A, B, π ), tính P(O| λ ) là xác
suất xảy ra chuỗi tín hiệu O = {o1, o2, …, oT}.
2 Cho mô hình Markov ẩn λ = (A, B, π ), tìm chuỗi trạng
3 Xây dựng mô hình Markov ẩn λ = (A, B, π ) sao cho P(O|
λ ) hoặc P(O,Q| λ ) đạt cực đại
Trang 23Ba bài toán với mô hình Markov ẩn
O P O
q t
t q b o b o b o o
P Q
) ,
| ( )
q q q
q a a a O
q q
T q q q q
q q q
q Q
o q q
o b a o b Q
P Q
O P O
P
2 1
1
1 2
2 1 1
1 ( ) ( ) ( ) )
| ( ) ,
| ( )
|
Trang 24Ba bài toán với mô hình Markov ẩn
24
Lời giải bài toán 2:
Thuật toán Viterbi
Lời giải bài toán 3:
Thuật toán phân đoạn K-Trung bình
Công thức ước lượng lại Baum-Welch
Trang 25 Điều khiển robot
Tin sinh học và hệ gen học
amino acid.
…
Trang 26Thuật toán Viterbi
Được đề xuất bởi Andrew Viterbi vào năm 1967
Được sử dụng để giải mã các dữ liệu được mã hóa chập (được
sử dụng trong các mạng di động, LAN, không dây, truyền thông vũ trụ…)
Sử dụng trong nhận dạng giọng nói, trong đó các tín hiệu âm
thanh được coi là chuỗi quan sát được, và chuỗi văn bản được coi là “ẩn” của tín hiệu âm thanh
26
Trang 27Thuật toán Viterbi
Đầu vào:
đó
trong đó chứa xác suất chuyển tiếp từ trạng thái sang trạng thái
trong đó chứa xác suất của quan sát từ trạng thái
27
Trang 28Thuật toán Viterbi
Mỗi phần tử , chứa
28
Trang 29Thuật toán Viterbi
Đầu ra:
tạo ra chuỗi quan sát
29
Trang 30Thuật toán Viterbi
30
Trang 31Ví dụ thuật toán Viterbi
Trang 32Ví dụ thuật toán Viterbi
- Ma trận chuyển tiếp trạng thái A
Trang 33Ví dụ thuật toán Viterbi
Trang 34Ví dụ thuật toán Viterbi
- Với i = 2; j = 1; T1[j,i] = 0.084 (max) khi k = 1;
Dizz y Health
Trang 35Ví dụ thuật toán Viterbi
35
Trang 37- Chương trình mouse guestures (Cử chỉ chuột).
Trang 38ỨNG DỤNG CỦA HMMs - DEMO
38