1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Tìm hiểu về mô hình Markov ẩn

25 1K 9

Đ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 25
Dung lượng 2,44 MB

Nội dung

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 1

KHOA 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 2

THUẬ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 3

Hì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 4

Tê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 6

Vớ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 7

Mô 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 8

Hì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 9

Hì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 10

Hình 3.3 Mô hình Left – Right

Trang 11

Giả 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 12

rằ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 13

Ba 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 14

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

Hì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 16

Hì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 17

thờ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 19

4.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 20

Vớ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 21

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

Hì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 24

cá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

Ngày đăng: 14/12/2016, 10:23

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w