Mô hình Markov ẩn tiếng Anh là Hidden Markov Model - HMM là mô hình thống kê trong đó hệ thống được mô hình hóa được cho là một quá trình Markov với các tham số không biết trước và nhiệm
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 2MỤC LỤC
CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT 5
DANH SÁCH CÁC HÌNH VẼ 6
MỞ ĐẦU 7
CHƯƠNG 1 MÔ HÌNH HMM VÀ ỨNG DỤNG TRONG NHẬN DẠNG TIẾNG NÓI 13
1 Giới thiệu 13
2 Những khái niệm toán học liên quan tới HMM 14
2.1 Giới thiệu về nhận dạng thống kê 14
2.2 Định lý Bayes 17
3 Mô hình HMM 27
3.1 Tính chất Markov 27
3.2 Xích Markov 28
3.3 Quá trình Markov 31
3.4 Mô hình HMM 32
3.4.1 Các thành phần chính của HMM 33
3.4.2 Ví dụ về mô hình HMM 35
3.5 Hai giả thuyết cơ bản để xây dựng hệ thống nhận dạng dựa trên HMM
36
3.6 Ba vấn đề cơ bản của mô hình HMM và cách giải quyết 38
3.6.1 Giải quyết vấn đề tính toán Thuật toán tính xuôi và tính ngược 39
3.6.2 Giải quyết vấn đề ước lượng tham số cho mô hình HMM Thuật toán huấn luyện Baum-Welch 41
3.6.3 Giải quyết vấn đề decoding Thuật toán Viterbi 42
4 Nhận dạng tiếng nói và nhận dạng âm vị dựa trên HMM 44
4.1 Mô hình Nhận dạng 44
4.2 Các thành phần cơ bản của hệ thống nhận dạng tiếng nói dựa trên HMM và mối liên hệ giữa chúng 46
4.3 Ví dụ về nhận dạng từ đơn dựa trên HMM 49
Trang 35 Mô hình HMM cho âm vị được sử dụng trong luận văn 53
6 Kết luận chương 1 55
CHƯƠNG 2 TIỀN XỬ LÝ TÍN HIỆU TIẾNG NÓI 56
1 Ý nghĩa 56
2 Một số thao tác tiền xử lý tín hiệu 57
2.1 Làm nổi tín hiệu (pre-emphais) 57
2.2 Lọc tiếng ồn 58
3 Trích rút đặc trưng 60
3.1 Giới thiệu 60
3.2 Một số phương pháp trích rút đặc trưng 61
3.2.1 Phương pháp Mã hoá dự báo tuyến tính (LPC) 61
3.2.2 Phương pháp Mã hoá cepstral tần số Mel (MFCC) 63
3.2.3 Phương pháp Mã hoá cepstral tần số Mel dựa trên LPC (MFCC) 68
3.2.4 Các hệ số delta (D) và hệ số gia tốc (A) 69
3.3 So sánh các phương pháp trích đặc trưng 70
4 Kết luận chương 2 71
CHƯƠNG 3 THUẬT TOÁN HUẤN LUYỆN NHÚNG – XÂY DỰNG MÔ HÌNH HMM TỰ ĐỘNG CHO ÂM VỊ 72
1 Tách và nhận dạng âm vị tự động dựa trên HMM 72
1.1 Thuật toán huấn luyện đối với những đơn vị độc lập - Huấn luyện trên dữ liệu gán nhãn 72
1.2 Thuật toán huấn luyện nhúng - huấn luyện trên dữ liệu âm thanh không gán nhãn âm vị 73
2 Các công thức ước lượng tham số của mô hình HMM 76
2.1 Ước lượng tham số khi huấn luyện các mô hình HMM độc lập 76
2.2 Ước lượng tham số trong thuật toán huấn luyện nhúng 78
3 Các vấn đề về tham số HMM khi sử dụng thuật toán huấn luyện nhúng 81
3.1 Khởi tạo tham số 81
3.2 Ngưỡng 81
3.3 Số lần lặp trong mỗi bước luyện của thuật toán 81
Trang 43.4 Dữ liệu huấn luyện 82
4 Kết luận chương 3 82
CHƯƠNG 4 CÀI ĐẶT THUẬT TOÁN – TỪ ĐIỂN TIẾNG NÓI 83
1 Giới thiệu 83
2 Một số giao diện chương trình 84
KẾT LUẬN 87
TÀI LIỆU THAM KHẢO 89
Trang 5CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT
Thuật ngữ Từ viết tắt Ý nghĩa
Dicrette Cosine
Transform
Mel-scale Frequency
Cepstral Coefficient
Trang 6DANH SÁCH CÁC HÌNH VẼ
HÌNH 1 – Mô hình HMM 5 trạng thái 34
HÌNH 2 – Sơ đồ huấn luyện mô hình HMM 44
HÌNH 3 - Sơ đồ nhận dạng từ mô hình HMM đã được huấn luyện 44
HÌNH 4 – Mô hình nhận dạng theo 3 cấp 46
HÌNH 5 - Vấn đề nhận dạng từ tách rời 50
HÌNH 6 - Tách riêng một phần của mô hình Markov 51
HÌNH 7 - Dùng HMM cho nhận dạng từ tách rời 53
HÌNH 8 – Sóng âm của chữ “hai” trước khi (hình trái) và sau khi (hình phải) được làm phẳng 58
HÌNH 9 - Sơ đồ khối của quá trình trích chọn đặc trưng MFCC 64
HÌNH 10 - Các bộ lọc mel-scale tam giác (triangle mel-scale filters) 66
HÌNH 11 – Sơ đồ của bộ lọc MFCC dựa trên biến đổi dự báo tuyến tính và các biến đổi Fourier 69
HÌNH 12 – Lưu đồ huấn luyện từ đơn của công cụ HRest (HTK) 72
HÌNH 13 – Dãy sóng âm “MO6T MO6T HAI HAI BA MO6T” 74
HÌNH 14 – Mô hình huấn luyện nhúng 75
Trang 7MỞ ĐẦU
Ngay khi máy tính ra đời con người đã mơ ước máy tính có thể nói chuyện với mình Yêu cầu đơn giản nhất là máy có thể xác định được từ ngữ
mà chúng ta nói với máy Đó là mục tiêu của ngành nhận dạng tiếng nói
Nhận dạng tiếng nói đóng vai trò quan trọng trong giao tiếp giữa người
và máy Nó giúp máy móc hiểu và thực hiện các hiệu lệnh của con người Hiện nay trên thế giới, lĩnh vực nhận dạng tiếng nói đã đạt được nhiều tiến bộ vượt bậc Đã có nhiều công trình nghiên cứu về lĩnh vực nhận dạng tiếng nói (Speech recognition) trên cơ sở lý thuyết các hệ thống thông minh nhân tạo, nhiều kết quả đã trở thành sản phẩm thương mại như ViaVoice, Dragon , các
hệ thống bảo mật thông qua nhận dạng tiếng nói, các hệ quay số điện thoại bằng giọng nói Triển khai những công trình nghiên cứu và đưa vào thực tế ứng dụng vấn đề này là một việc làm hết sức có ý nghĩa đặc biệt trong giai đoạn công nghiệp hoá hiện đại hoá hiện nay của nước nhà
Nhận dạng tiếng nói là một quá trình nhận dạng mẫu, với mục đích là phân lớp (classify) thông tin đầu vào là tín hiệu tiếng nói thành một dãy tuần
tự các mẫu đã được học trước đó và lưu trữ trong bộ nhớ Các mẫu là các đơn
vị nhận dạng, chúng có thể là các từ, hoặc các âm vị Nếu các mẫu này là bất biến và không thay đổi thì công việc nhận dạng tiếng nói trở nên đơn giản bằng cách so sánh dữ liệu tiếng nói cần nhận dạng với các mẫu đã được học
và lưu trữ trong bộ nhớ Khó khăn cơ bản của nhận dạng tiếng nói đó là tiếng nói luôn biến đổi theo thời gian và có sự khác biệt lớn giữa tiếng nói của những người nói khác nhau, tốc độ nói, ngữ cảnh và môi trường âm học khác nhau Xác định những thông tin biến thiên nào của tiếng nói là có ích và những thông tin nào là không có ích đối với nhận dạng tiếng nói là rất quan trọng Đây là một nhiệm vụ rất khó khăn mà ngay cả với các kỹ thuật xác suất
Trang 8thống kê mạnh cũng khó khăn trong việc tổng quát hoá từ các mẫu tiếng nói những biến thiên quan trọng cần thiết trong nhận dạng tiếng nói
Các nghiên cứu về nhận dạng tiếng nói dựa trên ba nguyên tắc cơ bản [1]:
Tín hiệu tiếng nói được biểu diễn chính xác bởi các biên độ phổ trong một khung thời gian ngắn (short-term amplitude spectrum) Nhờ vậy ta
có thể trích ra các đặc điểm tiếng nói từ những khoảng thời gian ngắn
và dùng các đặc điểm này làm dữ liệu để nhận dạng tiếng nói
Nội dung của tiếng nói được biểu diễn dưới dạng chữ viết, là một dãy các ký hiệu ngữ âm Do đó ý nghĩa của một phát âm được bảo toàn khi chúng ta phiên âm phát âm thành dãy các ký hiệu ngữ âm
Nhận dạng tiếng nói là một quá trình nhận thức Thông tin về ngữ nghĩa (semantics) và suy đoán (pragmatics) có giá trị trong quá trình nhận dạng tiếng nói, nhất là khi thông tin về âm học là không rõ ràng Lĩnh vực nghiên cứu của nhận dạng tiếng nói là khá rộng liên quan đến nhiều ngành khác nhau, như xử lý tín hiệu số (digital signal proccessing), vật
lý hay âm học (acoustic), nhận dạng mẫu, lý thuyết thông tin và khoa học máy tính (information and computer science theory), ngôn ngữ học (linguistics), sinh lý học (physiology), tâm lý học ứng dụng (applied psychology) Các hệ thống nhận dạng tiếng nói có thể được phân chia thành hai loại khác nhau: hệ thống nhận dạng từ rời rạc và hệ thống nhận dạng từ liên tục Trong hệ thống nhận dạng tiếng nói liên tục, người ta lại phân biệt hệ thống nhận dạng có kích thước từ điển nhỏ và hệ thống nhận dạng với kích thước từ điển trung bình hoặc lớn
Trang 9Ý tưởng về xây dựng các hệ thống nhận dạng tiếng nói đã có từ những năm 50 của thế kỷ 20 và đến nay đã đạt được nhiều kết quả đáng kể Có 3 hướng tiếp cận chính cho nhận dạng tiếng nói [8]:
Tiếp cận Âm học: Hướng tiếp cận này dựa vào các đặc điểm âm học được rút ra từ phổ âm thanh Tuy nhiên kết quả của hướng tiếp cận này còn thấp vì trong thực tế, các đặc trưng âm học có sự biến động rất lớn Hơn nữa phương pháp này đòi hỏi tri thức rất đầy đủ về âm học (Vốn tri thức âm học hiện nay chưa thể đáp ứng)
Tiếp cận Nhận dạng mẫu thống kê: Sử dụng các phương pháp máy học dựa trên thống kê để học và rút ra mẫu tham khảo từ lượng dữ liệu lớn Hướng này đang được sử dụng nhiều, chủ yếu là dựa vào Mô hình Markov ẩn (HMM)
Tiếp cận Trí tuệ nhân tạo: là hướng kết hợp của cả hai hướng trên Phương pháp này kết hợp được cả tri thức của chuyên gia
và phương pháp mẫu thống kê Đây sẽ là hướng tiếp cận tương lai của nhận dạng tiếng nói
Việc nhận dạng tiếng nói gặp một số khó khăn sau:
Trong môi trường sinh hoạt hàng ngày, chất lượng tiếng nói biến động rất lớn do chịu ảnh hưởng của các yếu tố ngoại cảnh, tâm và sinh lý người nói: một câu của cùng một người nói khi thu vào máy sẽ khác nhau nếu nói ở hai tâm trạng khác nhau (lúc vui nói khác, lúc giận nói khác,…), sức khoẻ khác nhau (lúc khoẻ nói khác, lúc bệnh nói khác), tốc độ nói khác nhau (nói chậm thì rõ hơn nói nhanh), môi trường xung quanh khác nhau (môi trường có tiêng ồn thì âm thu vào
sẽ bị nhiễu), v.v… Và còn nhiều yếu tố khác nữa tác động lên chất
Trang 10lượng của lời nói như thiết bị thu không tốt, tín hiệu bị nhiễu điện,…
Do đó, việc nhận dạng trở nên rất khó khăn
Trong nhận dạng tiếng nói theo hướng nhận dạng từng âm vị, một khó khăn chúng ta gặp phải là: các âm vị liền nhau trong chuỗi tiếng nói không có vách ngăn rõ ràng (2 âm vị sát nhau có một phần giao nhau, khó xác định được phần giao nhau thuộc âm vị trước hay âm vị sau) Ngay cả đối với con người, tách âm vị từ một âm tiết (xác định vị trí bắt đầu và vị trí kết thúc của âm vị đó trên sóng âm của âm tiết) cũng không phải là công việc đơn giản
Hiện nay, hầu hết các hướng tiếp cận để nhận dạng âm vị là nhận dạng theo học mẫu thống kê Thông thường để học mẫu người ta cung cấp cho chương trình học một nguồn dữ liệu có nhiều mẫu đã được phân loại thành nhiều lớp và có gán nhãn (nhãn cho biết mỗi mẫu thuộc lớp nào) Nguồn dữ liệu này phải được phân lớp và gán nhãn chính xác hoàn toàn để máy học Tuy nhiên do không thể tách âm vị một cách chính xác, nguồn dữ liệu âm vị đưa vào khó đạt được mức độ chính xác, kết quả là việc huấn luyện giảm hiệu suất, làm cho hiệu suất của chương trình nhận dạng cũng giảm theo
Chúng tôi xin nêu ra một hướng giải quyết để tránh việc gán nhãn âm vị không chính xác: thay vì đánh nhãn âm vị, chúng ta sẽ đánh nhãn
âm tiết, đồng thời cho biết các âm vị cấu thành âm tiết đó Như vậy, dữ liệu mẫu cung cấp cho quá trình học là các âm tiết Thuật toán học được sử dụng
để tách âm vị là thuật toán huấn luyện nhúng (Embedded training) Kết quả thu được là các mô hình HMM cho từng âm vị Do mỗi dãy âm vị được chọn tương đương với một âm tiết, công việc đánh nhãn âm vị trên sóng âm thực chất là không có (chỉ đánh nhãn trên âm tiết, vốn được thực hiện dễ dàng) Vì vậy, có thể xem dữ liệu đưa vào trong quá trình huấn luyện là dữ liệu không
Trang 11gán nhãn và phương pháp nhận dạng này được xem là nhận dạng âm vị tự động
Công việc gán nhãn âm vị bằng tay rất vất vả và mất nhiều thời gian Ngoài ra, hiện nay có rất ít kho dữ liệu đã được gán nhãn âm vị Vì vậy, hướng tiếp cận nhận dạng âm vị tự động, vốn hiệu quả hơn, tỏ ra là hướng tiếp cận đúng đắn Tuy nhiên, huấn luyện trên dữ liệu không gán nhãn cũng có những khó khăn: đòi hỏi khối lượng dữ liệu lớn hơn nhiều so với huấn luyện trên dữ liệu có gán nhãn, đồng thời quá trình huấn luyện cũng lâu hơn Với những ưu thế vượt trội như trên đã nêu, hướng tiếp cận nhận dạng
âm vị tự động hứa hẹn tạo ra những mô hình nhận dạng tiếng nói với độ chính xác cao Đó cũng chính là hướng nghiên cứu mà tôi chọn lựa cho luận văn thạc sĩ của mình Trong bản luận văn này, chúng tôi muốn chứng minh hai điều:
Nếu có đầy đủ dữ liệu tiếng nói (không gán nhãn), có thể nhận dạng được số lượng lớn các âm tiết với độ chính xác tương đối cao theo hướng tiếp cận nhận dạng âm vị tự động
Có thể nhận dạng được tiếng nói liên tục với tốc độ trung bình
Luận văn được tổ chức như sau:
Chương 1 : Mô hình HMM và ứng dụng trong nhận dạng
Giới thiệu mô hình HMM và sự lựa chọn mô hình HMM để nhận dạng tiếng nói
Chương 2 : Tiền xử lý tín hiệu tiếng nói
Chương này sẽ giới thiệu về tiền xử lý tiếng nói và một số phương pháp trích đặc trưng được sử dụng trong nhận dạng tiếng nói
Chương 3 : Thuật toán huấn luyện nhúng (Embedded training)
Trang 12Giới thiệu thuật toán huấn luyện nhúng Đây là quá trình xây dựng mô hình HMM tự động cho các âm vị từ kho dữ liệu không gán nhãn âm vị
Chương 4 : Cài đặt thuật toán - Giới thiệu phần mềm từ điển tiếng nói
Kết luận
Trang 13Mô hình Markov ẩn (tiếng Anh là Hidden Markov Model - HMM) là
mô hình thống kê trong đó hệ thống được mô hình hóa được cho là một quá trình Markov với các tham số không biết trước và 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ế tiếp, ví dụ cho các ứng dụng thừa nhận mẫu
Trong một mô hình Markov điển hình, trạng thái được quan sát trực tiếp bởi người quan sát, và vì vậy các xác suất chuyển tiếp trạng thái là các tham số duy nhất Mô hình Markov ẩn thêm vào các đầu ra: mỗi trạng thái có xác suất phân bổ trên các biểu hiện đầu ra có thể Vì vậy, nhìn vào dãy của các biểu hiện được sinh ra bởi HMM không trực tiếp chỉ ra dãy các trạng thái
Trong mục này các nội dung cơ bản của mô hình HMM sẽ được giới thiệu bao gồm: các định nghĩa, các tập hợp tham số, các vấn đề thiết yếu, các thuật toán chính của mô hình HMM áp dụng vào nhận dạng tiếng nói Tiếp đó
Trang 14các thành phần chính của hệ thống nhận dạng, các công đoạn chính của nhận dạng dựa vào mô hình HMM cũng sẽ được giới thiệu sơ qua Cụ thể như sau:
Mục 2 : Những khái niệm toán học liên quan tới HMM
Những khái niệm chung về nhận dạng thống kê, định lý Bayes
Mục 3 : Mô hình HMM
Các định nghĩa, các tập tham số của mô hình HMM
Mục 4 : Giới thiệu về Nhận dạng tiếng nói và nhận dạng âm
vị dựa trên HMM
Mục 5 : Mô hình HMM cho âm vị được sử dụng trong luận văn
2 Những khái niệm toán học liên quan tới HMM
Mô hình Markov ẩn HMM là một mô hình thống kê dựa vào mô hình Markov Vì vậy để hiểu được mô hình HMM, trước tiên chúng ta cần phải tìm hiểu xem xét về mô hình thống kê nói chung
2.1 Giới thiệu về nhận dạng thống kê
Quá trình thống kê [12] là quá trình xác định xác suất của một số sự kiện và xác suất mối quan hệ giữa các sự kiện trong một tiến trình tại các thời điểm khác nhau
Biến cố ngẫu nhiên và hàm mật độ xác suất:
Gọi X là tập các biến ngẫu nhiên X={X1, X2, …, Xn} mà tồn tại ít nhất một sự kiện của tập X này xuất hiện Gọi xác suất của sự kiện Xi là P(Xi) Khi đó ta có xác suất của X là P(X)=1 Nếu gọi P(Xi) là xác suất của biến cố
Xi thì ta có:
P(X) = Σ P(Xi) = 1
Trang 15 Xác suất có điều kiện:
Xác suất có điều kiện (Conditional probability) là xác suất của một
biến cố A nào đó, biết rằng một biến cố B khác xảy ra Ký hiệu P(A|B), và đọc là "xác suất của A, biết B"
Xác suất giao (Joint probability) là xác suất của hai biến cố cùng xảy
Xác suất biên duyên (Marginal probability) là xác suất của một biến
cố mà không quan tâm đến các biến cố khác Xác suất biên duyên được tính bằng cách lấy tổng (hoặc tổng quát hơn là tích phân) của xác suất giao trên
biến cố không cần đến Việc này được gọi là biên duyên hóa
(marginalization) Xác suất biên duyên của A được kí hiệu là P(A), còn xác suất biên duyên của B được ký hiệu là P(B)
Trong các định nghĩa này, lưu ý rằng không cần có một quan hệ nhân
quả hay thời gian giữa A và B A có thể xảy ra trước B hoặc ngược lại, hoặc chúng có thể xảy ra cùng lúc A có thể là nguyên nhân của B hoặc ngược lại,
hoặc chúng không hề có quan hệ nhân quả nào
Việc cập nhật các xác suất này để xét đến các thông tin (có thể mới) có thể được thực hiện qua Định lý Bayes
Định nghĩa
Nếu A và B là các biến cố, và P(B) > 0, thì xác suất có điều kiện của A nếu biết B là
Tương đương, ta có
Trang 16Độc lập thống kê
Hai biến cố A và B là độc lập thống kê khi và chỉ khi
Do đó, nếu A và B độc lập, thì xác suất giao của chúng có thể được biểu
diễn bởi tích của các xác suất của từng biến cố
Tương đương, với hai biến cố độc lập A và B,
và
Nói cách khác, nếu A và B độc lập thì xác suất có điều kiện của A nếu biết B chỉ đơn giản là xác suất của riêng A Cũng như vậy, xác suất có điều kiện của B nếu biết A chỉ đơn giản là xác suất của riêng B
Loại trừ lẫn nhau
Hai biến cố A và B loại trừ lẫn nhau khi và chỉ khi
với điều kiện
và
thì
và
Trang 17Nói cách khác, xác suất xảy ra A nếu B xảy ra là bằng 0, do A và B không thể cùng xảy ra trong một tình huống; cũng nhƣ vậy, xác suất xảy ra B nếu A xảy ra cũng bằng 0
Định lí Bayes [12] là một kết quả của lí thuyết xác suất Nó đề cập đến
phân bố xác suất có điều kiện của biến ngẫu nhiên A, với giả thiết là biết
Định lý Bayes cho phép tính xác suất xảy ra của một sự kiện ngẫu
nhiên A khi biết sự kiện liên quan B đã xảy ra Xác suất này đƣợc ký hiệu là P(A|B), và đọc là "xác suất của A nếu có B" Đại lƣợng này đƣợc gọi xác suất
có điều kiện hay xác suất hậu nghiệm vì nó đƣợc rút ra từ giá trị đƣợc cho của
B hoặc phụ thuộc vào giá trị đó
Theo định lí Bayes, xác suất xảy ra A khi biết B sẽ phụ thuộc vào 3 yếu
tố:
Xác suất xảy ra A của riêng nó, không quan tâm đến B Kí hiệu là P(A)
và đọc là xác suất của A Đây đƣợc gọi là xác suất biên duyên hay xác suất tiên nghiệm, nó là "tiên nghiệm" theo nghĩa rằng nó không quan tâm đến bất kỳ thông tin nào về B
Xác suất xảy ra B của riêng nó, không quan tâm đến A Kí hiệu là P(B)
và đọc là "xác suất của B" Đại lƣợng này còn gọi là hằng số chuẩn hóa
Trang 18(normalising constant), vì nó luôn giống nhau, không phụ thuộc vào sự kiện A đang muốn biết
Xác suất xảy ra B khi biết A xảy ra Kí hiệu là P(B|A) và đọc là "xác suất của B nếu có A" Đại lượng này gọi là khả năng (likelihood) xảy ra
A khi biết B đã xảy ra Chú ý không nhầm lẫn giữa khả năng xảy ra A khi biết B và xác suất xảy ra A khi biết B
Khi biết ba đại lượng này, xác suất của A khi biết B cho bởi công thức:
với mọi A i trong phân hoạch
Công thức này còn được biết dưới tên công thức xác suất đầy đủ
Trang 19Định lý Bayes với hàm mật độ xác suất
Cũng có một dạng của định lý Bayes cho các phân bố liên tục Đối với chúng, thay cho các xác suất trong định lý Bayes ta dùng mật độ xác suất Như vậy ta có các công thức tương tự định nghĩa xác suất điều kiện
và công thức tương tự công thức xác suất đầy đủ:
Ý nghĩa của các thành phần trong các công thức trên là f(x, y) là mật độ phân phối của phân phối đồng thời của các biến ngẫu nhiên X và Y, f(x|y) là mật độ phân phối xác suất hậu nghiệm của X với điều kiện Y=y, f(y|x) = L(x|y)
là (một hàm của x) hàm khả năng của X với điều kiện Y=y, và f(x) và f(y) là các mật độ phân phối của X và Y tách biệt nhau, với f(x) là mật độ phân phối tiền nghiệm của X
Điều kiện mặc định trong các công thức là hàm f khả vi và các tích
phân công thức tồn tại
Suy luận Bayes (tiếng Anh: Bayesian inference) là một kiểu suy luận
thống kê mà trong đó các quan sát hay bằng chứng được dùng để cập nhật hoặc suy luận ra xác suất cho việc một giả thuyết có thể là đúng Cái tên
"Bayes" bắt nguồn từ việc sử dụng thường xuyên Định lý Bayes trong quá trình suy luận
Suy luận Bayes sử dụng các khía cạnh của phương pháp khoa học, trong đó có việc thu thập các bằng chứng nhất quán hoặc không nhất quán với một giả thuyết nào đó Khi các bằng chứng tích lũy, mức độ tin tưởng vào
Trang 20một giả thuyết thay đổi Khi có đủ bằng chứng, mức độ tin tưởng này thường trở nên rất cao hoặc rất thấp Do đó, theo lý thuyết, đây có thể được coi là một
cơ sở lôgic thích hợp cho việc phân biệt đối xử giữa các giả thuyết mâu thuẫn nhau - các giả thuyết với mức độ tin tưởng rất cao nên được chấp nhận là đúng; các giả thuyết với độ tin tưởng rất thấp nên bị coi là sai và loại bỏ Trong thực tiễn, tuy khung toán học tổng quát của suy luận Bayes là đúng đắn, nó đòi hòi việc gán các xác suất tiên nghiệm cho các giả thuyết, trong khi
các xác suất này có thể là đối tượng của sự thiên lệch tùy ý (arbitrary bias)
Một ví dụ về suy luận Bayes:
Hàng tỉ năm nay, Mặt Trời đã mọc sau khi nó lặn Tối nay Mặt Trời đã lặn Ngày mai Mặt Trời sẽ mọc với xác suất rất cao (hoặc tôi rất tin tưởng vào điều đó hoặc điều đó là đúng) Với xác suất rất thấp (hoặc tôi không hề tin hoặc điều sau không đúng), ngày mai Mặt Trời sẽ không mọc
Suy luận Bayes sử dụng một ước lượng bằng số về mức độ tin tưởng vào một giả thuyết trước khi quan sát được bằng chứng, và tính toán một ước lượng bằng số về mức độ tin tưởng vào giả thuyết đó sau khi đã quan sát được bằng chứng Trong quá trình quy nạp, suy luận Bayes thường dựa vào các mức độ tin tưởng, hay là các xác suất chủ quan, và không nhất thiết khẳng định về việc cung cấp một phương pháp quy nạp khách quan Tuy nhiên, một
số nhà thống kê theo trường phái Bayes tin rằng các xác suất có thể có một giá trị khách quan, và do đó suy luận Bayes có thể cung cấp một phương pháp quy nạp khách quan
Định lý Bayes điều chỉnh các xác suất khi được cho bằng chứng mới theo cách sau đây:
Trang 21trong đó
H0 đại diện cho một giả thuyết, gọi là một giả thuyết rỗng (null hypothesis), giả thuyết này được suy luận trước khi có được bằng chứng mới E
P(H0) được gọi là xác suất tiên nghiệm của H0
P(E | H0) được gọi là xác suất có điều kiện của việc quan sát thấy bằng chứng E nếu biết rằng giả thuyết H0 là đúng Đại lượng này còn được gọi là hàm khả năng khi nó được biểu diễn dưới dạng một hàm của H0
khi cho trước E
P(E) được gọi là xác suất biên duyên của E: xác suất của việc chứng kiến bằng chứng mới E dưới tất cả các giả thuyết loại trừ nhau đôi một Đại lượng này có thể được tính bằng tổng của tích tất cả các xác suất của các giả thuyết loại trừ nhau đôi một và các xác suất có điều kiện
P(H0 | E) được gọi là xác suất hậu nghiệm của H0 nếu biết E
Hệ số P(E | H0) / P(E) đại diện cho ảnh hưởng của bằng chứng đối với
mức độ tin tưởng vào giả thuyết Nếu rất có khả năng quan sát được bằng chứng khi giả thuyết đang xét là đúng, thì hệ số này sẽ có giá trị lớn Khi nhân xác suất tiên nghiệm của giả thuyết với hệ số này, ta được một xác suất hậu nghiệm lớn của giả thuyết khi có bằng chứng Nhờ đó, trong suy luận Bayes, định lý Bayes đo được mức độ mà bằng chứng mới sẽ làm thay đổi sự tin tưởng vào một giả thuyết
Trang 22Các nhà thống kê Bayes lập luận rằng ngay cả khi người ta có các xác suất chủ quan tiên nghiệm rất khác nhau, bằng chứng mới từ các quan sát lặp
đi lặp lại sẽ có xu hướng đưa các xác suất hậu nghiệm của họ lại gần nhau hơn Trong khi điều này đúng đối với những người duy lý hoàn hảo với các khuynh hướng tương đồng trong việc suy xét mức độ tin tưởng, các khác biệt
đủ lớn trong các khuynh hướng này có thể (và thường) gây cản trở lớn lao đối với quá trình hội tụ này
Việc nhân xác suất tiên nghiệm P(H0) với hệ số P(E | H0) / P(E) sẽ không bao
mà đại lượng này thì bằng P(E | H 0 ) P(H 0 )
P(E | H0), xác suất của E khi biết H0, có thể được biểu diễn bởi một hàm của tham số thứ hai với tham số thứ nhất giữ một giá trị cho trước Một hàm như
vậy được gọi là hàm khả năng; đây là một hàm của H0 khi cho trước E Một
tỷ lệ giữa hai hàm khả năng được gọi là tỉ lệ khả năng (likelihood ratio), Λ Ví
dụ,
Xác suất biên duyên P(E) còn có thể được biểu diễn bằng tổng của tích tất cả
các xác suất đôi một loại trừ nhau với các xác suất có điều kiện tương ứng:
P(E | H0)P(H0) + P(E | not H0)P(not H0)
Do đó, ta có thể viết lại định lý Bayes như sau
Với hai bằng chứng độc lập E1 và E2, ta có thể áp dụng suy luận Bayes lặp đi lặp lại Ta có thể dùng bằng chứng thứ nhất để tính một xác suất hậu nghiệm
Trang 23ban đầu, rồi dùng xác suất hậu nghiệm đó làm một xác suất tiên nghiệm để tính một xác suất hậu nghiệm thứ hai theo bằng chứng thứ hai
Tính độc lập của bằng chứng hàm ý rằng
Định lý Bayes đƣợc sử dụng lặp đi lặp lại hàm ý rằng
Sử dụng các tỉ lệ khả năng, ta thấy rằng
, Quá trình lặp này của suy luận Bayes có thể đƣợc mở rộng khi có thêm các bằng chứng độc lập khác
Suy luận Bayes đƣợc dùng để tính các xác suất cho việc đƣa ra quyết định trong tình huống không chắc chắn Bên cạnh các xác suất, ta nên tính một hàm mất mát (loss function) nhằm mục đích phản ánh các hậu quả của việc phạm sai lầm Các xác suất đại diện cho khả năng hoặc niềm tin về việc phạm sai lầm Một hàm mất mát đại diện cho các hậu quả của việc phạm sai lầm
Các ví dụ suy luận Bayes đơn giản
Bánh quy từ hộp nào?
Để minh họa, giả sử có hai hộp đựng đầy bánh quy Hộp thứ nhất có 10 chiếc bánh quy sô-cô-la và 30 chiếc bánh quy bơ Hộp thứ hai đựng mỗi loại bánh
Trang 2420 chiếc Bé Khoai chọn ngẫu nhiên một hộp, rồi nhặt đại một chiếc bánh Ta
có thể giả thiết rằng bé Khoai còn rất nhỏ nên không phân biệt hộp này hộp kia, và bé thích tất cả các loại bánh kẹo nên bánh loại nào với bé cũng vậy Và chiếc bánh mà bé Khoai chọn té ra là một chiếc bánh quy bơ Vậy khả năng Khoai nhặt chiếc bánh đó từ trong hộp thứ nhất là bao nhiêu?
Một cách trực quan, có vẻ rõ ràng là câu trả lời phải lớn hơn 1/2, do trong hộp
1 có nhiều bánh quy bơ hơn Câu trả lời chính xác được tính theo định lý
Bayes Giả sử H1 tương ứng với hộp 1, và H2 tương ứng với hộp 2 Ta biết
rằng đối với bé Khoai, hai hộp là như nhau, do đó, P(H1) = P(H2), và tổng của
chúng phải bằng 1, do đó cả hai đều bằng 0,5 Dữ liệu D là quan sát về chiếc bánh quy bơ Từ nội dung của hai hộp bánh, ta biết rằng P(D | H1) = 30/40 =
0,75 và P(D | H2) = 20/40 = 0,5 Khi đó, công thức Bayes cho ra kết quả:
Trước khi quan sát thấy chiếc bánh mà bé Khoai nhặt, xác suất cho việc
Khoai chọn hộp 1 là xác suất tiên nghiệm, P(H1), có giá trị 0,5 Sau khi đã
nhìn thấy chiếc bánh, ta chỉnh lại xác suất đó thành P(H1|D), có giá trị 0,6
Nên lưu ý là việc ta tin rằng việc quan sát thấy chiếc bánh quy bơ nên có ảnh
hưởng theo cách nào đó tới xác suất tiên nghiệm P(H1) đã tạo nên xác suất
hậu nghiệm P(H1 | D), với giá trị tăng từ 0,5 lên 0,6 Điều này phản ánh trực
giác của ta rằng chiếc bánh có khả năng được lấy từ hộp 1 hơn, do hộp này có
tỉ lệ bánh quy bơ so với bánh quy sô-cô-la cao hơn hộp kia Quyết định được cho dưới dạng một xác suất, điều này khác với thông kê cổ điển
Kết quả dương tính sai trong một xét nghiệm y học
Trang 25Ta thu được các kết quả dương tính sai khi một kiểm nghiệm cho ra kết quả dương tính một cách sai lầm Ví dụ, một xét nghiệm y học cho một bệnh có thể trả về một kết quả dương tính với hàm ý rằng bệnh nhân có mắc căn bệnh
đó ngay cả nếu bệnh nhân đó không hề mắc căn bệnh đó Ta dùng định lý Bayes để tính xác suất mà một kết quả dương tính thực ra lại là một dương tính sai Kết quả là nếu một căn bệnh hiếm gặp thì đa số các kết quả dương tính có thể là dương tính sai, ngay cả nếu xét nghiệm có độ chính xác cao Giả sử rằng một xét nghiệm cho một căn bệnh cho ra các kết quả sau:
kết quả dương tính trong 99% các trường hợp, hoặc nói cách khác là với xác suất 0,99
Nếu người được xét nghiệm thực ra không có bệnh, xét nghiệm trả về kết quả âm tính trong 95% các trường hợp, hoặc nói cách khác là với xác suất 0,95
Giả sử rằng chỉ có 0,1% dân số mắc căn bệnh này, nghĩa là nếu chọn ngẫu nhiên một người thì việc người đó mắc bệnh có xác suất tiên nghiệm là 0,001
Ta có thể dùng định lý Bayes để tính xác suất cho việc một kết quả xét nghiệm dương tính là một dương tính sai
Giả sử A là tình huống người bệnh mắc căn bệnh đó, và B biểu diễn bằng
chứng - một kết quả xét nghiệm dương tính Khi đó, xác suất người bệnh thực
sự mắc bệnh khi biết rằng kết quả xét nghiệm là dương tính là
Trang 26và do đó, xác suất cho việc kết quả xét nghiệm dương tính là một dương tính sai là khoảng (1 − 0,019) = 0,981
Mặc dù xét nghiệm có độ chính xác cao, nhưng tỷ lệ dân số mắc bệnh lại thấp đến mức đại đa số người bệnh có kết quả xét nghiệm dương tính thực ra không mắc bệnh đó Tuy nhiên, tỷ lệ giữa người có kết quả xét nghiệm dương tính thực sự mắc bệnh (0,019) cao gấp 19 lần tỷ lệ người dương tính nhưng lại chưa xét nghiệm (0,001) Do đó, xét nghiệm không phải vô dụng, và việc xét nghiệm lại có thể làm tăng độ tin cậy của kết quả
Để giảm vấn đề dương tính sai, một xét nghiệm cần rất chính xác khi cho kết
quả âm tính đối với người không có bệnh Nếu xét nghiệm cho ra kết quả âm
tính đối với người không có bệnh với xác suất 0,999, thì
, khi đó, xác suất của một kết quả dương tính sai giờ là 1- 0,5 = 0,5
Mặt khác, kết quả âm tính sai là khi một xét nghiệm đối với một người có bệnh nhưng lại cho ra kết quả âm tính Ta cũng có thể dùng định lý Bayes để tính xác suất của một âm tính sai Trong ví dụ trên,
Xác suất một kết quả âm tính là âm tính sai là khoảng 0,0000105 hay 0,00105%
Khi một bệnh hiếm gặp, các âm tính sai sẽ không phải là một vấn đề lớn đối với xét nghiệm, do xác suất đó thấp Nhưng nếu 60% dân số mắc bệnh, thì
Trang 27xác suất của một âm tính sai sẽ lớn hơn Với xét nghiệm trên, xác suất của một âm tính sai sẽ là
Xác suất rằng kết quả xét nghiệm là một âm tính sai tăng lên mức 0,0155 hay 1,55%
3 Mô hình HMM
Mô hình HMM là mô hình thống kê thường xuyên được sử dụng để mô hình hóa tiếng nói, nó được sử dụng cho công việc nhận dạng Cấu trúc bên trong của HMM không phải dựa vào các kiến thức về tiếng nói nhưng
nó lại được sử dụng trong nhận dạng để tính toán các đặc trưng số của tiếng nói
3.1 Tính chất Markov
Trong lý thuyết xác suất, một quá trình mang tính ngẫu nhiên có tính
chất Markov [12] nếu phân bố xác suất có điều kiện của các trạng thái tương
lai của quá trình, khi biết trạng thái hiện tại, phụ thuộc chỉ vào trạng thái hiện
tại đó, nó là độc lập điều kiện với các trạng thái trong quá khứ (trong đường
đi của quá trình) khi biết trạng thái hiện tại Một quá trình với Tính chất
Markov thường được gọi là quá trình Markov, và có thể được miêu tả là
Markovian
Về mặt toán, nếu X(t), t > 0, là một quá trình ngẫu nhiên, Tính chất
Markov khẳng định rằng
Trang 28Các quá trình Markov thường được gọi là thuần nhất (theo thời gian)
nếu
và ngược lại gọi là không thuần nhất (thời gian)
Các quá trình Markov thuần nhất, thường đơn giản hơn các quá trình không thuần nhất, tạo thành lớp quan trọng nhất của các quá trình Markov
Trong một số trường hợp, một cách rõ ràng các quá trình không phải Markovian có thể vẫn có các dạng biễu diễn Markov, được tạo thành bằng
cách mở rộng khái niệm của trạng thái 'hiện tại' và 'tương lai' Cho X là một quá trình không phải Markovian Thì chúng ta định ra một quá trình Y, mà mỗi trạng thái của Y biểu diễn một khoảng thời gian của các trạng thái của X,
ví dụ: về mặt toán
Nếu Y có tính chất Markov, thì nó là một biễu diễn Markovian của X
Trong trường hợp này, X còn được gọi là một quá trình Markov bậc 2 Các
quá trình Markov bậc cao được định nghĩa một cách giống nhau
3.2 Xích Markov
Trong toán học, một xích Markov [12] hay chuỗi Markov (thời gian rời rạc) là một quá trình ngẫu nhiên thời gian rời rạc với tính chất Markov Trong một quá trình như vậy, quá khứ không liên quan đến việc tiên đoán tương mà chỉ phụ thuộc theo kiến thức về hiện tại
Còn có xích Markov thời gian liên tục
Trang 29Xích Markov là một dãy X1, X2, X3, gồm các biến ngẫu nhiên Tập tất
cả các giá trị có thể có của các biến này được gọi là không gian trạng thái, giá trị của X n là trạng thái của quá trình tại (hệ) thời điểm n
Nếu phân bố xác suất có điều kiện của X n+1 trên các trạng thái quá khứ
là một hàm chỉ phụ thuộc X n thì:
trong đó x là một trạng thái nào đó của quá trình Đó là tính chất Markov
Một cách đơn giản để hình dung một kiểu chuỗi Markov cụ thể là qua
một ôtômat hữu hạn (finite state machine) Nếu hệ ở trạng thái y tại thời điểm
n thì xác suất mà hệ sẽ chuyển tới trạng thái x tại thời điểm n+1 không phụ thuộc vào n mà chỉ phụ thuộc vào trạng thái hiện tại y Do đó, tại thời điểm n
bất kỳ, một xích Markov hữu hạn có thể được biểu diễn bằng một ma trận xác
với chỉ số thời gian n (nghĩa là để xác định trạng thái kế tiếp, ta không cần
biết đang ở thời điểm nào mà chỉ cần biết trạng thái ở thời điểm đó là gì) Các loại xích Markov hữu hạn rời rạc này còn có thể được biểu diễn bằng đồ thị
có hướng, trong đó các cung được gắn nhãn bằng xác suất chuyển từ trạng thái tại đỉnh đầu sang trạng thái tại đỉnh cuối của cung đó
Các tính chất của xích Markov
Đặc điểm của một xích Markov được biểu diễn bởi phân bố điều kiện
đó là xác suất chuyển dịch của quy trình
Nó đôi khi còn được gọi là xác suất chuyển dịch "một-bước"
Trang 30Xác suất của một chuyển dịnh trong hai, ba, hoặc nhiều bước hơn được rút ra
từ xác suất chuyển dịch một bước và Tính chất Markov:
Tương tự,
Các công thức này tổng quát hóa tới các thời điểm n + k tùy ý trong tương lai bằng cách nhân các xác suất chuyển dịch và lấy tích phân k − 1 lần
Xác suất biên (marginal distribution) P(X n) là phân bố trên các trạng thái tại
thời điểm n Phân bố ban đầu là P(X0) Sự tiến hóa của quy trình qua một bước được mô tả bằng công thức
Đây là một phiên bản của phương trình Frobenius-Perron
Có thể tồn tại một hoặc nhiều phân bố trạng thái π sao cho
trong đó Y chỉ là một cái tên thuận tiện cho biến tích phân (variable of integration)
Phân bố π như vậy được gọi là một phân bố dừng (stationary distribution)
hoặc phân bố trạng thái dừng
Một phân bố dừng là một hàm riêng (eigenfunction) của hàm phân bố điều kiện, gắn với giá trị riêng (eigenvalue) là 1
Việc có phân bố dừng hay không, và nó có là duy nhất hay không (nếu tồn tại), là phụ thuộc vào từng thuộc tính cụ thể của quá trình
Trang 31Bất khả quy (Irreducible) nghĩa là mọi trạng thái đều có thể truy xuất từ mỗi
trạng thái khác Một quá trình là tuần hoàn nếu tồn tại ít nhất một trạng thái
mà quá trình sẽ trả về trạng thái đó sau một khoảng thời gian cố định (lớn hơn
một) Phi tuần hoàn (aperiodic) nghĩa là không tồn tại trạng thái nào như vậy
cả
3.3 Quá trình Markov
Trong lí thuyết xác suất, quá trình Markov [12] là một quá trình mang
tính ngẫu nhiên (stochastic process) với đặc tính như sau: trạng thái c k tại thời
trình chỉ diễn ra từ thời điểm 0 đến thời điểm N và rằng trạng thái đầu tiên và cuối cùng là đã biết, chuỗi trạng thái sẽ được biểu diễn bởi một vectơ hữu hạn
C = (c0, ,c N)
Nếu P(c k | c0,c1, ,c (k − 1)) biễu diễn xác suất (khả năng xảy ra) của trạng
thái c k tại thời điểm k khi đã trải qua mọi trạng thái cho đến thời điểm k − 1 Giả sử trong quá trình đó thì c k chỉ phụ thuộc vào trạng thái trước c k − 1 và độc
lập với mọi trạng thái trước khác Quá trình này được gọi là quá trình Markov bậc 1 (first-order Markov process) Có nghĩa là xác suất để trạng thái c k xảy
ra tại thời điểm k, khi biết trước mọi trạng thái cho đến thời điểm k − 1 chỉ phụ thuộc vào trạng thái trước, ví dụ: trạng thái c k−1 của thời điểm k − 1 Khi
Trang 32Nói chung, với thuật toán Viterbi, quá trình xảy ra bên dưới được xem
là một quá trình Markov với các đặc tính sau:
Có hữu hạn trạng thái, nghĩa là số M là hữu hạn
Thời gian rời rạc, nghĩa là việc chuyển từ trạng thái này sang trạng
thái khác mất cùng một đơn vị thời gian
Quan sát không tốn bộ nhớ, nghĩa là chuỗi các quan sát phụ thuộc
xác suất chỉ vào trạng thái ngay trước đó (nên không cần lưu trữ nhiều)
3.4 Mô hình HMM
Một tiến trình được gọi là quá trình Markov (Markov process) nếu xác suất của một sự kiện tại một thời điểm bị ràng buộc bởi các sự kiện trong quá khứ xác định Như vậy, mô hình Markov là một mô hình thống kê thuần túy Trạng thái giúp chúng ta hiểu được sự biến đổi của sự kiện theo thời gian Biến cố chính trong quá trình Markov là “đạt trạng thái i tại thời điểm t” Một quá trình Markov được sử dụng trong các hệ thống nhận dạng tiếng nói tự động (Automatic Speech Recognition - ASR) tuân theo các điều kiện sau:
1 Chỉ tồn tại một thời điểm phân biệt trong chuỗi thời gian t=1, 2, …, T;
2 Chỉ có một số lượng trạng thái xác định {st}= {i}, i=1, 2, …, n;
3 Trạng thái hiện tại và quá khứ chỉ là cách nhau một bước:
P(st| st-1,st-2, …, st-k) = P(st | st-1)
Nhiệm vụ chính của quá trình Markov là tạo ra chuỗi trạng thái S=s1,
s2, …,sT Mô hình Markov ẩn HMM được phát triển dựa trên mô hình Markov
Trang 333.4.1 Các thành phần chính của HMM
Các thành phần chính [1] của HMM gồm tập trạng thái và các tập hợp tham số chính sau:
S={si , i=1,…, n} (với n là số trạng thái của HMM) là tập hợp các trạng thái của mô hình HMM
Tập xác suất phân bố khởi tạo
Tập tham số thứ hai:
Để áp dụng HMM vào các sóng âm thanh, một hàm thống kê sẽ đƣợc gắn vào các trạng thái Đầu tiên sóng âm tiếng nói sẽ đƣợc chuyển đổi thành chuỗi các vectơ đặc trƣng theo thời gian (sẽ đƣợc giới thiệu trong phần trích rút đặc trƣng sóng âm) Chuỗi các vectơ đặc trƣng này gọi là chuỗi các vectơ quan sát O=o1,o2,…,oT , với ot là vectơ đặc trƣng cho chuỗi sóng
âm tại t Xác suất mà hàm thống kê nói trên chính là xác suất vectơ đặc trƣng
Trang 34ot đạt trạng thái j tại thời điểm t Xác suất này gọi là xác suất quan sát hay xác suất đầu ra và nó đặc trưng cho tập tham số thứ hai của HMM:
Như vậy ta trong nhận dạng tiếng nói một mô hình HHM λ sẽ được đặc trưng bởi tập trạng thái và 2 tập tham số A và B nói trên: λ=(A, B)
Tập hợp các trạng thái và ba tập hợp các tham số xác định một mô hình HMM Nó đặc trưng cho một tiến trình không biết trước thứ tự được mô tả trong HÌNH 1
Trang 353.4.2 Ví dụ về mô hình HMM
Giả sử tôi có một người bạn sống ở rất xa Hàng ngày chúng tôi gọi điện thoại cho nhau và anh ta kể cho tôi nghe anh ta đã làm gì trong ngày Người bạn tôi chỉ có 3 công việc mà anh thích làm là 1) đi dạo, 2) đi chợ và 3) dọn phòng Hiển nhiên là sự lựa chọn phải làm gì thì phụ thuộc trực tiếp vào thời tiết hôm đấy thế nào Như vậy, tôi không nhận được thông tin cụ thể
về thời tiết nơi anh bạn tôi sống nhưng tôi lại biết về xu hướng chung Dựa vào lời kể của công việc hàng ngày của anh ta, tôi có thể đoán về thời tiết hôm đó
Như vậy, thời tiết được vận hành như một chuỗi Markov cụ thể Có 2 trạng thái thời tiết, "Mưa" và "Nắng", nhưng tôi không quan sát trực tiếp, do
đó, chúng là ẩn đối với tôi Vào mỗi ngày, anh bạn tôi sẽ làm một trong các việc sau (phụ thuộc vào thời tiết hôm): "đi dạo", "đi chợ" và "dọn phòng" Vì anh bạn tôi đã tường thuật lại hoạt động của mình, đó là các dữ liệu quan sát Toàn bộ hệ thống này là một mô hình Markov ẩn (HMM)
Tôi biết được xu hướng thời tiết nói chung và tôi cũng biết bạn tôi thường thích làm gì Nói cách khác, các thông số của HMM đã biết Thực tế, chúng ta có thể mô tả điều này bằng ngôn ngữ lập trình Python:
Trang 36khả_năng_loại_bỏ B = {
'Mưa' : {'đi dạo': 0.1, 'đi chợ': 0.4, 'dọn phòng': 0.5},
'Nắng' : {'đi dạo': 0.6, 'đi chợ': 0.3, 'dọn phòng': 0.1},
}
Trong đoạn câu lệnh trên, khả_năng_ban_đầu cho thấy tôi không chắc
về trạng thái HMM khi người bạn đầu tiên gọi điện cho tôi (tất cả cái tôi biết
là trời có vẻ mưa) khả_năng_chuyển_dịch cho thấy những thay đổi về thời tiết trong chuỗi Markov Trong ví dụ này, chỉ có 30% khả năng ngày mai trời
sẽ nắng nếu hôm nay trời mưa Khả_năng_loại_bỏ cho thấy anh bạn thích làm những việc gì mỗi ngày Nếu trời mưa thì có đến 50% khả năng anh bạn này
sẽ dọn phòng, trong khi trời nắng thì 60% khả năng anh ta sẽ đi dạo
3.5 Hai giả thuyết cơ bản để xây dựng hệ thống nhận dạng dựa trên HMM
Phần này sẽ trình bày chi tiết về 2 giả thuyết cơ bán [1] để xây dựng hệ thống nhận dạng dựa trên mô hình Markov ẩn
Giả thuyết 1: Giả thuyết về xác suất chuyển trạng thái
Vì xác suất chuyển trạng thái aij chỉ phụ thuộc vào trạng thái phía trước
nó không hề phụ thuộc vào chuỗi quan sát nên ta có thể xem aij như là hằng Xác suất chuyển trạng thái xuất hiện tại các thời điểm khác nhau và các trạng thái khác nhau nên ta có thể xem chúng là độc lập Vì vậy việc tính xác suất của một chuỗi trạng thái si trong mô hình HMM λ tương có thể qui về:
Trang 37Gọi chuỗi trạng thái của mô hình HMM ứng với chuỗi vectơ quan sát O
là chuỗi quan sát Gọi việc tìm chuỗi trạng thái trong mô hình HMM có xác suất cao nhất ứng với một chuỗi quan sát O gọi là quan sát O Từ định nghĩa của xác suất quan sát b chúng ta có thể thấy rằng xác định chuỗi quan sát O (xác định chuỗi trạng thái ứng với chuỗi vectơ đặc trưng O) cũng là một tiến trình thống kê Tuy nhiên nó không phải là chuỗi Markov Khi một HMM tiến hành mô hình hóa một chuỗi quan sát của tiếng nói (tức xác định chuỗi quan sát ứng với chuỗi vectơ đặc trưng sóng âm), mỗi trạng thái có thể phát sinh tại bất kì vectơ quan sát nào (với một số ràng buộc), nhưng với xác suất khác nhau Do đó sẽ không biết được trạng thái nào sẽ gán với vectơ nào Như vậy
sẽ không biết được chuỗi trạng thái S=s0s1 … sT nào sẽ phát sinh tại chuỗi vectơ đặc trưng O cho trước Đây chính là lý do mà quá trình Markov này được gọi là ẩn Mặc dù xác suất của một chuỗi trạng thái ứng với O là không biết được nhưng xác suất của sự kiện quan sát vectơ ot (xác định trạng thái của Ot) tại các thời điểm t khác nhau là độc lập và hoàn toàn xác định được (điều này là rất cần thiết đối với tất cả các quá trình tính toán dựa trên HMM)
Vì vậy nên giả thuyết về xác suất quan sát sẽ là:
Cho tập hợp trạng thái S của mô hình HMM λ, ta có:
Trang 38Tuy nhiên trong thực tế chuỗi trạng thái S lại không biết, vì vậy để tính P(O|λ) phải tính tổng trên các chuỗi S có thể có:
S O b O b O b O b
T
P(S| λ)=
T
T S S S S S
a
) 1 ( 3
( )
(
1 2
2 1
S O a b O a b O b
T T
phép nhân Độ phức tạp này quá lớn vì vậy cần có thuật toán hiệu quả hơn để xác định P(O|λ)
3.6 Ba vấn đề cơ bản của mô hình HMM và cách giải quyết
Giả sử cho một HMM λ=(A, B) và chuỗi quan sát O= O1, O2, …, On
Tất cả các ứng dụng dựa trên mô hình Markov ẩn sẽ phải giải quyết ba vấn
Trang 39ii Vấn đề ước lượng tham số cho HMM: Vấn đề này được đặt ra
trong quá trình huấn luyện Chúng ta sẽ xác định các mô hình λ dựa vào dữ liệu huấn luyện Làm sao xác định được các tham số của mô hình HMM λ=(A, B) sao cho P(O|S,λ)
(hoặc P(O,S| λ) ) là lớn nhất
luyện Làm sao chúng ta tính được chuỗi trạng thái S=s1, s2, … sT tương ứng với chuỗi quan sát O sao cho xác suất P(O,S| λ) (chuỗi trạng thái của chuỗi quan sát O trùng với chuỗi S) là lớn nhất
3.6.1 Giải quyết vấn đề tính toán Thuật toán tính xuôi và tính
ngược
Trước khi nêu cách giải quyết vấn đề tính toán đã nêu trên xin trình bày hai thuật toán có liên quan đó là các thuật toán tính xuôi và tính ngược (The Forward and Backward Algorithm)
Thuật toán tính xuôi (The Forward Algorithm)
Hàm forward αt(i) được định nghĩa như sau:
αt(i) = P(O1, O2, …, Ot,st=i| λ)
Ý nghĩa của αt(i) là xác suất kết của việc quan sát t vectơ sóng âm đầu tiên đạt trạng thái i tại thời điểm t
α t (i) có thể được tính đệ qui như sau:
1 1(i) = ibi(O1), (1 i N) (N là số trạng thái s)
Trang 40 Thuật toán tính ngược (The Backward Algorithm):
Hàm backward βt(i) được định nghĩa như sau:
βt(i) = P(Ot+1, Ot+2, …, OT| st=i, λ)
Ý nghĩa của hàm này như sau: nó là xác suất kết của chuỗi vectơ sóng âm thứ i+1 đến vectơ sóng âm thứ T với trạng thái i tại vectơ thứ t và mô hình λ
Nó khác trường hợp thuật toán forward là trạng thái tại vectơ đặc trưng thứ t (là trạng thái i) là biết trước
Đánh giá độ phức tạp của các phương pháp
Công thức tính
P(O|) =
I
I P I O
P( ,) ( )