Daftar Isi
- Apa Itu Hidden Markov Model?
- Kumpulan Contoh Soal dan Pembahasan
- Soal 1: Prediksi Cuaca Sederhana (Konsep Dasar)
- Soal 2: Forward Algorithm (Dua Langkah)
- Soal 3: Viterbi Algorithm (Mencari Jalur Terbaik)
- Soal 4: Menghitung Matriks Transisi dari Data
- Soal 5: Masalah Kasino yang Tidak Jujur (Dishonest Casino)
- Soal 6: Backward Algorithm
- Soal 7: Konsep Zero-Frequency Problem
- Soal 8: Interpretasi Baum-Welch
- Soal 9: Perbedaan Markov Chain vs Hidden Markov Model
- Soal 10: Implementasi pada POS Tagging
- Kesimpulan
Hidden Markov Model (HMM) adalah salah satu model statistik yang paling kuat digunakan dalam pengenalan pola, pemrosesan bahasa alami (NLP), hingga bioinformatika. Meskipun terdengar kompleks, pada dasarnya HMM membantu kita memprediksi urutan kejadian tersembunyi berdasarkan observasi yang terlihat.
Dalam artikel ini, kita akan membedah 10 contoh soal yang mencakup tiga masalah utama HMM: Evaluasi (Forward Algorithm), Decoding (Viterbi Algorithm), dan Learning (Baum-Welch).
Baca juga: Kumpulan Contoh Soal Ragam Data untuk SMP dan SMA + Jawabannya
Apa Itu Hidden Markov Model?
Sebelum masuk ke soal, mari kita samakan persepsi. HMM melibatkan dua jenis status:
- Hidden State (Status Tersembunyi): Sesuatu yang tidak bisa kita lihat langsung (misalnya: perasaan seseorang atau cuaca di lokasi yang jauh).
- Observable State (Status Teramati): Manifestasi fisik yang bisa kita lihat (misalnya: aktivitas seseorang atau pembacaan sensor).
Komponen utamanya meliputi:
- Matriks Transisi ($A$): Peluang berpindah dari satu status tersembunyi ke status lainnya.
- Matriks Emisi ($B$): Peluang munculnya observasi tertentu dari status tersembunyi.
- Distribusi Awal ($\pi$): Peluang sistem dimulai pada status tersembunyi tertentu.
Kumpulan Contoh Soal dan Pembahasan
Soal 1: Prediksi Cuaca Sederhana (Konsep Dasar)
Andi berada di ruangan tanpa jendela. Dia hanya tahu temannya membawa payung (P) atau tidak membawa payung (TP). Status cuaca adalah Cerah (C) atau Hujan (H).
- $\pi = [C: 0.6, H: 0.4]$
- Peluang Transisi: $P(C|C) = 0.7, P(H|C) = 0.3, P(C|H) = 0.4, P(H|H) = 0.6$
- Peluang Emisi: $P(P|C) = 0.1, P(TP|C) = 0.9, P(P|H) = 0.8, P(TP|H) = 0.2$
Pertanyaan: Berapa peluang Andi melihat temannya membawa payung pada hari pertama?
Pembahasan:
Gunakan rumus marginalisasi:
$P(P) = P(P|C) \cdot P(C) + P(P|H) \cdot P(H)$
$P(P) = (0.1 \cdot 0.6) + (0.8 \cdot 0.4)$
$P(P) = 0.06 + 0.32 = 0.38$
Jadi, peluang observasi “Membawa Payung” di hari pertama adalah 38%.
Soal 2: Forward Algorithm (Dua Langkah)
Menggunakan data dari Soal 1, jika pada hari pertama Andi melihat “Membawa Payung”, berapa peluang hari kedua adalah “Cerah”?
Pembahasan:
Kita perlu menghitung probabilitas “Forward” ($\alpha$).
- $\alpha_1(C) = \pi_C \cdot B_C(P) = 0.6 \cdot 0.1 = 0.06$
- $\alpha_1(H) = \pi_H \cdot B_H(P) = 0.4 \cdot 0.8 = 0.32$
- $\alpha_2(C) = [\alpha_1(C) \cdot P(C|C) + \alpha_1(H) \cdot P(C|H)]$$\alpha_2(C) = [0.06 \cdot 0.7 + 0.32 \cdot 0.4] = 0.042 + 0.128 = 0.17$Peluang hari kedua cerah dengan observasi hari pertama payung adalah 0.17.
Soal 3: Viterbi Algorithm (Mencari Jalur Terbaik)
Seorang pasien memiliki dua kondisi: Sehat (S) atau Demam (D). Observasi yang terlihat adalah Normal (n), Dingin (d), dan Pusing (p).
Urutan observasi: Normal -> Pusing.
- $\pi = [S: 0.6, D: 0.4]$
- Transisi: $S \to S (0.7), S \to D (0.3), D \to S (0.4), D \to D (0.6)$
- Emisi: $S(n: 0.5, d: 0.4, p: 0.1)$, $D(n: 0.1, d: 0.3, p: 0.6)$
Pertanyaan: Manakah urutan status yang paling mungkin?
Pembahasan:
Langkah 1 (Normal):
- $V_{1,S} = 0.6 \cdot 0.5 = 0.3$
- $V_{1,D} = 0.4 \cdot 0.1 = 0.04$
Langkah 2 (Pusing):
- $V_{2,S} = \max(0.3 \cdot 0.7, 0.04 \cdot 0.4) \cdot 0.1 = \max(0.21, 0.016) \cdot 0.1 = 0.021$
- $V_{2,D} = \max(0.3 \cdot 0.3, 0.04 \cdot 0.6) \cdot 0.6 = \max(0.09, 0.024) \cdot 0.6 = 0.054$
Karena $0.054 > 0.021$, maka status terakhir yang paling mungkin adalah Demam. Jalur terbaiknya adalah Sehat -> Demam.
Soal 4: Menghitung Matriks Transisi dari Data
Diberikan urutan status tersembunyi yang diketahui: $S, S, D, D, S, D$. Hitunglah estimasi Matriks Transisi $A$.
Pembahasan:
Hitung frekuensi perpindahan:
- $S \to S$: 1 kali
- $S \to D$: 2 kali
- $D \to S$: 1 kali
- $D \to D$: 1 kali
Total keluar dari $S = 3$, Total keluar dari $D = 2$.
- $P(S|S) = 1/3 \approx 0.33$
- $P(D|S) = 2/3 \approx 0.67$
- $P(S|D) = 1/2 = 0.5$
- $P(D|D) = 1/2 = 0.5$
Soal 5: Masalah Kasino yang Tidak Jujur (Dishonest Casino)
Sebuah kasino menggunakan dua dadu: Adil (A) dan Curang (C). Dadu adil punya peluang tiap angka $1/6$. Dadu curang punya peluang angka ‘6’ sebesar $0.5$ dan angka lain $0.1$.
Jika bandar berpindah dari Adil ke Curang dengan peluang $0.05$, dan tetap di Adil dengan $0.95$. Sebaliknya, berpindah dari Curang ke Adil $0.1$.
Jika muncul angka 6, 6, hitung peluang itu berasal dari dadu Curang keduanya (asumsi $\pi$ adil = 1).
Pembahasan:
$P(C, C | 6, 6) \propto P(C|A) \cdot P(6|C) \cdot P(C|C) \cdot P(6|C)$
Ini adalah perhitungan Viterbi sederhana. Peluang munculnya angka 6 berturut-turut jauh lebih tinggi pada status “Curang” karena emisi $0.5$.
Soal 6: Backward Algorithm
Apa kegunaan Backward Algorithm dibandingkan Forward?
Pembahasan:
Forward Algorithm menghitung $P(O_1, \dots, O_t, q_t = S_i | \lambda)$, sedangkan Backward menghitung peluang urutan observasi masa depan diberikan status saat ini: $P(O_{t+1}, \dots, O_T | q_t = S_i, \lambda)$.
Keduanya dikombinasikan dalam Smoothing untuk menentukan status di tengah-tengah urutan observasi secara lebih akurat.
Soal 7: Konsep Zero-Frequency Problem
Apa yang terjadi jika pada Matriks Emisi ada nilai 0?
Pembahasan:
Jika $P(O|S) = 0$, maka seluruh probabilitas jalur yang melewati status tersebut akan menjadi 0. Dalam praktiknya, ini diatasi dengan Laplace Smoothing (menambahkan angka sangat kecil seperti $10^{-6}$) agar model tetap fleksibel terhadap observasi yang belum pernah terlihat sebelumnya.
Soal 8: Interpretasi Baum-Welch
Kapan kita menggunakan algoritma Baum-Welch?
Pembahasan:
Baum-Welch digunakan ketika kita memiliki data observasi tetapi tidak tahu parameter model ($\pi, A, B$) dan tidak tahu status tersembunyinya. Ini adalah bentuk dari algoritma Expectation-Maximization (EM).
Soal 9: Perbedaan Markov Chain vs Hidden Markov Model
Jelaskan perbedaan mendasar keduanya.
Pembahasan:
| Fitur | Markov Chain | Hidden Markov Model |
| :— | :— | :— |
| Status | Terlihat langsung | Tersembunyi |
| Observasi | Adalah status itu sendiri | Hasil emisi dari status |
| Kompleksitas | Rendah | Tinggi |
Soal 10: Implementasi pada POS Tagging
Dalam kalimat “Budi makan nasi”, jelaskan mana yang menjadi Hidden State dan Observable State.
Pembahasan:
- Observable: Kata-kata yang tertulis (“Budi”, “makan”, “nasi”).
- Hidden State: Part-of-Speech tags (Noun, Verb, Noun).HMM digunakan untuk menebak bahwa “makan” adalah Verb berdasarkan fakta bahwa sebelumnya adalah Noun dan kata “makan” sering muncul sebagai Verb.
Kesimpulan
Hidden Markov Model adalah alat yang luar biasa untuk memodelkan data sekuensial. Kunci untuk menguasainya adalah memahami perbedaan antara transisi antar status dan emisi menjadi observasi. Dengan latihan soal di atas, Anda kini memiliki fondasi kuat untuk menerapkan HMM dalam proyek data science atau kecerdasan buatan Anda.
Penulis: Aripin


Post Comment