Mô hình Markov ẩn phát triển vào cuối những năm 60 và được sử dụng rộng rãi trong lĩnh vực nhận dạng tiếng nói vào những năm 1960-1970 và được đưa vào khoa học máy tính năm 1989 Nhiều bà
Trang 1KHOA QUỐC TẾ VÀ SAU ĐẠI HỌC
BÀI TIỂU LUẬN
Đề tài: “Tìm hiểu về mô hình Markov ẩn ”
Giáo viên hướng dẫn: TS Nguyễn Ngọc Minh
Nhóm sinh viên: Nguyễn Anh Trung
Nguyễn Trường Giang Nguyễn Thị Thùy Dương Lớp: M14CQTE02-B
Trang 2THUẬT NGỮ VIẾT TẮT 4
1 Giới thiệu 5
2 MarKov Models (HM): 5
3 Mô hình Markov ẩn 8
3.1 Định nghĩa 8
3.2 Một số mô hình thông dụng của Markov ẩn 9
4 Các thuật toán trong HMM 13
4.1 Bài toán 1 – Probability Evaluation 13
4.2 Bài toán 2 – “Optimal” State Sequence 16
4.3 Bài toán 3 – Parameter Estimation 18
5 Các ứng dụng của mô hình Markov ẩn: 20
5.1 Ứng dụng mô hình Markov ẩn trong nhận dạng chữ viết tay nhận dạng chữ viết tay (observed: kí hiệu, hidden: từ ngữ) 21
5.2 Ứng dụng mô hình Markov ẩn trong nhận dạng tiếng nói 22
KẾT LUẬN 24
TÀI LIỆU THAM KHẢO 25
Trang 3Hình 1.1 Mô hình Markov 3 trang thái 6
Hình 1.2 Mô hình Markov bậc 1 1
Hình 1.3 Ứng dụng mô hình Markov trong dự báo thời tiết 8
Hình 3.1 Hình minh họa mô hình Markov ẩn ( 3 trạng thái) 9
Hình 3.2 Mô hình Markov 2 và 3 trạng thái 10
Hình 3.3 Mô hình Left – Right 10
Hình 3.4 Mô hình Bakis 10
Hình 3.5 Mô hình tuyến tính 11
Hình 3.6 Hình minh họa hệ thống bình – cầu 11
Hình 4.1 Thuật toán tiến 15
Hình 4.2 Thuật toán lùi 16
Hình 5.1 Ứng dụng mô hình Markov ẩn trong phân tích nhận dạng chuỗi gien người 21
Hình 5.2 Sơ đồ tổng quát của một hệ thống nhận dạng chữ viết tay 22
Hình 5.3 Ứng dụng mô hình Markov ẩn trong nhận dạng tiếng nói 23
Trang 4Tên viết tắt Tên tiếng Anh Tên tiếng Việt
Model
Mô hình Markov ẩn
Trang 5
1 Giới thiệu
Học thuyết về chuỗi Markov được phát triển
vào những năm 1900 Mô hình Markov ẩn phát triển
vào cuối những năm 60 và được sử dụng rộng rãi
trong lĩnh vực nhận dạng tiếng nói vào những năm
1960-1970 và được đưa vào khoa học máy tính năm
1989
Nhiều bài toán thực tế được biểu diễn dưới
mối quan hệ nhân quả, nhưng chỉ quan sát được phần
quả còn phần nhân thì ẩn HMM là một thuật toán cho
phép giải quyết các bài toán xác lập mối nhân quả cục bộ nói
trên
Mô hình Markov ẩn (Hidden Markov Model - HMM) là
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ế
Các bước thời gian rời rạc tương ứng: t=0, t=1, …
Tại bước thời gian thứ t, hệ thống ở một trong các trạng thái trên, gọi là qt
Trang 6Với qt Î{s1, s2 sN }
Hình 1.1 Mô hình Markov 3 trang thái
Giữa mỗi bước thời gian, trạng thái tiếp
theo được chọn một cách ngẫu nhiên Trạng
thái hiện tại sẽ quyết định xác xuất phân bố
của trạng thái tiếp theo (thường được kí hiệu
bằng vòng cung kết nối các trạng thái)
Trạng thái qt+1 độc lập có điều kiện
với { qt-1, qt-2, … q1, q0 }, được đưa ra
bởi qt.
P(A) là xác suất trước hay xác suất bờ
P(A|B) là xác suất sau hay xác suất có
điều kiện, là xác suất xuất hiện A đối với B
(hay xác xuất chuyển tiếp từ B đến A)
Một chuỗi q được gọi là chuỗi
Markov, để thỏa thuộc tính của Markov, trạng thái tiếp theo chỉ phụ thuộc vàotrạng thái hiện tại và không phụ thuộc vào trạng thái nào trong quá khứ Đây đượcgọi là mô hình Markov bậc 1
Hình 1.2 Mô hình Markov bậc 1
Trang 7Mô hình Markov bậc 2: là mô hình được tạo ra trên cơ sở trạng thái hiện tại
qt phụ thuộc và hai trạng thái liền kề trước đó
Ví dụ : Mô hình Markov đơn giản cho dự báo thời tiết
Thời tiết trong một ngày có thể rơi vào một trong ba trạng thái sau:
- S1: mưa
- S2: mây mù
- S3: nắng
Trang 8Hình dưới minh họa mô hình Markov ẩn 3 trạng thái với các sự kiện có thểquan sát được trong mỗi trạng thái là V = {v1, v2, v3, v4} Khả năng (xác suất) quansát được sự kiện vk trong trạng thái Sj phụ thuộc vào hàm xác suất bj(k) Hàm bđược gọi là hàm mật độ xác suất của các sự kiện được quan sát.
Trang 9Hình 3.1 Hình minh họa mô hình Markov ẩn ( 3 trạng thái)
3.2 Một số mô hình thông dụng của Markov ẩn
Hình 3.2 Mô hình Markov 2 và 3 trạng thái
Trang 10Hình 3.3 Mô hình Left – Right
Trang 11Giả sử ta có N cái bình, trong mỗi bình có M quả cầu có màu sắc khácnhau.
Đầu tiên, ta chọn một bình ngẫu nhiên trong N bình, từ bình này ta chọnngẫu nhiên một quả cầu bên trong Màu của quả cầu sẽ được ghi nhận lại vàxem là sự kiện quan sát đầu tiên
Sau đó quả cầu được trả về chỗ cũ, và từ vị trí của bình hiện tại, ta lạichuyển sang chọn ngẫu nhiên một bình tiếp theo trong N bình Một quả cầukhác lại được chọn ra từ chiếc bình đó và ghi nhận màu như là sự kiện quan sátthứ hai
Cứ thế, tiến trình chọn bình và cầu được lặp đi lặp lại Với T lần lặp, ta sẽ
có T sự kiện quan sát được, đó chính là kết xuất của hệ thống bình – cầu
Hình 3.6 Hình minh họa hệ thống bình – cầu
Hệ thống bình – cầu này minh họa cho hoạt động của mô hình Markov ẩn
có N trạng thái và M tín hiệu quan sát trong mỗi trạng thái
Các trạng thái ứng với các bình, các tín hiệu quan sát ứng với màu của cácquả cầu trong mỗi bình Khả năng chuyển từ bình này sang bình khác chính là xácsuất chuyển trạng thái, việc chọn ngẫu nhiên quả cầu trong bình sẽ bị chi phối bởihàm mật độ xác suất của các tín hiệu quan sát trong bình (trạng thái)
Trong chuỗi kết xuất của hệ thống bình – cầu, ta chỉ biết được thông tin vềmàu của các quả cầu được rút ra ở thời điểm tương ứng nhưng không biết được
Trang 12rằng quả cầu đó được rút ra từ bình (trạng thái) nào Các bình (trạng thái) đượcxem là “ẩn” so với kết quả quan sát được.
Tổng kết:
N – số lượng trạng thái của mô hình: trong hệ thống bình – cầu, các trạngthái được xem như những chiếc bình, được xem là “ẩn” Ký hiệu các trạng thái là S = {S1, S2, …, SN} và trạng thái ở thời điểm t là qt
M – là số tín hiệu có thể quan sát được trong mỗi trạng thái Các tín hiệu này là thành phần trong chuỗi kết xuất của mô hình Trong hệ thống bình – cầu, các tín hiệu này được xem như là màu sắc phân biệt của những quả cầu Các tín hiệu quan sát này là V = {v1, v2, …, vM} và tín hiệu quan sát được ở thời điểm t là Ot
Các xác suất chuyển trạng thái A = { aij } với :
Trang 13Ba bài toán cơ bản của HMM
Để có thể áp dụng được mô hình HMM vào các ứng dụng phức tạp trong thực tế, trước hết cần có lời giải thỏa đáng cho 3 bài toán cơ bản của HMM:
Bài toán 1: cho trước chuỗi tín hiệu quan sát O = {O1, O2, …, OT} và mô hình HMM đại diện bởi bộ tham số Làm sao để tính toán một cách hiệu quả – xác suất phát sinh O từ mô hình
Bài toán 2: cho trước chuỗi tín hiệu quan sát O = {O1, O2, …, OT} và mô hình HMM đại diện bởi bộ tham số Cần tìm ra chuỗi trạng thái tối ưu nhất Q = {q1, q2, …, qT} đã phát sinh ra O
Bài toán 3: cho trước chuỗi tín hiệu quan sát O = {O1, O2, …, OT} Làm thế nào để xác định các tham số mô hình sao cho cực đại hóa xác suất ? Đây chính là bài toán học / huấn luyện mô hình Bài toán này đem lại một khả năng rất quan trọng của HMM: khả năng mô hình hóa một đối tượng cụ thể trong thực tế, mô hình hóa dữ liệu học
4.1 Bài toán 1 – Probability Evaluation
Mục tiêu của bài toán thứ nhất là tính – xác suất phát sinh O từ
mô hình Một giải pháp đơn giản cho vấn đề này là trực tiếp duyệt qua tất cảcác chuỗi trạng thái Q làm phát sinh ra O Khi đó, xác suất sẽ là tổng các xác suất phát sinh O từ tất cả các chuỗi Q khác nhau:
Để xác định theo cách trực tiếp như trên, ta cần thực hiện
2T(N)T phép tính Điều này là không khả thi ngay cả với các giá trị nhỏ của N(số trạng thái của mô hình) và T (chiều dài của chuỗi tín hiệu quan sát); chẳnghạn với N = 5 và T = 100, tổng số phép tính cần phải thực hiện là
Rõ ràng chi phí tính toán là quá lớn, ta không thể tính theo cách như trên
Trang 14Một giải pháp khả thi hơn để tính là là thông qua thủ tục
forward –backward
Trước tiên, ta định nghĩa biến forward là xác suất trạng thái Si tại thời điểm t và đã quan sát được đoạn O = {O1, O2, …, OT} từ mô hình cho trước:
Các biến có thể được tính theo quy nạp từng bước sau:
Bước 1 – Khởi tạo: đặt t = 1
Trang 15Hình 4.1 Thuật toán tiến
Về độ phức tạp tính toán, để tính được tất cả các biến forward , ta cầnthực hiện N2T phép tính, nhỏ hơn rất nhiều so với 2T(N)T của phương pháp tínhtrực tiếp
Tương tự như trong thủ tục forward, thủ tục backward trước hết định nghĩabiến backward là xác suất quan sát được đoạn O = {Ot+1, Ot+2, …, OT} Cho
trước trạng thái Si và mô hình :
Các biến backward cũng được tính quy nạp theo các bước sau:
Bước 1 – Khởi tạo: đặt t = T - 1
Trang 16Hình 4.2 Thuật toán lùi
Cũng giống như các biến forward, việc tính tất cả các biến backward cầnthực hiện N2T phép tính Như vậy, thủ tục forward-backward là khả thi với chi phítính toán hoàn toàn có thể chấp nhận được
Đối với việc tìm lời giải cho bài toán 1, ta chỉ cần đến phần forward trongthủ tục forward-backward Tuy nhiên, phần backward giúp tìm lời giải cho bàitoán 2 và 3
4.2 Bài toán 2 – “Optimal” State Sequence
Mục tiêu của bài toán 2 là tìm ra chuỗi trạng thái “tối ưu” nhất Q = { q1, q2,
…, qT } đã phát sinh ra O Một điều đáng lưu ý là có rất nhiều các tiêu chí “tối ưu”khác nhau cho việc xác định Q, nên lời giải cho bài toán này phụ thuộc vào tiêuchí ‘tối ưu” được chọn
Một trong những tiêu chí đó là chọn ra từng qt có độ khả thi cao nhất ở từngthời điểm t thông qua độ đo xác suất – xác suất ở trạng thái Si vào
Trang 17thời điểm t cho trước chuỗi tín hiệu quan sát O và mô hình Ta gọi độ đo này là
Biến có thể được tính thông qua các biến và theo biểu thức:
Thông qua biến , ta hoàn toàn có thể xác định được trạng thái có khảnăng cao nhất được đạt đến ở thời điểm t:
Xâu kết các qt lại, ta sẽ có chuỗi trạng thái lời giải Q của bài toán như ví dụsau:
Tuy nhiên, kết quả này chỉ mang tính cục bộ, nghĩa là đôi khi chuỗi Q tìmđược không tồn tại trong thực tế nếu một số xác suất chuyển trạng thái bằng 0 Giả
sử trong chuỗi kết quả Q tìm được có q5 = S1 và q6 = S2, nhưng trên thực tế xácsuất chuyển trạng thái a12 = 0, như vậy lời giải là mâu thuẫn
Trang 18Để tránh tình trạng mâu thuẫn như trên, ta có thể thay đổi tiêu chí “tối ưu”cho việc chọn Q Tùy theo từng ứng dụng cụ thể mà tiêu chí này sẽ được chọn saocho phù hợp, tuy nhiên tiêu chí phổ biến nhất được sử dụng là chọn cả chuỗi Qkhả thi nhất, nghĩa là qui bài toán từ việc tìm Q để cực đại hóa sang việc
tìm Q để cực đại hóa Giải pháp cho vấn đề này là thuật toán viterbi
Thuật toán viterbi định nghĩa biến là xác suất cao nhất của đoạn chuỗitrạng thái dẫn đến Si ở thời điểm t và đã quan sát được đoạn O1, O2, …, Ot chotrước mô hình :
Biến được tính theo quy nạp với các bước sau đây (thuật toán viterbi):
Bước 1 – Khởi tạo:
là mảng để lưu lại các tham số i làm cực đại hóa biểu thức
Bước 2 – Lặp quy nạp:
Bước 3 – Kết thúc lặp:
Bước 4 – Quay lui (backtracking):
Kết thúc thuật toán, chuỗi chính là lời giải đáp thõa đáng củabài toán 2
Trang 194.3 Bài toán 3 – Parameter Estimation
Mục tiêu của bài toán thứ 3, cũng là bài toán phức tạp nhất trong ba bàitoán, là tìm cách cập nhật lại các tham số của mô hình sao cho cực đại
hóa xác suất ) – xác suất quan sát được chuỗi tín hiệu O từ mô hình
Với một chuỗi tín hiệu quan sát hữu hạn bất kỳ O làm dữ liệu huấn luyện,chưa có một phương pháp tối ưu nào cho việc ước lượng các tham số
của mô hình theo hướng cực đại toàn cục Tuy nhiên, bộ tham số có thể được
chọn sao cho xác suất đạt cực đại cục bộ bằng thuật toán Baum-Welch
hoặc sử dụng phương pháp giảm dốc Gradient Phần này trình bày thuật toánBaum-Welch giải quyết bài toán 3
Trước tiên, ta định nghĩa là xác suất ở trạng thái Si tại thời điểm t và
rơi vào trạng thái Sj ở thời điểm t+1 cho trước mô hình và chuỗi tín hiệu quan sátO:
Theo định nghĩa này, có thể được tính thông qua các biến và
theo biểu thức:
Nếu ta lấy tổng theo , kết quả nhận được là số lần kỳ vọng
chuyển trạng thái từ Si Tương tự, lấy tổng theo , ta sẽ có số lần
kỳ vọng chuyển từ trạng thái Si sang Sj:
Trang 20Với các đại lượng này, ta có các biểu thức cập nhật tham số của HMM nhưsau:
exnum(Si,Sj): số lần kỳ vọng chuyển từ trạng thái Si sang trạng thái
Sj
exnum(Si): số lần kỳ vọng chuyển trạng thái từ Si
exnum_in(Sj,vk): số lần kỳ vọng ở trạng thái Sj và quan sát được tín hiệu vk
exnum_in(Sj): số lần kỳ vọng ở trạng thái Sj
Từ mô hình ban đầu và chuỗi tín hiệu quan sát O, ta tính được
vế phải của các biểu thức (*)(**)(***),kết quả nhận được chính là các tham số mớicủa mô hình Theo Baum đã chứng minh, ta luôn có
trừ phi mô hình đã đạt đến điểm tối ưu cục bộ (khi đó )
Như vậy, thuật toán Baum-Welch sẽ được áp dụng qua nhiều bước lặp đểước lượng và cập nhật các tham số mô hình cho đến khi hội tụ Tuy nhiên, kết quảcuối cùng chỉ đạt được tối ưu cục bộ mà thôi Thông thường, nếu các tham sốđược khởi tạo với các giá trị thích hợp, thì có một phần khả năng nào đó có thểgiúp mô hình đạt được tối ưu toàn cục khi huấn luyện
5 Các ứng dụng của mô hình Markov ẩn:
Ngày nay mô hình Markov ẩn được ứng dụng rộng rãi trong rất nhiều lĩnhvực như :
Trang 21Tin sinh học (bioinformatics): là một lĩnh vực khoa học sử dụng các côngnghệ của các ngành toán học ứng dụng, tin học, thống kê, khoa học máy tính , trítuệ nhân tạo, hóa học và hóa sinh (biochemistry) để giải quyết các vấn đề sinh học
Hình 5.1 Ứng dụng mô hình Markov ẩn trong phân tích nhận dạng chuỗi gien người
Phân loại và gán thẻ cho từ ngữ (Part-of-speech tagging) (observed: từ ngữ,hidden: thẻ (danh từ, động từ, tính từ…)
Hệ thống dịch ngôn ngữ (observed: từ nước ngoài, hidden: từ ngữ ứng vớingôn ngữ cần dịch)
Xử lý tín hiệu, phân tích dữ liệu và nhận dạng mẫu
Nhưng ứng dụng chủ yếu nhất và được sử dụng nhiều vẫn là nhận dạngtiếng nói và nhận dạng chữ viết tay
5.1 Ứng dụng mô hình Markov ẩn trong nhận dạng chữ viết tay nhận dạng chữ viết tay (observed: kí hiệu, hidden: từ ngữ)
Trang 22Hình 5.2 Sơ đồ tổng quát của một hệ thống nhận dạng chữ viết tay
5.2 Ứng dụng mô hình Markov ẩn trong nhận dạng tiếng nói
Trang 23(đối tượng quan sát được: tín hiệu âm thanh, đối tượng ẩn: từ ngữ)
Hình 5.3 Ứng dụng mô hình Markov ẩn trong nhận dạng tiếng nói
Ứng dụng nhận dạng tiếng nói được sử dụng rất nhiều trong công nghệ hiệnđại như điều khiển ôtô bằng giọng nói , giao tiếp với robot thông qua ngôn ngữtiếng nói hay đơn giản chỉ là trong những nhu cầu hằng ngày như mở cửa nhà ,bật
Trang 24các dụng cụ sinh hoạt thông qua máy nhận diện giọng nói và con rất nhiều ứngdụng khác nữa …
KẾT LUẬN
Trong bài luận văn này đã trình bày nhưng hiểu biết của nhóm vềchuỗi Markov và mô hình Markov cũng như một số ứng dụng của mô hình trongthực tế Qua đó chúng em nhận thấy rằng tuy đã được nghiên cứu và phát triển từlâu nhưng đến nay mô hình Markov vẫn được ứng dụng rất nhiều trong các côngnghệ hiện đại và cũng như các công nghệ phục vụ sinh hoạt hằng ngày
Do thời gian có hạn và độ hiểu biết của chúng em còn chưa đầy đủnên bài viết còn có phần thiếu sót mong thầy thông cảm
Em xin cảm ơn thầy Ts Nguyễn Ngọc Minh cùng một số bạn bè đãcung cấp tài liệu và hướng dẫn để nhóm hoàn thành tiểu luận này
Trang 25
TÀI LIỆU THAM KHẢO
[ 1] B.H Juang and L.R Rabiner, 1991, Hidden Markov Models for Speech
Recognition, Technometrics, Vol.33, NO.3.
[2] Jeff Bilmes, 2002, What HMMs Can Do, Dept of EE, University of
Washington
[3] Nguyễn Hồng Quang ,luận văn cử nhân –Khoa CNTT ĐH KHTN 2004