Algoritma Viterbi 2


Algoritma Viterbi adalah salah satu algoritma yang dapat digunakan untuk melakukan prediksi. Contoh yang dibahas kali ini adalah mengenai memprediksikan cuaca berdasarkan data aktivitas yang dilakukan.



Diasumsikan ada 2 buah keadaan cuaca, yaitu cerah dan hujan
Kemudian diketahui terdapat 3 aktivitas yang dilakukan, yaitu menonton film, berolahraga, dan belajar
Masing-masing keadaan memliki probabilitas untuk berpindah menuju keadaan yang lain,
Dan masing-masing keadaan memiliiki probabilitas untuk melakukan sebuah aktivitas
Maka lakukan prediksi urutan cuaca yang terjadi apabila diketahui beberapa kegiatan yang telah dilakukan

Diasumsikan probabilitas per keadaan adalah sebagai berikut

Keadaan prob
Cerah 0.6
Hujan 0.4

Diasumsikan probabilitas transisi keadaan per keadaan adalah sebagai berikut

prob Cerah Hujan
Cerah 0.7 0.3
Hujan 0.4 0.6

Diasumsikan probabilitas aktivitas per keadaan adalah sebagai berikut

prob Menonton Film Berolahraga Belajar
Cerah 0.1 0.4 0.5
Hujan 0.6 0.3 0.1

* Masukkan data-data sesuai deskripsi tersebut


Langkah-langkah penggunaan algoritma ini adalah

1. Tentukan urutan aktivitas yang akan dicari prediksi cuacanya
Diasumsikan keadaan yang diketahui adalah Menonton Film, Belajar, Berolahraga, Menonton Film

2. Lakukan proses perhitungan prediksi menggunakan Viterbi
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini

Memasuki proses utama pada fungsi Viterbi

2a. Lakukan inisialisasi T sebagai pemetaan dari probabilitas aktivitas per keadaan

2b. Lakukan perhitungan pada masing-masing urutan aktivitas (poin 2b1 – 2b2)

2b1. Lakukan perhitungan pada semua kemungkinan transisi keadaan (poin 2b1a – 2b1e)

2b1a. Hitung probabilitas dengan rumus
p = probAktivitasPerKeadaan[k][i] * probTransisiKeadaanPerKeadaan[k][j]
perkalian dengan faktor skala hanya untuk memudahkan pembacaan angka saja

2b1b. Kalikan nilai probabilitas pada nilai probabilitas viterbi sementara
Dan jumlahkan semua nilai probabilitas ini

2b1c. Jika nilai probabilitas viterbi lebih dari nilai probabilitas tertinggi untuk aktivitas ini,
maka simpan keadaan ini sebagai keadaan terbaik untuk aktivitas ini

2b1d. Jika nilai probabilitas viterbi lebih dari nilai probabilitas tertinggi dari semua aktivitas,
maka simpan keadaan ini sebagai keadaan terbaik

2b1e. Setelah selesai melakukan perhitungan pada semua kemungkinan perubahan keadaan pada sebuah keadaan,
Simpan semua nilai probabilitas dan nilai probabilitas tertinggi untuk digunakan pada transisi keadaan berikutnya

2b2. Simpan semua nilai probabilitas dan nilai probabilitas tertinggi untuk digunakan pada aktivitas berikutnya

2c. Hitung total probabilitas dari semua alur viterbi dan nilai probabilitas viterbi terbaik
Dan tampilkan pada layar


Hasil akhir adalah: (klik untuk perbesar gambar)

cmd157


Contoh modul / source code dalam bahasa VB (Visual Basic) dapat didownload disini:



Jika membutuhkan jasa kami dalam pembuatan program, keterangan selanjutnya dapat dilihat di Fasilitas dan Harga
Jika ada yang kurang paham dengan langkah-langkah algoritma diatas, silahkan berikan komentar Anda.
Selamat mencoba.


Tinggalkan sebuah komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

2 pemikiran di “Algoritma Viterbi