Kumpulan Contoh Soal Hidden Markov Model (HMM) untuk Pemula hingga Mahir

Berbicara mengenai kecerdasan buatan dan pemrosesan bahasa alami, Hidden Markov Model (HMM) adalah salah satu fondasi statistik yang paling krusial. Meskipun saat ini era Deep Learning sedang mendominasi, HMM tetap menjadi alat yang sangat efisien dan teoretis kuat untuk menangani data urutan (sequential data).

Artikel ini dirancang sebagai panduan komprehensif yang berisi kumpulan contoh soal Hidden Markov Model, mulai dari konsep dasar untuk pemula hingga tingkat lanjut bagi mahasiswa atau praktisi data science.

Baca juga: 10 Contoh Soal Hidden Markov Model Lengkap dengan Pembahasan Mudah Dipahami

Apa Itu Hidden Markov Model (HMM)?

Sebelum masuk ke soal, mari kita segarkan ingatan sejenak. HMM adalah model statistik di mana sistem yang dimodelkan dianggap sebagai proses Markov dengan parameter yang tidak diketahui (tersembunyi).

Komponen Utama HMM

Dalam setiap soal HMM, Anda akan selalu berurusan dengan lima elemen berikut:

🔖 Baca juga:
Panduan Lengkap Rumus Luas Lingkaran: Konsep, Kumpulan Contoh Soal, dan Pembahasan Terperinci
  1. States (S): Himpunan kondisi tersembunyi.
  2. Observations (O): Himpunan simbol yang terlihat.
  3. Transition Probabilities (A): Peluang berpindah dari satu state ke state lainnya.
  4. Emission Probabilities (B): Peluang sebuah state menghasilkan observasi tertentu.
  5. Initial Probability ($\pi$): Peluang sistem dimulai pada state tertentu.

Contoh Soal Tingkat Pemula: Memahami Probabilitas Dasar

Pada level ini, fokus kita adalah memahami bagaimana menghitung peluang sebuah urutan observasi sederhana terjadi jika semua parameter sudah diketahui.

Soal 1: Prediksi Cuaca dan Aktivitas

Misalkan ada seorang teman bernama Budi yang tinggal jauh. Anda hanya tahu aktivitasnya setiap hari: Berjalan (Walk), Berbelanja (Shop), atau Membersihkan Rumah (Clean). Aktivitas ini dipengaruhi oleh cuaca di sana yang hanya ada dua kemungkinan: Hujan (Rainy) atau Cerah (Sunny).

Diketahui data berikut:

  • States: {Rainy, Sunny}
  • Observations: {Walk, Shop, Clean}
  • Initial Probabilities ($\pi$): Rainy = 0.6, Sunny = 0.4
  • Transition Matrix (A):
    • Rainy ke Rainy: 0.7
    • Rainy ke Sunny: 0.3
    • Sunny ke Rainy: 0.4
    • Sunny ke Sunny: 0.6
  • Emission Matrix (B):
    • Rainy: Walk (0.1), Shop (0.4), Clean (0.5)
    • Sunny: Walk (0.6), Shop (0.3), Clean (0.1)

Pertanyaan: Berapa peluang Budi melakukan aktivitas “Clean” pada hari pertama jika hari itu Rainy?

Jawaban:

Ini adalah soal paling dasar. Kita hanya perlu mengalikan peluang awal dengan peluang emisi.

$$P(\text{Rainy}, \text{Clean}) = \pi_{\text{Rainy}} \times P(\text{Clean} | \text{Rainy})$$

$$P(\text{Rainy}, \text{Clean}) = 0.6 \times 0.5 = 0.3$$

Soal 2: Menghitung Peluang Urutan State

Berapakah peluang cuaca dalam dua hari berturut-turut adalah Rainy kemudian Sunny?

Jawaban:

Gunakan probabilitas awal dan matriks transisi.

$$P(S_1=\text{Rainy}, S_2=\text{Sunny}) = \pi_{\text{Rainy}} \times A(\text{Rainy} \to \text{Sunny})$$

$$P = 0.6 \times 0.3 = 0.18$$

Contoh Soal Tingkat Menengah: Algoritma Forward

Pada tingkat menengah, kita mulai masuk ke masalah evaluasi: “Berapa besar peluang sebuah urutan observasi terjadi secara keseluruhan?” Kita menggunakan Algoritma Forward.

Soal 3: Peluang Observasi “Walk, Shop”

Menggunakan data dari Soal 1, hitunglah total peluang Budi melakukan urutan aktivitas {Walk, Shop} dalam dua hari.

Langkah 1: Inisialisasi (Hari ke-1 untuk observasi “Walk”)

  • $\alpha_1(\text{Rainy}) = \pi_{\text{Rainy}} \times B(\text{Walk}|\text{Rainy}) = 0.6 \times 0.1 = 0.06$
  • $\alpha_1(\text{Sunny}) = \pi_{\text{Sunny}} \times B(\text{Walk}|\text{Sunny}) = 0.4 \times 0.6 = 0.24$

Langkah 2: Induksi (Hari ke-2 untuk observasi “Shop”)

  • $\alpha_2(\text{Rainy}) = [\alpha_1(\text{Rainy}) \cdot A_{RR} + \alpha_1(\text{Sunny}) \cdot A_{SR}] \times B(\text{Shop}|\text{Rainy})$$\alpha_2(\text{Rainy}) = [0.06 \cdot 0.7 + 0.24 \cdot 0.4] \times 0.4 = [0.042 + 0.096] \times 0.4 = 0.0552$
  • $\alpha_2(\text{Sunny}) = [\alpha_1(\text{Rainy}) \cdot A_{RS} + \alpha_1(\text{Sunny}) \cdot A_{SS}] \times B(\text{Shop}|\text{Sunny})$$\alpha_2(\text{Sunny}) = [0.06 \cdot 0.3 + 0.24 \cdot 0.6] \times 0.3 = [0.018 + 0.144] \times 0.3 = 0.0486$

Langkah 3: Terminasi (Total Peluang)

$$P(\text{Walk, Shop}) = \alpha_2(\text{Rainy}) + \alpha_2(\text{Sunny}) = 0.0552 + 0.0486 = 0.1038$$

Contoh Soal Tingkat Mahir: Algoritma Viterbi

Tingkat mahir biasanya fokus pada masalah decoding. Jika kita melihat urutan observasi, apa urutan state (kondisi tersembunyi) yang paling mungkin menyebabkannya?

Soal 4: Menentukan Urutan Cuaca Paling Mungkin

Berdasarkan urutan aktivitas Budi {Clean, Shop}, tentukan urutan cuaca (Rainy atau Sunny) yang paling mungkin terjadi menggunakan Algoritma Viterbi.

Langkah 1: Inisialisasi (Hari 1: Clean)

  • $V_1(\text{Rainy}) = 0.6 \times 0.5 = 0.3$
  • $V_1(\text{Sunny}) = 0.4 \times 0.1 = 0.04$

Langkah 2: Iterasi (Hari 2: Shop)

Untuk setiap state di hari ke-2, kita cari nilai maksimal dari perpindahan state hari ke-1.

  • Untuk State Rainy di Hari 2:
    1. Dari Rainy: $V_1(\text{Rainy}) \times A_{RR} \times B(\text{Shop}|\text{Rainy}) = 0.3 \times 0.7 \times 0.4 = 0.084$
    2. Dari Sunny: $V_1(\text{Sunny}) \times A_{SR} \times B(\text{Shop}|\text{Rainy}) = 0.04 \times 0.4 \times 0.4 = 0.0064$
    • Pemenang untuk Rainy: 0.084 (berasal dari Rainy)
  • Untuk State Sunny di Hari 2:
    1. Dari Rainy: $V_1(\text{Rainy}) \times A_{RS} \times B(\text{Shop}|\text{Sunny}) = 0.3 \times 0.3 \times 0.3 = 0.027$
    2. Dari Sunny: $V_1(\text{Sunny}) \times A_{SS} \times B(\text{Shop}|\text{Sunny}) = 0.04 \times 0.6 \times 0.3 = 0.0072$
    • Pemenang untuk Sunny: 0.027 (berasal dari Rainy)

Langkah 3: Kesimpulan

Nilai tertinggi di hari terakhir adalah 0.084 pada state Rainy. Jika kita lacak balik (backtrack), urutan paling mungkin adalah Rainy $\to$ Rainy.

Penerapan HMM dalam Dunia Nyata

Memahami soal-soal di atas membantu Anda menguasai logika di balik teknologi populer. Berikut adalah beberapa domain di mana HMM menjadi “otak” di belakang layar:

  1. Speech Recognition: Mengubah gelombang suara (observasi) menjadi fonem atau kata (state tersembunyi).
  2. Bioinformatika: Melakukan DNA Sequencing untuk mengidentifikasi gen dalam urutan nukleotida.
  3. Part-of-Speech (POS) Tagging: Menentukan apakah sebuah kata dalam kalimat adalah kata benda, kata kerja, atau kata sifat berdasarkan urutan kata di sekitarnya.
  4. Prediksi Pasar Saham: Mencoba menebak kondisi pasar (bullish/bearish) berdasarkan pergerakan harga harian.

Tabel Perbandingan Algoritma HMM

Nama AlgoritmaTujuan UtamaJenis Masalah
Forward AlgorithmMenghitung peluang total dari urutan observasi.Evaluation
Backward AlgorithmMenghitung peluang observasi di masa depan.Evaluation
Viterbi AlgorithmMenemukan urutan state tersembunyi yang paling mungkin.Decoding
Baum-WelchMemperbarui parameter model ($\pi, A, B$) berdasarkan data.Learning

Baca juga: KONI Lampung dan Universitas Teknokrat Indonesia Sepakat Perkuat Pembinaan Atlet dan Pengembangan Olahraga Daerah

Tips Mengerjakan Soal HMM untuk Mahasiswa

  1. Selalu Gambar Diagram Trellis: Jangan hanya mengandalkan angka. Gambar state dan garis transisi untuk memvisualisasikan jalur probabilitas.
  2. Cek Total Probabilitas: Pastikan jumlah peluang dalam satu baris matriks transisi atau emisi selalu sama dengan 1. Jika tidak, perhitungan Anda pasti salah.
  3. Gunakan Skala Logaritma: Pada soal yang sangat panjang (misal 100 urutan), hasil perkalian probabilitas akan menjadi sangat kecil ($0.000000…$). Gunakan $\log(P)$ untuk menghindari arithmetic underflow.
  4. Pahami Perbedaan Forward vs Viterbi: Forward menjumlahkan semua kemungkinan jalur, sedangkan Viterbi hanya mengambil jalur dengan nilai maksimum (jalur terbaik).

Kesimpulan

Hidden Markov Model adalah konsep yang elegan karena mampu memodelkan ketidakpastian dalam sebuah urutan waktu. Dengan menguasai contoh soal di atas, Anda telah memahami fondasi penting dalam pemrosesan data sekuensial. Mulailah dengan soal pemula untuk memperkuat konsep probabilitas, lalu tantang diri Anda dengan algoritma Viterbi dan Baum-Welch untuk level profesional.

Penulis: Aripin

Post Comment