2.1. Mô hình Markov ẩn (Hidden Markov Model HMM)
2.1.2. Mô hình Markov ẩn
Như phần trên đã trình bày, chuỗi Markov chỉ phù hợp khi chúng ta biểu diễn và tính toán các chuỗi của các sự kiện mà chúng ta quan sát được trong thực tế, hay nói cách khác xác suất là cụ thể cho mỗi trạng thái chuyển dịch. Tuy nhiên chúng ta còn gặp dạng bài toán mà các sự kiện cần quan tâm tính toán lại không quan sát trực tiếp được. Ví dụ như bài toán gán nhãn từ loại nhằm gán các loại từ vào một chuỗi các từ của một câu nào đó; chúng ta không quan sát việc đánh nhãn từ loại trên thực tế, chúng ta chỉ xem các từ và phải gán nhãn cho chúng trong một chuỗi cụ thể. Chúng ta gọi các nhãn đó là ẩn (hidden) bởi vì chúng ta không được quan sát trực tiếp, chúng ta chỉ quan sát được các từ đầu vào mà thôi. Ví dụ tương tự chính là bài toán nhận dạng
tiếng nói, chúng ta có chuỗi đầu vào là các tín hiệu âm thanh trong đó chúng ta phải nhận ra các từ (ẩn) mà biểu diễn bởi các tín hiệu âm thanh này. Một mô hình Markov ẩn cho phép chúng ta làm việc với cả các sự kiện khảo sát được và các sự kiện ẩn.
Để hiểu rõ mô hình Markov ẩn là gì, làm việc như thế nào chúng ta xét ví dụ sau đây. Giả sử rằng bạn là một nhà khí tượng học vào năm 2799, nghiên cứu về lịch sử của thời tiết. Bạn không tìm thấy bất kỳ thông tin nào về thời tiết tại vùng Baltimore vào mùa hè năm 2007, tuy nhiên bạn lại có trong tay cuốn nhận ký của Jasson Eisner ghi số lượng que kem ăn hàng ngày vào thời gian đó. Mục đích của chúng ta là dựa vào dữ liệu quan sát được đó để dự đoán thời tiết vào thời điểm đó. Chúng ta giả sử chỉ có hai loại thời tiết là lạnh (C) và nóng (H). Bài toán bây giờ sẽ là: Cho một chuỗi khảo sát O, trong đó mỗi khảo sát là số lượng kem ăn vào ngày cụ thể, hãy tìm ra chuỗi ẩn Q của trạng thái thời tiết tương ứng.
Trước khi nghiên cứu các công thức trong mô hình Markov ẩn, chúng ta cần biết các thành phần trong một mô hình Markov:
- Q = q1q2...qN: tập N trạng thái của mô hình
- A = a11a12...an1...ann : ma trận xác suất chuyển dịch, mỗi giá trị aij sẽ biểu diễn việc chuyển trạng thái từ i sang j là bao nhiêu.
- O = o1o2...oT: chuỗi quan sát gồm T thành phần
- B = bi(ot): một chuỗi các xác suất đầu ra, mỗi giá trị thể hiện xác suất của một khảo sát ot được phát sinh từ trạng thái i.
- q0, qF: trạng thái bắt đầu và kết thúc cũng với các giá trị a01a02...a0n và a1Fa2F...anF.
Mô hình Markov ẩn sử dụng hai giả định về xác suất sau đây:
Giả định 1:
nghĩa là xác suất của một trạng thái i xảy ra chỉ phụ thuộc duy nhất vào trạng thái i-1 ngay trước nó.
Giả định 2:
P(oi|q1...qi,...qT,o1,o2,...oi,...oT) = P(oi|qi)
nghĩa là xác suất của khảo sát oi phụ thuộc duy nhất vào trạng thái nó được sinh ra qi và không phụ thuộc bất kỳ vào các trạng thái khác hay các khảo sát khác.
Hình 3.3 minh họa một ví dụ về HMM cho bài toán dự báo chuỗi thời tiết. Chú ý rằng trong hình 3.3, xác suất của việc chuyển giữa hai trạng thái bất kỳ là khác không, trên thực tế có một số trường hợp xác suất này bằng không chẳng hạn như trong bài toán nhận dạng âm thanh, gán nhãn từ loại,....
Hình 2.3. Ví dụ về mô hình Markov ẩn
Đối với mô hình Markov ẩn chúng ta cần giải quyết 3 bài toán sau đây:
Bài toán 1 (Giá trị khả dĩ): Cho = (A, B) và chuỗi khảo sát O, hãy xác định giá trị khả dĩ (likelihood) của P(O|).
Bài toán 2 (Giải mã): Cho một chuỗi khảo sát O và một mô hình Markov ẩn = (A, B), tìm chuỗi trạng thái ẩn tốt nhất Q.
Bài toán 3 (Học): Cho chuỗi khảo sát O và tập các trạng thái trong HMM, hãy xây dựng mô hình học cho các tham số A và B.
Sau đây chúng ta sẽ đi tìm hiểu việc giải quyết các bài toán trên.