Hidden Markov Model (HMM) I Toto Haryanto
Hidden Markov Model Model Probabilistik Digunakan pada data yang bersifat temporal sekuenseial, contoh : Sinyal (Sinyal Suara, sinyal digital) Sekuen DNA Sekuen Asam Amino Kasus : Identifikasi pembicara Identifikasi genus berbasis sequence DNA Klasifikasi Enzim berbasis sequence Prediksi struktur sekunder protein
Markov Model Ditemukan tahun 1920 oleh AA Markov Matematikawan Rusia. Memodelkan suatu kejadian dengan rantai markov Misalkan: Lakukan prediksi cuaca dengan model markov. Terdapat tiga jenis cuaca : Panas (P), Hujan (H), Berawan(B) Prediksi cuaca dilakukan untuk memprediksi cuaca pada esok berdasarkan observasi cuaca sebelumnya Notasi : qn : adalah cuaca hari ini Qn-1 : adalah cuaca hari kemarin Kita akan mencari peluang P(qn|qn-1,qn-2,qn-3,…..) Artinya: peluang untuk cuaca pada saat hari ke-n qn Ê(P,H,B), bergantung pada hari sebelumnnya
Teladan: Jika diketahui cuaca tiga hari yang lalu adalah sebagai berikut: {P,P,B} maka tentukan peluang cuaca pada hari ini akan turun hujan (hari ke-4) P(q4=H|q3=B,q2=P,q1=P) Sehingga sekuens dari cuasa yang akan terbentuk {P,P,B,H} Permasalahan : Jika terdapat n dalam jumlah besar, misalnya = 6, maka kita akan memiliki sejumlah 3(6-1) = 243 sejarah cuaca sebelumnya Oleh karena itu, terdapat Markov Assumtion P(qn|qn-1,qn-2, …..q1) = P(qn|qn-1) Disebut first order Markov Assumtion
Peluang Suatu Sekuens Dengan Markov Assumtion, akan terdapat 3.3 = 9 peluang kemungkinan untuk setiap kombinasi Representasi kombinasi bisa dibuat dalam bentuk Matriks transisi sebagai berikut: Tomorro’s weather Today weather P H B 0.8 0.05 0.15 0.2 0.6 0.3 0.5
Matriks Transisi Tabel 1. Matriks Peluang Transisi Tomorro’s weather Today weather P H B 0.8 0.05 0.15 0.2 0.6 0.3 0.5 Pada first order markov model, kita dapat menggunakan probability dari matriks transisi tersebut Matrik transisi tersebut dapat dilihat sebagi Finite State Automaton (FSA) S = {P,H,B}
Gambar1. Peluang State Transisi untuk cuaca berdasarkan Tabel 1 Transisi State P B H Gambar1. Peluang State Transisi untuk cuaca berdasarkan Tabel 1
Teladan Kasus: Diketahui bahawa cuaca pada hari ini adalah panas (P). Berapa peluang besok Panas (P) dan lusa Hujan(H) ? Dengan menggunakan Markov Assumtion P(q2=P, q3=H | q1=P) = P ( q3=H| q2=P,q1=P). P(q2=P|q1=P) = P (q3=H| q2=P). P (q2=P | q1=P) = 0.05 . 0.8 = 0.04 Panas (P) Berawan (B) Jika diketahui bahwa hari ini (Berawan). Bagaimana cuaca lusa ? Hujan (H)
Hidden Markov Model II Toto Haryanto
Terminologi dalam HMM Model dalam HMM ditulis sebagai Pernytaan P(O| λ) bermakna peluang suatu observasi O jika diberikan model HMM λ Pernytaan P(O| S1,S2) bermakna peluang suatu observasi O jika diberikan model HMM λ dengan State S1,S2 Dengan λ : Model A : Matriks Transisi B : Matriks Emisi Π : Matriks Prority
Jenis Hidden Markov Model (HMM) Ergodic HMM Left-Right (L-R) HMM P B H Pada Ergodic HMM, suatu state diperkenankan Untuk dapat mengunjuni state manapun. Visualisasi Ergodic HMM dapay dilihat pada Gambar di samping Pada L-R HMM transisi terjadi ke state diriinya atau state lain yang unik H P B
Permasalahan dalam HMM Diberikan model λ = (A, B, π), bagaimana menghitung P(O | λ), yaitu kemungkinan ditemuinya rangkaian pengamatan O = O1, O2, ..., OT. Diberikan model λ = (A, B, π), bagaimana memilih rangkaian state I = i1, i2,...,iT sehingga P(O, I | λ), kemungkinan gabungan rangkaian pengamatan O = O1, O2, ..., OT dan rangkaian state jika diberikan model, maksimal. Bagaimana mengubah parameter HMM, λ = (A, B, π) sehingga P(O | λ) maksimal.
Solusi ? Masalah (1) dikenal dengan istilah Evaluating Diselesaikan dengan prosedur yang dikenal dengan forward- backward procedure (Rabiner 1989) Masalah (2) dikenal dengan istilah Decoding Diselesaikan dengan menggunakan algoritme Viterbi Masalah (3) dikenal dengan Istilah Learning Diselesaikan dengan menggunakan algoritma Baum-Welch
Teladan 1 Masalah 1 Anda dalam ruang terkunci. Berapa peluang dari cuaca pada hari jika diberikan status {P,B,P}, kemudian diketahui bahwa selama tiga hari tersebut office boy masuk ke dalam ruangan tidak pernah membawa payung. Dik : Peluang baik, q1,q2,q3 pertama kali terjadi masing-masing adalah 1/3 Tomorro’s weather Today weather P H B 0.8 0.05 0.15 0.2 0.6 0.3 0.5 Dengan Payung Tanpa Payung weather Panas 0,1 0,9 Hujan 0,8 0,2 Berawan 0,3 0,7
Penyelesaian Masalah 1 Pembuatan Model HMM P (P B P | x1=TP,x2 = TP, x3=TP) P(P) * P(TP|P) * P(B| P) * P(TP| B) * P( P| B) * P (TP|P) = 1/3 * 0.9 * 0.15 * 0.7 * 0.2 * 0.9 = 0.0057 Pada kasus di atas state-nya sudah ditentukan. Bagaimana Jika kasusnya P (TP,TP,TP| λ ) ? Artinya : Kita harus menghitung semua state obervasi (TP) untuk semua kemungkinan hidden state
Teladan 2 Masalah 1 Dimesi Matrik Transisi (A) = M x M Matriks Transisi (A) Matriks Transisi (B) S1 S2 0.5 0.4 0.6 I O S1 0.2 0.8 S2 0.9 0.1 Dimesi Matrik Transisi (A) = M x M Dimensi Matriks Emisi (B) = M x N Dimensi Matriks Prior (Π) = M x 1 Matriks Priority (Π) S1 0.3 S2 0.7
Teladan 2 (Masalah 1) Berdasarkan Model HMM λ, tentukan peluang untuk observasi sebagai berikut: a) P (II | S1,S2) b) P (OO | S2,S2) Jawab: a) Peluang bahwa observasi II pada state S1 kemudian S2 adalah mengalikan komponen sebagai berikut: P(S1)*P(I|S1)*P(S2|S1)*P(I|S2) 0.3 * 0.2 * 0.5 * 0.9 = 0.0027 b) ???
Diagram Trelis Digaram trelis dapat digunakan untuk memvisualisasikan kemungkinan dalam perhitungan HMM. http://www.igi.tugraz.at/lehre/CI
Diagram Trelis Diagram Trelis untuk Kasus Teladan 1 Masalah1 TP P H B State observasi : x1=TP x2=TP x3=TP n =1 n =2 n =3 Waktu
Teladan Masalah 2 Permasalahan 2 adalah kita mencari state yang optimal dari suatu observasi terhadap model HMM yang ada. Diselesaikan dengan manggunakan algoritma Viterbi Beberapa langkah dalam Viterbi Inisialisasi Rekursif Terminasi Lacak Balik
Algoritma Viterbi (Teladan Masalah 2) Inisialisasi Rekursif Terminasi Lacak-Balik
Teladan 2 Maslah 2 Jika Anda berada di dalam ruang tertutup dan Anda tidak mengetahui bagaimana cuaca di luar. Sementara observasi menunjukkan bahwa officeboy selama tiga hari ternyata ({TP,DP,DP}). Tentukan peluang yang paling mungkin dari cuaca di luar pada kondisi tersebut ? Selesaikan dengan algoritma viterbi! Ket: DP : dengan payung
Langkah 1 (Inisialisasi) δ1(P) = π(P)* B(TP|P) = 1/3 * 0.9 = 0.3 Ψ1 (P)= 0 δ1(H) = π(H)* B(TP|H) = 1/3 * 0.2 = 0.0067 Ψ1 (H)= 0 δ1(B) = π(B)* B(TP|B) = 1/3 * 0.7 = 0.23 Ψ1 (B)= 0
Langkah 2 (Rekursif) n =2 (Menghitung kemungkinan state berikutnya dari 3 state sebelumnya) δ2(P) = max{δ1(P)* A(P|P) , δ1(H)* A(P|H), δ1(B)*A(P|B)}* B(DP|P) = max {0.3* 0.8 , 0.0067 * 0.2 , 0.233 * 0.2} * 0.1 = 0.024 Ψ2 (P) = P δ2(H) = max{δ1(P)* A(H|P) , δ1(H)* A(H|H), δ1(B)*A(H|B)}* B(DP|H) = max {0.3* 0.05 , 0.067 * 0.6, 0.233 * 0.3} * 0.8 = 0.056 Ψ2 (H) = B δ2(B) = max{δ1(P)* A(B|P) , δ1(H)* A(B|H), δ1(B)*A(B|B)}* B(DP|B) = max {0.3* 0.15 , 0.067 * 0.2, 0.233 * 0.5} * 0.3 = 0.035 Ψ2 (B) = B
Diagram Trelis n = 2 Lanjutkan ke rekursif berikutnya untuk n = 3
Langkah 2 (Rekursif) n =3 (Menghitung kemungkinan state berikutnya dari 3 state sebelumnya) δ3(P) = max{δ2(P)* A(P|P) , δ2(H)* A(P|H), δ2(B)*A(P|B)}* B(DP|P) = max {0.024* 0.8 , 0.056 * 0.2 , 0.035 * 0.2} * 0.1 = 0.0019 Ψ3 (P) = P δ3(H) = max{δ2(P)* A(H|P) , δ2(H)* A(H|H), δ2(B)*A(H|B)}* B(DP|H) = max {0.024* 0.05 , 0.056* 0.6, 0.035 * 0.3} * 0.8 = 0.0269 Ψ3 (H) = H δ3(B) = max{δ2(P)* A(B|P) , δ2(H)* A(B|H), δ2(B)*A(B|B)}* B(DP|B) = max {0.024* 0.15 , 0.056 * 0.2, 0.035 * 0.5} * 0.3 = 0.0052 Ψ3 (B) = B
Diagram Trelis n = 3
Langkah 3 (Terminasi) q3* = argmax(δ3(i)) = H Secara global path telah selesai sampai dengan n=3 (karna ada tiga sekuens observasi yaitu {TP,DP,DP} Lakukan penentuan argumen maksimum P*(O| λ) = max(δ3(i)) =δ3(H)=0.0269 q3* = argmax(δ3(i)) = H Artinya bahwa state terakhir dari observasi ada pada state Hujan
Diagram Trelis Terminasi
Langkah 4 (Lacak Balik) Sekuens terbaik dapat dilihat dari vektor Ψ n = N - 1= 2 q2* = Ψ3 (q3* ) = Ψ3 (H) = H {Lihat proses rekursif pada n = 3 untuk Ψ3 (H) } n = N - 1= 1 q1* = Ψ2 (q2* ) = Ψ2 (H) = B {Lihat proses rekursif pada n = 2 untuk Ψ2 (H) }
Hasil Akhir Berdasarkan hasil q1,q1 dan q3 diperoleh bahwa state yang mungkin dengan peluang terbesar untuk observasi {TP,DP,DP} adalah {B,H,H}
Bagaimana dengan Kasus Suara HMM : proses markov stasioner orde 1 dengan nilai state tidak teramati, namun dapat diprediksi berdasar observable state yang muncul pada setiap periode waktu. Oleh karena itu mampu memodelkan perilaku temporal dari barisan outcome. HMM ini dapat dipakai sebagai representasi statistik bagaimana seorang pembicara menghasilkan suara 9/18/2018
Masalah dalam HMM pada suara Asumsi kebebasan antar observasi Asumsi kebebasan antar kemunculan state pada periode t dengan observasi sebelum periode t Asumsi BAHWA OBSERVASI BERDISTRIBUSI NORMAL Dari aspek teori : jika observasi berdimensi sangat besar dibanding dengan banyaknya pengamatan, maka penghitungan peluang observasi dengan menggunakan asumsi kenormalan akan terbentur pada masalah singularitas matriks covariance, sehingga kebalikan matriks tersebut tidak dapat diperoleh. 9/18/2018
Gaussian HMM 9/18/2018
Masalah 3 Training Contoh Algoritma Baum-Welch
Tugas Dengan mengunakan Viterbi, tentukan state yang optimal untuk vektor input berikut : S1= [10 12 6] S1= [5 10 5] 9/18/2018
Selesai Bersemangatlah terhadap segala sesuatu yang bermanfaat bagimu, mintalah pertolongan kepada Rabb-mu yang janganlah kamu merasa bersedih Terima Kasih