1. Trang chủ
  2. » Công Nghệ Thông Tin

hidden markov model

24 279 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 872,88 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

HỌ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 2

MỤ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 3

PHẦ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 4

biể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 5

Markov 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 7

Thế 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 8

chú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 9

V={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 10

Tin 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 11

Mộ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 12

có 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 13

Lấ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 14

Thế 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 15

Trong 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 16

Tươ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 17

Kế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

Ngày đăng: 21/08/2018, 10:43

TỪ KHÓA LIÊN QUAN

w