Tải bản đầy đủ - 0 (trang)
Chương 3: Mô hình markov ẩn

Chương 3: Mô hình markov ẩn

Tải bản đầy đủ - 0trang

Ta biểu diễn markov chain biểu diễn bởi ma trận xác suất: P(Xn+1=x|Xn=y)

Tính chất của markov chain:



Mơ tả markov chain dựa trên finite automata

Markov chain là một trường hợp đặc biệt của weighted finite state automata

Ta có:

Trong khơng gian trạng thái hữu hạn S = {Si, i= 1,2,…,N}

Xác suất chuyển trạng thái:

P(Xn+1=Sj|Xn=Si) = aij(n) với i,j=1,2…N

aij được gọi là xác suất chuyển trạn thái và aij độc lập với thời gian

Một markov chain được biểu diễn bởi một finite automata có các thành phần sau:

Q = q1,q2,…,qN :Tập của N trạng thái

A = a01,a02,…an1,…,anm : ma trận chuyển trạng thái với aij là xác suất chuyển từ

trạng thái I sang trạn thái j. có ∑𝑁

𝑗=1 𝑎𝑖𝑗 =1 ∀𝑖

q0,qf : trạng thái khởi đầu và kết thúc

Trong nhiều trường hợp sẽ sử dụng đến khái niệm phân bố xác xuất khởi tạo π =

{πi} thay cho q0. Với πi là xác suất mà markov chain bắt đầu ở trạng thái Si. Nếu πi

= 0 không thể bắt đầu ở Si và ∑𝑁

𝑖=1 𝜋𝑖 = 1

QA = {…Sx,Sy…} tập chấp nhận đc là con của Q



3.2 Hidden Markov Model

Biểu diễn HMM thông qua finite automata gồm các thành phần:

Q = q1,q2,…,qN :Tập của N trạng thái

A = a01,a02,…an1,…,anm : ma trận chuyển trạng thái với aij là xác suất chuyển từ

trạng thái I sang trạn thái j. có ∑𝑁

𝑗=1 𝑎𝑖𝑗 =1 ∀𝑖

O = o1,o2,…,oT: là một chuỗi T các quan sát được tại các thời điểm t khác nhau.

Mỗi oi thuộc tập V = {v1,v2,…vm} là tập tất cả các quan sát có thể được trong mỗi

trạng thái.

B ={ bj(k) } : phân bố xác xuất các quan sát được trong trạng thái Sj. bj(k) =

P(vk=ot,qt=Sj) có bj(k) là xác xuất quan sát được sự kiện vk trong trại thái Sj.

Π = {πi} :phân bố xác suất khởi tạo.

QA = {qx,qy…} ; QA (con của Q) là tập chấp nhận được

Giả thiết markov P(qi|q1,…,qi-1) = P(qi|qi-1)

Và P(oi|q1...qi,...,qT,o1,...,oi,...,oT)= P(oi|qi)

Một mơ hình HMM được đại diện bởi bộ tham số: Λ = (A,B,π)

Ví dụ:



14



Hình 8: Ví dụ mơ hình markov ba trạng thái

Ở mỗi trạn thái sự kiện có thể quan sát được thuộc V = (v1,v2,v3,v4)

B = (b11,b12,…,b34) phân bố xác xuất quan sát được sự kiện và bj(k) là xác xuất

quan sát được sự kiện Vk trong trạng thái Sj.

Các trạng thái Sj được coi là ẩn so với việc quan sát. Đó là lý do tại sao ta gọi là mơ

hình markov ẩn.

Ba vấn đề chính của hidden markov model:

HMM is characterized by three fundamental problems

- Problem 1 (Computing likelihood): cho mơ hình λ(A,B,π) và chuỗi quan sát

được O xác định độ tương đồng (likelihood) P(O|λ)

- Problem 2 (decoding): Cho một cuỗi quan sát O và mơ hình HMM λ(A,B,π), tìm

ra chuỗi Q tối ưu nhất đã phát sinh ra O

- Problem 3 (learning): cho một chuỗi quan sát O và tập các trạng thái của HMM,

điều chỉnh các tham số λ = {A, B, π} của HMM để P(O| λ) lớn nhất. (Đây chính là

bài tốn huấn luyện mơ hình. Bài toán này đem lại khả năng rất quan trọng của

HMM đó là mơ hình hóa đối tượng cụ thể trong thực tế với dữ liệu liên tục)

Solution for three problems.

Problem 1: the forward or backward algorithm

Problem 2: the Viterbi algorithm

Problem 3: the baum – welch algorithm



3.3



Thuật toán Forward và Backward

Ví dụ:



Hình 9: Ví dụ mơ hình markov thời tiết

Ví dụ này chúng ta sẽ giải quyết sau khi xem xét chút lý thuyết.

Cho một chuỗi quan sát được O = {o1,o2,…,oN) và tham số mơ hình HMM λ = {A,B,

π}

15



Ta có:

P(O| λ) = ∑𝑎𝑙𝑙 𝑄 𝑃(𝑂, 𝑄| λ ) là tổng xác suất của các chuỗi Q có thể sinh ra O trong

mơ hình λ.

Suy ra: P(O,Q| λ) = P(O|Q, λ)*P(Q| λ)

Trong đó: P(O|Q, λ) = Bq1(O1)*bq2(O2)*…*bqT(OT) : là xác suất quan sát được

chuỗi O sinh ra từ một chuỗi Q=(q1,q2,…,qT)

Và: P(Q| λ) = 𝜋𝑞1 𝑎𝑞1𝑞2 𝑎𝑞2𝑞3 … . 𝑎𝑞𝑇−1𝑞𝑇 là xác suất sinh ra một chuỗi Q=q1,…,qT

từ mô hình λ.

Vậy nên: P(O|λ) = q1,q2,...,qT πq1 bq1 (o1)aq1q2 bq2 (o2)...aqT−1qT bqT (oT )

Số phép toán phải thực hiện 2T*N^T rất lớn.

Xem Ví dụ trên đầu: O = { 3 1 3}

Với một chuỗi Q cụ thể P(3 1 3, hot cold hot) =

P(hot|start)*P(hot|hot)*P(cold|hot)*P(3|hot)*P(1|hot)*P(3|cold)

Với tất cả các chuỗi sinh ra O: P(3 1 3) = P( 3 1 3|cold cold cold)+P(3 1 3|cold

cold hot) +…

VỚI CÁCH RẤT DÀI NÀY KHÔNG KHẢ THI VẬY TA SẼ XEM XÉT HAI GIẢI

THUẬT SAU GIÚP SỐ LƯỢNG PHÉP TÍNH ÍT HƠN.

GIẢI THUẬT FORWARD:

Đặt 𝛼𝑡 (𝑗) là xác suất ở trạng thái Sj sau khi quan sát được t quan sát O=o1…ot

αt(j) =P(o1…ot,qt=Sj|λ)

Ví dụ:



Hình 10: Q trình thực hiện giải thuật Forward



16



Trong đó: 𝛼2 (2) = 𝛼1 (2) ∗ 0,14 + 𝛼1 (1) ∗ 0,08

αt(j) chính là tổng xác xuất trên tất cả các đường dẫn tới ô trạng thái Sj khi đã quan

sát được t quan sát O.

Ta có:

αt(j) = ∑𝑁

𝑖=1 𝛼𝑡−1 (𝑖) ∗ 𝑎𝑖𝑗 ∗ 𝑏𝑗(𝑜𝑡 )

với:

𝛼𝑡−1 (𝑖) is previous forward path probability

aij là xác xuất chuyển trạn thái từ Si sang Sj

bj(ot) là xác suất quan sát được ot tại trạng thái Sj

Thủ tục forward:

B1: khởi tạo

α1(j) = πjbj(o1), 1 ≤ j ≤ N

B2: quy nạp

αt (j) = ∑𝑁

𝑖=1 𝛼𝑡−1 (i) aij]bj (ot) với 1<=j<=N và 1
B3: kết thúc

P(O|λ) = 𝛼 𝑇 (𝑞𝐹)=∑𝑁

𝑖=1 αT (i)



GIẢI THUẬT BACKWARD

Gọi βt(i) là xác suất mà tại trạng thái Si thời điểm t quan sát được chuỗi trạng thái

O(ot+1,…,oT)

Ta có: βt(i) = P(ot+1ot+2 ...oT |qt = si, λ)

Thủ tục Backward:

Khởi tạo: βT (i)=1, 1 ≤ i ≤ N

Quy nạp: βt (i) = ∑𝑁

𝑗=1 β𝑡+1 (j) aij]bj (𝑜𝑡+1 ) với t=T-1,T-2,…,1 và 1<=i<=N

Minh họa:



Hình 11: Quá trình thực hiện giải thuật Backward



17



3.4



Thuật tốn Viterbi



u cầu: Tìm ra chuỗi trạng thái tối ưu nhất Q={q1,…,qT} đã phát sinh ra

O

Việc tìm ra Q này được gọi là quá trình decoding.

Để tìm ra Q tối ưu nhất ta cần có một tiêu chí nào đó và sau đây sẽ xem xét hai tiêu

chí để xem ta nên chọn tiêu chí nào trong hai tiêu chí này:

- Tiêu chí 1: tại thời điểm t chọn ra qt có độ khả thi cao nhất thông qua xác suất:

P(qt=Si|O,λ).

Đặt (𝑖) = P(𝑞𝑡 = 𝑆𝑖 |𝑂, 𝜆) => ∑𝑁

𝑖=1 γt(i) = 1 với mọi t

𝛼(𝑖)𝛽(𝑖)

Suy ra: (𝑖) = 𝑃(𝑂|𝜆) trạng thái tối ưu nhất tại thời điểm t là

Tức là qt =i với 1<=i<=N sao cho (𝑖) đạt cực đại. Từ đó tìm ra qt và Q.

Tuy nhiên: đôi khi Q không tồn tại vì có thể có xác xuất chuyển trạn thái bằng 0

do đó ta sẽ xem sét tiêu chí tiếp theo (Được sử dụng chủ yếu)

- Tiêu chí 2: tìm ra chuỗi Q sao cho P(Q,O|λ) đạt cực đại.

Giải pháp là thuật tốn viterbi sau đây.

Thuật tốn Viterbi

Xem ví dụ:



Hình 12: Q trình hoạt động thuật tốn Viterbi

Ví dụ trên ta thấy cách tính của biến vt(j) biến này sẽ được ký hiệu lại là 𝜎t(j).

Biến 𝜎t(j) là xác suất cao nhất của chuỗi trạng thái trên đường dẫn đến trạng thái Sj

ở thời điểm t và đã quan sát được o1,…,ot với mơ hình λ cho trước.

Ta có:

18



𝛿𝑡 (𝑖) =

Hay :



max 𝑃(𝑞1 , 𝑞2 , … , 𝑞𝑡 = 𝑆𝑖 , 𝑂1 𝑂2 … 𝑂𝑡 |𝜆)



𝑞1 ,𝑞2 ,…,𝑞𝑡



𝛿𝑡 (𝑖) = max 𝛿𝑡−1 (𝑖) ∗ 𝑎𝑖𝑗 ∗ 𝑏𝑗(𝑜𝑡)

1≤𝑖≤𝑁



Để lưu lại chuỗi trạng thái ta dữ lại vết của đường dẫn tốt nhất tại thời điểm t trạng

thái Si thông qua mảng 𝜓𝑡 (𝑖) là mảng 2 chiều T quan sát và chiều còn lại là N trạng

thái. Mảng 𝜓𝑡 (𝑗) chưa các biến 1<=i<=N là vết cần lưu.

Thủ Tục viterbi

Khởi tạo:

𝛿𝑡 (𝑖) = 𝜋𝑖 𝑏𝑖 (𝑂1 ), 1 ≤ 𝑖 ≤ 𝑁

𝜓1 (𝑖) = 0

Lặp:

𝛿𝑡 (𝑗) = max [𝛿𝑡−1 (𝑖)𝑎𝑖𝑗 ]𝑏𝑗 (𝑂𝑡 ), 2 ≤ 𝑡 ≤ 𝑇, 1 ≤ 𝑗 ≤ 𝑁

1≤𝑖≤𝑁



𝜓𝑡 (𝑗) = 𝑎𝑟𝑔 max [𝛿𝑡−1 (𝑖)𝑎𝑖𝑗 ], 2 ≤ 𝑡 ≤ 𝑇, 1 ≤ 𝑗 ≤ 𝑁

1≤𝑖≤𝑁



Tức là với 𝜓𝑡 (𝑗) = i với 1<=i<=N sao cho 𝛿𝑡−1 (𝑖)𝑎𝑖𝑗 max

Kết thúc:



𝑝∗ = max [𝛿𝑇 (𝑖)]

1≤𝑖≤𝑁



𝑞𝑡∗ = 𝑎𝑟𝑔 max [𝛿𝑇 (𝑖)]

1≤𝑖≤𝑁



Tức là 𝑞𝑡∗ =i sao cho 𝛿𝑇 (𝑖) max.

Tìm chuỗi Q bằng cách quay lui:

∗ ),

𝑞𝑡∗ = 𝜓𝑡+1 (𝑞𝑡+1

𝑡 = 𝑇 − 1, 𝑇 − 2, … , 1

∗ )

Với 𝜓… (… ) là mảng 2 chiều T quan sát N trạng thái và 𝜓𝑡+1 (𝑞𝑡+1

là giá

trị một ô trong mảng.

Sau khi quay lui ta được chuỗi 𝑄 = 𝑞1∗ 𝑞2∗ … 𝑞𝑇∗ là chuỗi cần tìm.



3.5



Thuật tốn Baum Welch



Bài tốn cho một chuỗi quan sát O tìm hoặc cật nhật lại tham số của mơ

hình λ(A,B,π) sao cho P (O|λ) cực đại ta được bộ tham số mới 𝜆̅ = (𝐴̅, 𝐵̅ , 𝜋̅).

Ta có: P (O|𝝀̅) > P (O|λ) trong mọi trường hợp trừ khi λ đã đạt đến tối ưu cục

bộ.

Để giải quyết bài toán trên ta dùng thuật tốn Baum Welch.

Tính tốn:

Ta có 𝑎̅𝑖𝑗 =



kỳ vọng việc chuyển trạng thái từ Si sang Sj

kỳ vọng việc chuyển trạng thái từ Si



Để tính được tử số ta định nghĩa biến: 𝜉𝑡 (𝑖, 𝑗) là xác suất mà hệ ở trạng thái Si thời

điểm t và ở thời điểm t+1 hệ phải ở trạng thái Sj.

𝜉𝑡 (𝑖, 𝑗) = 𝑃(𝑞𝑡 = 𝑆𝑖 , 𝑞𝑡+1 = 𝑆𝑗 |𝑂, 𝜆)

Để tính được 𝜉𝑡 (𝑖, 𝑗) ta xem xét một biến khác đó là

Not-quite𝜉𝑡 (𝑖, 𝑗) = 𝑃(𝑞𝑡 = 𝑆𝑖 , 𝑞𝑡+1 = 𝑆𝑗 , 𝑂|𝜆)

Biến này khác 𝜉𝑡 (𝑖, 𝑗) ở đ𝑖ề𝑢 𝑘𝑖ệ𝑛 𝑂

Ta có: Not-quite𝜉𝑡 (𝑖, 𝑗) = αt(i)ai jb j(ot+1)βt+1( j)

𝑃(𝑋,𝑌|𝑍)

Mà P(X|Y, Z) = 𝑃(𝑌|𝑍)

Suy ra: 𝜉𝑡 (𝑖, 𝑗) =



Not−quite𝜉𝑡 (𝑖,𝑗)

𝑃(𝑂|𝜆)



Và 𝑃(𝑂|𝜆) = α𝑇(𝑁) = β𝑇(1) = ∑𝑁

𝑗=1 𝛼(𝑗)

19



𝛼𝑡 (𝑖)𝑎𝑖𝑗 𝑏𝑗 (𝑂𝑡+1 )𝛽𝑡+1 (𝑗)

𝛼𝑡 (𝑖)𝑎𝑖𝑗 𝑏𝑗 (𝑂𝑡+1 )𝛽𝑡+1 (𝑗)

=

∑𝑁

𝑝(𝑂|𝜆)

𝑘=1 αT(k)



𝜉𝑡 (𝑖, 𝑗) =



Ta có: ∑𝑇−1

𝑡=1 𝜉𝑡 (𝑖, 𝑗) là kỳ vọng của việc chuyển trạng thái từ Si sang Sj từ đây đã có

thể tính được 𝑎̅𝑖𝑗 .

Đặt: 𝛾𝑡 (𝑖) =



𝑃(𝑞𝑡 = 𝑗,𝑂|λ)

𝑃(𝑂|λ)



suy ra 𝛾𝑡 (𝑖) =



α𝑡( 𝑗)β𝑡( 𝑗)

𝑃(𝑂|λ)



Mà theo thuật tốn Backward ta có:

βt (i) = ∑𝑁

𝑗=1 β𝑡+1 (j) aij]bj (𝑜𝑡+1 )

suy ra : 𝛾𝑡 (𝑖) = ∑𝑁

𝑗=1

hay 𝛾𝑡 (𝑖) =



α𝑡( 𝑗)β𝑡+1 (j) aij]bj (𝑜𝑡+1 )



∑𝑁

𝑗=1 𝜉𝑡 (𝑖, 𝑗)



𝑃(𝑂|λ)



Vậy ta có:

∑𝑇−1

𝑡=1 𝜉𝑡 (𝑖, 𝑗) : là kỳ vọng của việc chuyển trạng thái từ Si sang Sj từ đây đã có thể

tính được 𝑎̅𝑖𝑗 .

∑𝑇−1

𝑡=1 𝛾𝑡 (𝑖) : là kỳ vọng của việc chuyển trạng thái từ Si.

Suy ra được:

∑𝑇−1

∑𝑇−1

𝑡=1 𝜉𝑡 (𝑖, 𝑗)

𝑡=1 𝜉𝑡 (𝑖, 𝑗)

𝑎̅𝑖𝑗 = 𝑇−1 𝑁

=

∑𝑡=1 ∑𝑗=1 𝜉𝑡 (𝑖, 𝑗)

∑𝑇−1

𝑡=1 𝛾𝑡 (𝑖)

Mặt khác có 𝑣𝑘 𝑡ℎ𝑢ộ𝑐 𝑉 với V = (v1,v2,…,vk) là tập tất cả các sự kiện có thể quan

sát được có thể . và vk là một sự kiện có thể quan sát được.

Kỳ vọng số lần trong trạng thái Sj quan sát được vk

𝑏̅𝑗 (𝑘) =

Kỳ vọng số lần trong trạng thái Sj

Suy ra:

𝑏̅𝑗 (𝑘) =



∑𝑇 𝑡=1 𝛾𝑡 (𝑗)

.𝑂𝑡 = 𝑣𝑘



∑𝑇

𝑡=1 𝛾𝑡 (𝑗)



(Chú ý ở tử số thì tính với tất cả t sao cho tại thời điểm t quan sát được vk).

Từ các cơng thức trên ta đã đính được bộ tham số mới của mơ hình 𝜆̅



Chương 4: Áp dụng mơ hình markov ẩn trong nhận

dạng tiếng nói

4.1



Mơ hình ngơn ngữ N-gram



Mơ hình N-gram là một mơ hình xác xuất

Cách cơ bản để tính xác xuất là đếm. Ta xem xét trong một ngôn ngữ tự nhiên cơ

bản được biểu thị bằng corpus

Xác xuất 1 từ trong corpus được tính bằng cách đếm số từ đó/ tống số từ trong

corpus.

Ta xem xét một lý thuyết tính xác xuất cơ bản

20



Mục đích là tính xác xuất của một từ w dựa trên các từ đã xuất hiện trước đó h. ví dụ

h=”water is so transparent that” tính xác xuất từ tiếp theo là “the” :

P(the/h) = C(is water so transparent that the)/ C(is water so transparent that)



Xét N từ là w1...wn hay wn và xác xuất P(w1,w2,...,wn)

Và với 𝑤1𝑛 là chuỗi n từ xuất phát từ w1

Ta có:



Áp dụng cho từ:



Nhưng ở công thức trên chúng ta không biết cách tính:

Ta sẽ xem xét một cách tính gần đúng

Mơ hình bigram tính xác xuất của từ dựa trên từ phía trước nó:

Suy ra với mơ hình N gram ta tính xác xuất dựa trên N từ phía trước nó:



Hay



Cơng thức tính của N gram



Từ mơ hình N-gram ta có thể tính được xác xuất xuất hiện từ n theo N từ xuất hiện

trước đó, do đó ta có thể dùng mơ hình N-gram để tìm ra một chuỗi từ các tự vựng

nhận dạng được.



4.2



Quá trình nhận dạng



Với mỗi acoustic đầu vào O ta có thể biểu diễn chúng như một chuỗi các

quan sát tại các thời điểm khác nhau (mỗi 10 giây và được biểu diễn bởi các giá trị

của energy, frequency…). Mỗi chỉ số của chuỗi biểu diễn một thời điểm.

Đầu vào

O=o1,o2,…,ot

Đầu ra

21



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Chương 3: Mô hình markov ẩn

Tải bản đầy đủ ngay(0 tr)

×