Làm thế nào chúng ta có thể áp dụng phương pháp học máy (machine learning) cho các dữ liệu dạng chuỗi của các quan sát thay đổi theo thời gian? Ví dụ, chúng ta có thể quan tâm việc khám phá chuỗi các từ mà một người nào đó nói dựa trên bản ghi âm phần nói chuyện của họ. Hoặc chúng ta có thể muốn gán nhãn từ loại của bài nói chuyện. Ghi chú này cung cấp phần giới thiệu toán học toàn diện cho mô hình Markov một phương thức lập luận về trạng thái theo thời gian, và mô hình Markov ẩn áp dụng khi chúng ta muốn trích xuất một chuỗi trạng thái từ một chuỗi các quan sát. Phần cuối cùng bao gồm một số nguồn tham khảo thể hiện về mô hình này theo các góc độ khác.
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA QUỐC TẾ VÀ ĐÀO TẠO SAU ĐẠI HỌC
-o0o -TIỂU LUẬN CÔNG CỤ TOÁN CHO CÔNG NGHỆ THÔNG TIN
Đề tài:
HIDDEN MARKOV MODEL
Giảng viên: TS Vũ Văn ThỏaHọc viên:
HÀ NỘI - 08/2018
Trang 2MỤC LỤC
PHẦN I: DỊCH BÀI BÁO SANG TIẾNG VIỆT 3
1 Mô hình Markov 3
1.1 Hai vấn đề của mô hình Markov 4
2 Mô hình Markov ẩn 7
2.1 Ba vấn đề của một mô hình Markov ẩn 9
2.2 Xác suất của một chuỗi quan sát: Thủ tục tiến 9
2.3 Thiết lập trạng thái khả năng tối đa: Thuật toán Viterbi 10
2.4 Tham số học: EM cho HMMs 11
2.5 Đọc thêm 17
PHẦN II: PHÂN TÍCH VÀ ĐÁNH GIÁ 19
1 Phân tích bài toán 19
2 Thuật toán Viterbi 19
3 Xây dựng cấu trúc dữ liệu cho INPUT và OUTPUT 23
4 Ưu - Nhược điểm của thuật toán Viterbi 23
5 Các lớp bài toán tương tự 23
Trang 3PHẦN I: DỊCH BÀI BÁO SANG TIẾNG VIỆT
Cơ bản về mô hình Markov ẩn
Daniel RamageCS229 Section NotesNgày 01 tháng 12 năm 2007
LỜI GIỚI THIỆU
Làm thế nào chúng ta có thể áp dụng phương pháp học máy (machinelearning) cho các dữ liệu dạng chuỗi của các quan sát thay đổi theo thời gian? Ví
dụ, chúng ta có thể quan tâm việc khám phá chuỗi các từ mà một người nào đó nóidựa trên bản ghi âm phần nói chuyện của họ Hoặc chúng ta có thể muốn gán nhãn
từ loại của bài nói chuyện Ghi chú này cung cấp phần giới thiệu toán học toàndiện cho mô hình Markov - một phương thức lập luận về trạng thái theo thời gian,
và mô hình Markov ẩn - áp dụng khi chúng ta muốn trích xuất một chuỗi trạng thái
từ một chuỗi các quan sát Phần cuối cùng bao gồm một số nguồn tham khảo thểhiện về mô hình này theo các góc độ khác
The LIMITED HORIZON ASSUMPTION - Giả định phạm vi hạn chế là giả
sử rằng xác suất của một trạng thái tại thời điểm t chỉ phụ thuộc vào trạng thái tạithời điểm t-1 Về mặt trực quan, giả định này chỉ ra rằng trạng thái tại thời điểm t
Trang 4biểu thị tóm tắt tương đối đầy đủ trạng thái trước đó để dự đoán khả năng sẽ có thểxảy ra trong tương lai Công thức:
P (zt|zt-1, zt-2,…, z1) = P(zt|zt-1)The STATIONARY PROCESS ASSUMPTION - Giả định tiến trình tĩnh, giảthiết rằng phân phối có điều kiện của trạng thái theo sau trạng thái hiện tại khôngthay đổi theo thời gian Công thức:
P (zt|zt-1) = P (z2|z1); t ∈ 2…TQuy ước trạng thái ban đầu chính là quan sát đầu tiên z0 s0, với s0 thể hiệnphân phối xác suất ban đầu của trạng thái tại thời điểm 0 Kí hiệu thuận tiện nàycho phép chúng ta mã hóa một cách chính xác về tiền xác suất của quan sát trạngthái thực đầu tiên z1 là P(z1|z0) Lưu ý P(zt|zt-1,…, z1) = P(zt|zt-1,…, z1; z0) vì ta đã địnhnghĩa z0 = s0 cho chuỗi trạng thái bất kỳ nào (Một số thể hiện khác của mô hìnhMarkov ẩn - HMMs đôi khi biểu diễn tiền xác suất này bằng một véc tơ R¿S∨¿¿)
Ta tham số hóa những chuyển dịch này bằng cách xác định một ma trậnchuyển trạng thái A ∈R(|S| + 1)x(|S| + 1) Giá trị Aij là xác suất chuyển từ trạng thái I đếntrạng thái j tại thời điểm t bất kỳ Với ví dụ về thời tiết ở trên, chúng ta có ma trậnchuyển đổi sau:
Lưu ý rằng những con số mà tác giả đã thiết lập này biểu thị trực quan rằngcác thời tiết có khả năng tự tương quan: nghĩa là nếu trời nắng nó sẽ có xu hướngtiếp tục nắng, nhiều mây sẽ tiếp tục nhiều mây, Mô hình này phổ biến trongnhiều mô hình Markov và có thể được quan sát như là đường chéo chính trong matrận chuyển đổi Chú ý trong ví dụ này, xác suất chuyển đổi từ trạng thái khởi tạo
s0 đến mỗi trạng thái còn lại là không thay đổi
1.1 Hai vấn đề của mô hình Markov
Kết hợp các giả định Markov với các tham số của ma trận chuyển trạng thái
Trang 5Markov Thứ nhất, xác suất của một chuỗi trạng thái cụ thể ⃗Z là gì? Và, làm thếnào chúng ta ước lượng các tham số của ma trận A để có thể tối đa hóa khả năngcủa một chuỗi quan sát ⃗Z?
1.1.1 Xác suất của một chuỗi trạng thái
Chúng ta có thể tính toán xác suất một chuỗi trạng thái cụ thể ⃗Z bằng cách sửdụng quy tắc dây chuyền (chain rule) của xác suất:
Hãy tính xác suất của chuỗi thời gian trong ví dụ trước đó Ta tính P(z1 = ssun,
z2 = scloud, z3 = srain, z4 = srain, z5 = scloud) như sau: P(ssun|s0)P(scloud|ssun)P(srain|scloud)P(srain|
srain)P(scloud|srain) = 33 *.1 *.2* 7* 2
1.1.2 Thiết lập tham số khả năng tối đa
Từ một khía cạnh nghiên cứu, chúng ta có thể đi tìm cách để tìm ra các tham
số của A để tối đa hóa khả năng xảy ra của chuỗi các quan sát ⃗Z Điều này tươngứng với tìm kiếm các khả năng chuyển từ sunny sang cloudy so với từ sunny sangsunny,… để tạo ra một tập các quan sát có khả năng nhất Hãy xác định log-likelihood của một mô hình Markov
Trang 6Ở dòng cuối cùng, ta sử dụng một hàm chỉ thị có giá trị 1 khi điều kiện thỏamãn và ngược lại có giá trị 0 để chọn ra chuyển dịch được quan sát tại mỗi bướcthời gian Khi giải quyết vấn đề tối ưu hóa này, điều quan trọng là phải đảm bảorằng các thông số A được tìm ra vẫn tạo ra một ma trận chuyển đổi hợp lệ Đặcbiệt, cần phải tuân thủ rằng phân bố xác suất của các trạng thái i luôn luôn có tổngbằng 1 và tất cả các phần tử của A là không âm Ta có thể giải quyết vấn đề tối ưuhóa này bằng phương pháp nhân tử Lagrange.
Lấy đạo hàm từng phần và đặt chúng bằng không, ta có:
Trang 7Thế trở lại và thiết lập αi bằng 0:
Thay thế giá trị này của αi vào biểu thức chúng ta đã khởi tạo cho Aij ta thuđược giá trị tham số khả năng cực đại cuối cùng cho Âij
Công thức này mã hóa một trực quan đơn giản: xác suất khả năng tối đa của
sự chuyển đổi từ trạng thái i đến trạng thái j bằng số lần chuyển từ i sang j chia chotổng số lần ở trạng thái i Nói cách khác, tham số khả năng tối đa tương ứng với tỷ
số của thời gian ở trong trạng thái i và chuyển sang trạng thái j
2 Mô hình Markov ẩn
Mô hình Markov là một khái niệm trừu tượng hữu ích đối với các dữ liệuchuỗi thời gian, nhưng không nắm bắt một tình huống rất phổ biến Làm thế nào
Trang 8chúng ta có thể suy luận về một loạt các trạng thái nếu chúng ta không thể quan sátcác trạng thái đó, thay vì chỉ có một hàm xác suất trạng thái Đây là tình huống gánnhãn từ loại khi các từ được quan sát nhưng không biết từ loại, và nhận dạng giọngnói khi chuỗi âm thanh được quan sát nhưng không phải là các từ tạo ra nó Ví dụđơn giản, chúng ta hãy mượn đề xuất được thiết lập bởi Jason Eisner vào năm 2002[1], “Ice Cream Climatory”.
Tình huống: Bạn là một nhà khí tượng trong năm 2799, nghiên cứu lịch sửcủa sự nóng lên toàn cầu Bạn có thể không tìm ra bất cứ hồ sơ nào về thời tiết ởBaltimore, nhưng bạn tìm được nhật ký của Jason Eisner, trong đó ghi lại chi tiếttôi đã ăn bao nhiêu kem mỗi ngày Dựa vào đây bạn có thể chỉ ra điều gì về thờitiết mùa hè?
Mô hình Markov ẩn có thể được sử dụng để giải quyết tình huống này Chúng
ta không quan sát chuỗi trạng thái thực tế (thời tiết mỗi ngày) Thay vào đó, chúng
ta chỉ có thể quan sát một số kết quả được tạo ra bởi mỗi trạng thái (bao nhiêu kem
đã ăn ngày hôm đó)
Về hình thức, một mô hình Markov là một mô hình Markov mà chúng ta cómột chuỗi các kết quả đầu ra được quan sát x=¿{x1, x2, …, xT}rút ra từ tập đầu ra V
= {v1, v2,…, v|V|}, nghĩa là xt V, t = 1 T Trong phần trước, ta cũng thừa nhận sựtồn tại của các chuỗi trạng thái z = {z1, z2,…, zT} rút ra từ tập trạng thái S = {s1, s2,
…, s|S|}, zt S, t = 1 T nhưng trong trường hợp này giá trị của các trạng thái khôngquan sát được Sự chuyển dịch giữa các trạng thái i và j một lần nữa sẽ được thểhiện bởi các giá trị tương ứng trong ma trận chuyển dịch trạng thái Aij
Chúng ta cũng mô hình hóa xác suất tạo ra một quan sát đầu ra như một hàmcủa trạng thái ẩn Để làm như vậy, chúng ta thực hiện giả định độc lập đầu ra -OUTPUT INDEPENDENCE ASSUMPTION và định nghĩa P(xt = vk|zt = sj)= P(xt
= vk|x1,…, xT, z1,…, zT) = Bjk Ma trận B mã hóa xác suất tạo ra trạng thái ẩn đầu ra
vk được cho bởi trạng thái sj tại thời điểm tương ứng
Quay trở lại ví dụ về thời tiết, giả sử rằng bạn có một bản ghi chép về sự tiêuthụ kem trong giai đoạn bốn ngày: khi
chỉ mã hóa số lượng kem tiêu thụ,
nghĩa là:
Trang 9V={v1 = 1 ice cream, v2 = 2 ice creams, v3 = 3 ice creams} Chúng ta phải giảiquyết những vấn đề nào trong một HMM?
2.1 Ba vấn đề của một mô hình Markov ẩn
Có ba vấn đề cơ bản của một HMM Đó là: Xác suất của một chuỗi quan sát
là gì (làm thế nào để chúng ta có khả năng biết được là 3, 2, 1, 2 cây kem đã đượctiêu thụ)? Chuỗi các trạng thái có khả năng nhất tạo ra các quan sát là gì (thời tiếttrong bốn ngày như thế nào)? Và làm thế nào chúng ta có thể biết được cách giá trịcác tham số A và B của một HMM đưa ra một vài dữ liệu?
2.2 Xác suất của một chuỗi quan sát: Thủ tục tiến
Trong một HMM, chúng ta giả định rằng dữ liệu của chúng ta được tạo ra bởiquá trình như sau: thừa nhận sự tồn tại của một chuỗi trạng thái ⃗Z dựa theo độ dàicủa chuỗi thời gian Chuỗi trạng thái này được tạo ra bởi một mô hình Markov đãđược tham số hóa bằng một ma trận chuyển đổi trạng thái A Tại mỗi bước thờigian t, chúng ta chọn một đầu ra xt là một hàm trạng thái Zt Vì vậy, để có được xácsuất của một chuỗi các quan sát, chúng ta cần phải bổ sung thêm các khả năng của
dữ liệu ⃗x cho mỗi chuỗi các trạng thái có thể
Các công thức trên đúng cho bất kỳ phân phối xác suất nào Tuy nhiên, cácgiả định HMM cho phép chúng ta giản lược các biểu thức như sau:
Trang 10Tin tốt là, đây là một biểu thức đơn giản về các tham số Biến đổi biểu thứctheo các giả định HMM: giả định độc lập đầu ra, giả định Markov, và giả định quátrình tĩnh đều được sử dụng để có được dòng thứ hai Tin xấu là tổng số vượt quámỗi chỉ định có thể cho ⃗Z Bởi vì zt có thể lấy một trong những giá trị có thể của |S|tại từng bước thời gian, việc đánh giá trực tiếp tổng số này sẽ yêu cầu các phéptính O(|S|T).
Thuật toán 1: Thủ tục tiến để tính α i (t)
1 Khởi tạo:α i(0) = A0i, i = 1 |S|
2 Đệ quy:
May thay, một phương tiện nhanh hơn của máy tính P (⃗x; A, B) là có thểthông qua một thuật toán lập trình động được gọi là thủ tục tiến Đầu tiên, chúng ta
hãy định nghĩa một lượng α i (t) = P(x 1, x 2 ,…, x t ,z t = s i ; A, B) α i (t) biểu thị cho xác
suất tổng của tất cả các quan sát theo thời gian t (bằng bất kỳ chỉ định trạng thái
nào) và rằng chúng ta đang ở trong trạng thái si tại thời điểm t Nếu chúng ta đã có
một lượng như vậy, xác suất của loạt các quan sát đầy đủ P (⃗x ) có thể được biểu
diễn như sau:
Thuật toán 2.2 biểu diễn một cách tính toán αi(t) hiệu quả Tại mỗi bước thời gian chúng ta chỉ cần tính O(|S|), kết quả độ phức tạp thuật toán cuối cùng O(|S|.T)
là tính xác suất tổng của một chuỗi trạng thái được quan sát P (⃗x ; A, B).
Một thuật toán tương tự được gọi là thủ tục quay lui (BACKWARD
PROCEDURE) có thể được sử dụng để tính toán xác suất tương tự β i (t) = P (x T, x
T-1 ,…, x t + 1, z t = s i ; A, B).
2.3 Thiết lập trạng thái khả năng tối đa: Thuật toán Viterbi
Trang 11Một trong những vấn đề phổ biến nhất của một mô hình Markov ẩn là những
gì mà chuỗi các trạng thái có khả năng nhất ⃗Z ST đưa ra một chuỗi các kết quảđầu rađược quan sát ⃗x VT Ta có:
Sự đơn giản hóa đầu tiên theo qui tắc Bayes và lần thứ hai dựa trên sự quansát rằng mẫu số không phụ thuộc vào ⃗Z Một cách đơn giản, chúng ta có thể thử chỉđịnh mỗi khả năng có thể cho ⃗Z và gán với một xác suất cao nhất trong mô hìnhcủa chúng ta Tuy nhiên, điều này sẽ yêu cầu tính O(|S|T) để liệt kê một loạt các chỉđịnh có thể Tại điểm này, bạn có thể cho rằng giải pháp lập trình động giống nhưthủ tục tiến có thể lưu giữ ngày
Chú ý rằng nếu bạn thay thế bởi thì nhiệm vụ hiện tại củachúng ta giống với biểu thức đã được đưa ra ở thủ tục tiến
Thuật toán 2: Ứng dụng Naive của EM cho HMMs
Lặp lại cho đến khi hội tụ {
(Bước E) Đối với mỗi gán nhãn có thể ⃗Z ST , đặt Q(⃗Z¿:= p(⃗Z∨⃗x; A,B)
(Bước M) đặt:
Thuật toán Viterbi cũng giống như thủ tục tiến ngoại trừ việc thay vì theo dõixác suất tổng tạo ra các quan sát cho đến bây giờ, chúng ta chỉ cần theo dõi xácsuất cực đại và ghi nhận chuỗi trạng thái tương ứng của nó
2.4 Tham số học: EM cho HMMs
Vấn đề cuối cùng của một HMM là: đưa ra một tập hợp các quan sát, giá trịcủa xác suất chuyển đổi trạng thái A và xác suất phát sinh đầu ra B làm cho dữ liệu
Trang 12có khả năng nhất là gì? Ví dụ, giải quyết các tham số khả năng tối đa dựa trên mộttập dữ liệu nhận dạng giọng nói sẽ cho phép chúng ta huấn luyện HMM một cáchhiệu quả trước khi yêu cầu chỉ định các trạng thái khả năng tối đa của một tín hiệuphát biểu được đề cử.
Trong phần này, chúng tôi trình bày cách áp dụng thuật toán tối đa kỳ vọngđối với các mô hình Markov ẩn Bằng chứng này dựa theo công thức chung của
EM đã được trình bày trong CS229 Thuật toán 2.4 đưa ra thuật toán EM cơ bản.Chú ý rằng vấn đề tối ưu hóa ở bước M bị hạn chế để A và B duy trì các xác suấthợp lệ Giống giải pháp khả năng tối ưu chúng ta tìm ra trong mô hình Markov(không ẩn), chúng ta cũng có thể giải quyết vấn đề tối ưu hóa này với phương phápnhân tử Lagrange Chú ý rằng cả bước E và bước M đều yêu cầu liệt kê tất cả các |S|Tcó thể gán cho ⃗Z Chúng ta sẽ sử dụng các thuật toán tiến và lui đã đề cập trước
đó để tính toán một tập hợp các số liệu thống kê đầy đủ cho bước E và bước M mộtcách dễ dàng
Đầu tiên, hãy viết lại hàm mục tiêu sử dụng các giả định Markov
Ở dòng đầu tiên ta chia log thành một phép trừ và lưu ý rằng số hạng của mẫu
số không phụ thuộc vào các tham số của A và B Các giả định Markov được ápdụng ở dòng thứ 3 Dòng 5 sử dụng các hàm chỉ thị để đánh dấu cho A và B bằngtrạng thái
Cũng như đối với các tham số khả năng tối ưu trong mô hình Markov không
ẩn, sẽ không có vấn đề gì nếu ta bỏ qua các ràng buộc bất bình đẳng bởi vì dạnggiải này tự đưa ra kết quả với các số dương Xây dựng công thức Lagrange:
Trang 13Lấy đạo hàm từng phần và đặt biểu thức bằng không:
Lấy đạo hàm từng phần giữ nguyên các nhân tử Lagrange và thay thế các giátrị của Aij và Bjk ở trên:
Trang 14Thế trở lại vào biểu thức ở trên, ta sẽ tìm ra các tham số Â và mà tối đahóa số lượng dự đoán của chúng ta đối với các bộ dữ liệu là:
Thật không may, mỗi một tổng số này vượt quá mọi nhãn có thể ⃗Z ST.Nhưng nhớ lại rằng Q(⃗Z¿ đã được xác định ở bước E là P(⃗Z|⃗x; A,B) cho các tham
số của A và B tại bước thời gian cuối Hãy xem xét làm thế nào để biểu diễn tử số
đầu tiên của Âij dưới dạng xác xuất tiến và lùi, α i (t) và β j (t).
Trang 15Trong hai bước đầu tiên ta đảo vị trí các số hạng và thay thế giá trị đã định
nghĩa của Q Sau đó, ta sử dụng quy tắc Bayes và có được trong dòng thứ tư, và ở dòng 5 ta sử dụng các định nghĩa của α, β, A, và B Tương tự như vậy, mẫu số có
thể được biểu diễn bằng cách tính tổng tất cả giá trị của tử số thông qua j
Kết hợp các biểu thức này, chúng ta có thể mô tả đầy đủ các chuyển đổi trạngthái khả năng tối đa Âij mà không cần phải liệt kê tất cả tử số có thể là:
Trang 16Tương tự như vậy, chúng ta có thể biểu diễn cho tử số cho jk như sau:
Thuật toán 3: thuật toán Forward-Backward về nghiên cứu tham số HMM
Khởi tạo: Đặt A và B là các ma trận xác suất hợp lệ ngẫu nhiên
với A i0 = 0 và B 0k = 0 vài = 1 |S|; k = 1 |V|.
Lặp lại cho đến khi hội tụ {
(Bước E) Chạy thuật toán tiến và lùi để tính toán α i và β i , với i = 1 |S|.
Sau đó đặt:
(M-Step) ước tính lại các thông số khả năng tối đa:
Và triển khai jk:
Trang 17Kết hợp các biểu thức lại, ta thu được biểu thức cho các xác suất phát sinh khảnăng tối đa như sau:
Thuật toán 2.4 cho thấy một biến thể của thuật toán Forward-Backward, haythuật toán Baum-Welch cho tham số học trong HMMs Trong bước E, thay vì đánhgiá một cách minh bạch Q(⃗Z¿ cho tất cả các ⃗Z ST, ta tính toán các thống kê đầy
đủ γt(i,j) = αi(t)AijBjxtβj(t+1) để cân đối xác suất chuyển đổi giữa trạng thái si và sj
tại thời điểm t cho tất cả các quan sát ⃗x Các biểu thức gốc của A ij và B jk tương đối
là trực quan Aij được tính bằng số chuyển đổi kỳ vọng từ si đến sj chia cho sốlượng kỳ vọng xuất hiện của si Tương tự như vậy, Bjk được tính bằng số phát sinh
kỳ vọng của vk từ sj bị chia bởi số lượng xuất hiện kỳ vọng của sj
Giống như nhiều ứng dụng của EM, tham số học trong HMMs là một vấn đềnon-convex với nhiều local maxima EM sẽ hội tụ để đạt cực đại dựa trên tham sốban đầu của nó, vì vậy số hạng có thể được xếp theo thứ tự Ngoài ra, nó còn có vaitrò quan trọng trong việc làm mịn các phân phối xác suất được biểu diễn bởi A và
B để cho không có một chuyển đổi hoặc phát sinh nào có xác xuất bằng 0
2.5 Đọc thêm
Có rất nhiều nguồn tài liệu tốt cho việc nghiên cứu về các mô hình Markov
ẩn Đối với các ứng dụng trong xử lý ngôn ngữ tự nhiên, tôi đề xuất dự thảo ấn bản
thứ hai Speech and Language Processing1 của Jurafsky và Martin hoặc