You are on page 1of 45

Nhập môn học máy (Machine

Learning)

Nguyễn Xuân Hoài, PhD.


Học Viện Kỹ Thuật Quân Sự
Nội dung
Mô hình Markov ẩn (HMM):
• Tại sao dùng mô hình Markov ẩn?
• Ứng dụng của HMM.
• Xích Markov và thuộc tính Markov.
• Định nghĩa mô hình Markov ẩn.
• 3 Bài toán cơ bản của HMM.
• Thuật toán lan truyền xuôi.
• Thuật toán lan truyền ngược.
• Thuật toán Viterbi.
• Thuật toán học Baum-Welch.
• Các thuật toán học khác.
• Một số vấn đề nâng cao của HMM.
• Ví dụ ứng dụng HMM.
• Phần mềm cho HMM.
Tại sao dùng mô hình Markov ẩn?
• 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 dùng để giải quyết các bài toán xác lập
mối nhân quả cục bộ (Fragmentation,
Classification, Similarity Search).

1 2

K …
Ứng dụng của mô hình Markov ẩn

• Nhận dạng tiếng nói.


• Nhận dạng chữ viết tay.
• Xử lý ngôn ngữ thống kê.
• Dịch máy.
• Tin sinh học:
– Khớp xấp xỉ nhiều chuỗi.
– Tìm Motif.
– Tìm kiếm tương tự.
Thuộc tính Markov

Một dãy trạng thái ngẫu nhiên gọi là có thuộc tính


Markov nếu như xác suất chuyển sang trạng thái
tiếp theo chỉ phụ thuộc vào trạng thái hiện tại và
quá khứ.

– Dãy chuyển trạng quan sát được → Xích


Markov.
– Dãy chuyển trạng không quan sát được → Mô
hình Markov ẩn.
Mô hình/xích Markov
Ví dụ: mô hình Markov bậc 1:

Ví dụ: mô hình Markov bậc 2:


Mô hình/xích Markov
Ví dụ: Chuẩn đoán thời tiết

Rain

Sunny Cloudy
Mô hình Markov ẩn - HMM
Mô hình đồ thị chuyển trạng. Trong đó:
• Các node là các trạng thái.
• Các cung là các chuyển trạng có gắn xác suất.
• Các node “nhả” các ký hiệu theo xác suất.
• Các kỹ hiệu “nhả” quan sát được trong khi dãy
chuyển trạng là ẩn.
Mô hình Markov ẩn - HMM
Ví dụ: dự báo thời tiết.
Mô hình Markov ẩn - HMM
Ví dụ: nhận dạng tiếng nói
Mô hình Markov ẩn - HMM
Ví dụ: nhận dạng tiếng nói
Mô hình Markov ẩn - HMM

qt - Trạng thái ở thời điểm t.


S={1, 2,..., N} - Tập tất cả các trạng thái ẩn.
ot= (ký hiệu) Quan sát tại thời điểm t.
V={1,2, ...,M} Tập tất cả các ký hiệu quan sát được.
A= [aij] xác suất chuyển trạng.

B=[bij] xác suất nhả ký hiệu.

π= [πi] xác suất khởi trạng


Ba bài toán cơ bản của HMM

Bài toán 1: (Evaluation problem)


Cho dãy quan sát O=o1o2...oT và HMM - λ hãy xác
định xác suất sinh dãy từ mô hình – P(O| λ).
Ba bài toán cơ bản của HMM

Bài toán 2: (Decoding problem)


Cho dãy quan sát O=o1o2...oT và HMM - λ hãy xác
định dãy chuyển trạng Q=q1q2...qT cho xác suất sinh
O lớn nhất (optimal path).
Ba bài toán cơ bản của HMM

Bài toán 3: (Learning problem)


Hiệu chỉnh HMM - λ để cực đại hoá xác suất sinh O
– P(O| λ) (tìm mô hình “khớp” dãy quan sát nhất.
Ba bài toán cơ bản của HMM

Bài toán 1: (Evaluation problem)

Tuy nhiên có NT dãy chuyển trạng


Thuật toán lan truyền xuôi
Thuật toán lan truyền xuôi
Thuật toán lan truyền xuôi
Thuật toán lan truyền xuôi

Độ phức tạp thời gian: O(N2T)


Độ phức tạp không gian: O(NT)
Thuật toán lan truyền ngược

Độ phức tạp thời gian: O(N2T)


Độ phức tạp không gian: O(NT)
Thuật toán lan truyền xuôi-ngược
Thuật toán Viterbi
Thuật toán Viterbi
Thuật toán Viterbi
Thuật toán Viterbi
Thuật toán Viterbi
Thuật toán Viterbi
Thuật toán Baum-Welch
Thuật toán Baum-Welch
Thuật toán Baum-Welch
Thuật toán Baum-Welch
Thuật toán Baum-Welch
Một số thuật toán khác

• Thuật toán học Baldi-Chauvin (dùng Grandient


Descent).
• Thuật toán học Mamitsuka (kết hợp giữa Baum-
Welch và Baldi-Chauvin cho phép học trên cả
negative examples).
Một số vấn đề nâng cao

• Các thuật toán học khác (ví dụ dùng meta


heuristics – SA, GA, PSO...).
• Học và xác định cấu trúc của HMM.
• Giải quyết một số vấn đề như Scaling (khi tích các
xác suất quá nhỏ gây tràn số).
• Ứng dụng.
Ví dụ ứng dụng

Tìm GEN trong chuỗi DNA


Tìm Gen dùng để coding cho Protein

DNA CCTGAGCCAACTATTGATGAA

transcription

mRNA CCUGAGCCAACUAUUGAUGAA

translation

Protein PEPTIDE
(Left)

(Removed)
HMMs cho việc tìm GEN

• Nhiệm vụ:
– Xác đinh các vùng coding và non-coding trên
một xâu không gián nhãn gồm các DNA
nucleotides.
• Ý nghĩa:
– Hỗ trợ đánh dấu (để phân loại) dữ liệu từ các
genome thu đuợc.
– Giúp hiểu thêm các cơ chế trong Gen
transcription, splicing, ...
Tại sao dùng HMM?

• Phân lớp: Phân lớp các quan sát theo chuỗi.


• Thứ tự: Một chuỗi DNA là một chuỗi có thứ tự.
• Văn phạm :Văn phạm (cấu trúc HMM) đã được xác
định:

• Độ tốt của mô hình: đo bằng số lượng các exons được


đánh dấu chính xác
• Dữ liệu huấn luyện: Từ các chuỗi DNA đã được đánh
dấu (bằng các phương pháp thủ công khác).
HMMs để tìm GEN

• Training - Expectation Maximization (EM)


• Parsing – Viterbi algorithm

An HMM for unspliced genes.


x : non-coding DNA
c : coding state
Genefinders
Accuracy per nucleotide Accuracy per exon
(Sn+Sp)/
Method Sn Sp AC Sn Sp ME WE
2
GENSCAN 0.93 0.93 0.91 0.78 0.81 0.8 0.09 0.05
FGENEH 0.77 0.85 0.78 0.61 0.61 0.61 0.15 0.11
GeneID 0.63 0.81 0.67 0.44 0.45 0.45 0.28 0.24
GeneParser2 0.66 0.79 0.66 0.35 0.39 0.37 0.29 0.17
GenLang 0.72 0.75 0.69 0.5 0.49 0.5 0.21 0.21
GRAILII 0.72 0.84 0.75 0.36 0.41 0.38 0.25 0.1
SORFIND 0.71 0.85 0.73 0.42 0.47 0.45 0.24 0.14
Xpound 0.61 0.82 0.68 0.15 0.17 0.16 0.32 0.13

Sn = Sensitivity
Sp = Specificity
Ac = Approximate Correlation
ME = Missing Exons
WE = Wrong Exons

http://genes.mit.edu/Accuracy.html
Phần mềm cho HMMs

• HMM toolbox for MatLab


http://www.cs.ubc.ca/~murphyk/Software/HMM/hmm.html
• HTK (Cambridge University)
http://htk.eng.cam.ac.uk/
• GNU HMM Toolbox
http://ghmm.org/
• MatLab Bioinformatics Toolbox
http://www.mathworks.com/products/bioinfo/
ĐỌC THÊM
• T. Koski, Hidden Markov Models for Bioinformatics,
Kluwer Academic Publisher, 2001.
• P. Baldi and S. Brunak, Bioinformatics: The Machine
Learning Approach, 2nd Edition, MIT Press, 2001.
• P. Clote and R. Backofen, Computational Molecular
Biology: An Introduction, John Wiley & Sons, 2000.
• E. Charniak, Statistical Language Learning, MIT Press,
1993.

Slide bài giảng:


• Salina Venkataraman, HIDDEN MARKOV MODELS IN
COMPUTATIONAL BIOLOGY, University of Illinois.
• Pengyu Hong,HIDDEN MARKOV MODELS, Brandeis
University.
Câu hỏi ôn tập
1. Mô hình Markov và thuộc tính Markov?
2. Định nghĩa mô hình Markov ẩn.
3. Ứng dụng của HMM?
4. Phát biểu 3 bài toán cơ bản của HMM?
5. Phát biểu thuật toán lan truyền xuôi.
6. Phát biểu thuật toán lan truyền ngược.
7. Phát biểu thuật toán Viterbi.
8. Phát biểu thuật toán Baum-Welch.
9. Ứng dụng HMM giải các bài toán ứng dụng (xử
lý tiếng nói, ngôn ngữ tự nhiên, Bioinformatics,
etc).

You might also like