Mô hình Markov ẩn
lượt xem 210
download
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.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Mô hình Markov ẩn
- 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à 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 ck 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={c0,…,cN}. Nếu P(ck | c0,c1,...,c(k − 1)) biểu diễn xác suất (khả năng xảy ra) của trạng thái ck 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 đó ck chỉ phụ thuộc vào trạng thái trước đó ck-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 ck 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(ck | c0,c1,...,c(k − 1))= P(ck| 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(ck | c0,c1,...,c(k − 1))= P(ck| ck-n,ck-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). 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: ∧ P (W / A) = max P (W / A) W P ( A / W ) P (W ) • Theo luật Bayes: P(W / A) = P ( A) • Mô hình HMM quan tâm đến P(W|A) • Kí hiệu: A O W λ P(A/W) P(O/ λ ) • Ví dụ1:
- Hì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} 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: a11 a12 b1 ( B ) b1 (W ) o π={a01,a02} A= và B= b ( B ) b (W ) a 21 a 22 2 2 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 Hì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.
- Hì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 o 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|λ)= ∑ P(O, Q | λ ) allQ 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: ∑ qT P(O|λ)= q1,q2 ,...,Π q1 b q1 (o1 )a q1 q 2 b q 2 (o 2 ) ...a qT -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. 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
- N P(O|λ)= ∑ α T (i) i =1 • Theo phương pháp quy nạp N αt+1 (j)=[ ∑ α t (i) a ij ] bj (ot+1), 1≤ t≤ T-1, 1 ≤ j ≤ N i =1 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 N và P(O|λ)= ∑ Π i b i (o1 )ß1 (i) i =1 o Theo phương pháp quy nạp N βt(i)= ∑ a ij b j (o t +1 )ß t +1 (j) (t=T−1,T−2,...,1; 1 ≤ i≤N) j=1 • Diễn tả thủ tục lùi: Hì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 ) = P (qt = si | O, λ ) ∑γ t =1 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. + 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 P(q1 , q 2 ,..., q t −1 , qt = s1 , o1o2 ...ot | λ ) q1 , q2 ,..., q t −1 + Theo phương pháp quy nạp: δ t +1 (i ) = [max δ t (i )aij ]bi (ot +1 ) 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 ) . 5.4 Thuật toán Viterbi + Khởi đầu: δ1 (i ) = π i bi (oi ) ψ 1 (i ) = 0 + Đệ quy: δ t ( j ) = max[δ t −1 (i )ai j ]b j (ot ),2 ≤ t ≤ T 1≤i ≤ N ψ t ( j ) = arg max[δ t −1 (i )aij ],2 ≤ t ≤ T 1≤i ≤ N
- + Kết thúc: P * = max[δ T (i )] 1≤i ≤ N * qT = arg max[δ T (i )] 1≤i ≤ N + Quay lui tìm đường dẫn( chuỗi trạng thái) tối ưu * * qT = ψ t +1 (q ), t = T − 1, t − 2,...,1 t +1 + Số phép tính ≈ N 2T + Ví dụ thuật toán Viterbi:
- Hình 5.9 + Ví dụ thuật toán Viterbi(tt) Hì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 ° Ướ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(qt = si , qt +1 = s j | O, λ ) Khi đó α t (i )aij b j (ot +1 ) β t +1 (i ) ξ t (i, j ) = P (O | λ ) N γ t (i ) = ∑ ξ t (i, j ) j =1 Kết hợp γ t (i ) và ξ t (i, j ) chúng ta đ ượ c: T −1 ∑ γ (i) = số chuyển tiếp từ trạng thái si t =1 t T −1 ∑ ξ (i, j ) = số chuyển tiếp từ trạng thái si tới sj t =1 t • Thủ tục ước lượng lại Baum-Welch Hình 5.12
- • Các biểu thức ước lượng lại với thuật toán Baum-Welch o π = γ 1 (i ) T −1 ∑ ξ (i, j ) t o a ij = t =1 T −1 ∑ γ (i) t =1 t T ∑ γ ( j) t =1,ot =vk t o b ij = T ∑ γ ( j) t =1 t • 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 | λ ) • 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.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Trích chọn các tham số đặc trưng tiếng nói cho hệ thống tổng hợp tiếng Việt dựa vào mô hình Markov ẩn
11 p | 149 | 17
-
Tích hợp mật mã khóa công khai RSA-2048 bit trong nhận dạng tiếng nói bảo mật
6 p | 33 | 7
-
So sánh phương pháp nhận dạng hành động con người trong đoạn video quay bằng một camera dùng DTW và HMM
5 p | 31 | 6
-
Thiết bị tổng hợp văn bản tiếng Việt sang tiếng nói dựa trên mô hình Markov ẩn
5 p | 8 | 5
-
Áp dụng bottle neck feature cho nhận dạng tiếng nói tiếng Việt
10 p | 63 | 5
-
Thuật toán Viterbi cải tiến và bài toán xác định số mục tiêu trong mô hình quan sát đa mục tiêu
8 p | 25 | 3
-
Xây dựng mô hình nhận dạng tiếng nói tiếng Việt theo kiến trúc end2end
3 p | 25 | 2
-
Một số vấn đề về dự báo dữ liệu chuỗi thời gian
4 p | 81 | 2
-
Vietnamese recognition using tonal phoneme based on multi space distribution
11 p | 46 | 2
-
Xây dựng Mô-đun điều khiển bằng giọng nói trong ứng dụng đọc báo điện tử cho người khiếm thị
7 p | 27 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn