Model Markov tersembunyi: Perbedaan antara revisi
Tidak ada ringkasan suntingan |
Fitur saranan suntingan: 3 pranala ditambahkan. Tag: VisualEditor Suntingan perangkat seluler Suntingan peramban seluler Tugas pengguna baru Disarankan: tambahkan pranala |
||
(30 revisi perantara oleh 21 pengguna tidak ditampilkan) | |||
Baris 1: | Baris 1: | ||
{{rapikan}} |
|||
Model Markov Tersembunyi atau Hidden Markov Model (HMM) adalah sebuah model statistik dari sebuah sistem yang diasumsikan sebuah |
'''Model Markov Tersembunyi''' atau lebih dikenal sebagai '''Hidden Markov Model''' ('''HMM''') adalah sebuah model statistik dari sebuah sistem yang diasumsikan sebuah [[Proses Markov]] dengan parameter yang tak diketahui, dan tantangannya adalah menentukan parameter-parameter tersembunyi (state) dari parameter-parameter yang dapat diamati (observer). Parameter-parameter yang ditentukan kemudian dapat digunakan untuk analisis yang lebih jauh, misalnya untuk aplikasi Pattern Recognition. Sebuah HMM dapat dianggap 4, sebuah Bayesian Network dinamis yang paling sederhana. |
||
Pada model Markov umum, state-nya langsung dapat diamati, oleh karena itu probabilitas transisi state menjadi satu-satunya parameter. Di dalam Model Markov yang |
Pada model Markov umum (Vanilla/Visible Markov Model), state-nya langsung dapat diamati, oleh karena itu probabilitas transisi state menjadi satu-satunya parameter. Di dalam Model Markov yang tersembunyi, state-nya tidak dapat diamati secara langsung, akan tetapi yang dapat diamati adalah variabel-variabel yatng terpengaruh oleh state. Setiap state memiliki distribusi probabilitas atas token-token output yang mungkin muncul. Oleh karena itu rangkaian token yang dihasilkan oleh HMM memberikan sebagian informasi tentang sekuens state-state. |
||
Hidden Markov Model sangat populer diaplikasikan di bidang speech recognition dan bioinformatics. |
Hidden Markov Model sangat populer diaplikasikan di bidang speech recognition dan bioinformatics. |
||
== Arsitektur == |
== Arsitektur == |
||
[[Berkas:Hmm_temporal_bayesian_net.png]] |
|||
⚫ | Diagram di atas menggambarkan arsitektur umum tentang HMM. Masing-masing bentuk oval menggambarkan sebuah variabel acak (random variable) yang berisikan nilai. Variabel Acak x(t) berisikan nilai sebuah variabel tersembunyi pada saat t. variabel acak y(t) berisikan nilai sebuah variabel yang dapat diamati (tidak tersembunyi) pada saat t. Anak panah menunjukkan ketergantungan kondisional. Dari diagram, jelas kiranya bahwa nilai x(t) hanya bergantung pada nilai x(t-1). Selain itu, nilai y(t) hanya bergantung pada x(t). |
||
⚫ | Diagram di |
||
⚫ | |||
== Probabilitas Barisan (Sequence) yang Teramati == |
== Probabilitas Barisan (Sequence) yang Teramati == |
||
Probabilitas mengamati barisan Y = y(0), y(1), ... |
Probabilitas mengamati barisan Y = y(0), y(1), ..., y(L-1), dengan panjang barisan L diberikan oleh persamaan: |
||
Di mana penjumlahannya meliputi seluruh node tersembunyi (hidden) pada barisan X = x(0), x(1), ... |
Di mana penjumlahannya meliputi seluruh node tersembunyi (hidden) pada barisan X = x(0), x(1), ..., x(L-1). Perhitungan kasar (brute force) P(Y) termasuk intractable untuk masalah-masalah di dunia nyata, karena jumlah hidden node yang sangat besar (pada umumnya). Akan tetapi, perhitungan nya dapat sangat dipercepat menggunakan [[Algoritma|algoritme]] dynamic programming yang dinamai forward algorithm. |
||
== Penggunaan Hidden Markov Model == |
== Penggunaan Hidden Markov Model == |
||
⚫ | |||
⚫ | |||
⚫ | |||
* Diberikan parameter dari model, carilah barisan state tersembunyi yang paling mungkin {{br}}menghasilkan output barisan tertentu (yang diberikan). Masalah ini diselesaikan oleh algoritme {{br}}Viterbi.{{br}} |
|||
* Diberikan sebuah barisan output atau himpunan barisan sepertinya, maka temukan himpunan transisi {{br}}state yang paling mungkin beserta probabilitas outputnya. Dengan kata lain, latihlah parameter HMM {{br}}jika diberikan dataset barisan-barisan tertentu. Masalah ini diselesaikan oleh algoritme Baum-Welch{{br}} |
|||
⚫ | |||
* Diberikan sebuah barisan output atau himpunan barisan sepertinya, maka temukan himpunan transisi state yang paling mungkin beserta probabilitas outputnya. Dengan kata lain, latihlah parameter HMM jika diberikan dataset barisan-barisan tertentu. Masalah ini diselesaikan oleh algoritma Baum-Welch |
|||
== Sebuah Contoh Konkret == |
== Sebuah Contoh Konkret == |
||
Baris 29: | Baris 26: | ||
Misalkan Anda memiliki seorang kawan yang tinggal di tempat yang jauh, dan Anda selalu berbicara dengannya setiap hari lewat telepon, tentang apa yang dia lakukan pada hari tersebut. Kawan Anda hanya tertarik pada tiga macam aktivitas: berjalan di taman, berbelanja, dan membersihkan apartemen. Pilihan atas apa yang hendak dia lakukan hanya ditentukan berdasarkan cuaca pada hari tersebut. Anda tidak memiliki informasi yang sahih tentang cuaca di tempat kawan Anda, tapi Anda tahu kecenderungannya secara umum. Berdasarkan apa yang dia ungkapkan setiap hari, Anda mencoba menebak seperti apa cuaca di sana. |
Misalkan Anda memiliki seorang kawan yang tinggal di tempat yang jauh, dan Anda selalu berbicara dengannya setiap hari lewat telepon, tentang apa yang dia lakukan pada hari tersebut. Kawan Anda hanya tertarik pada tiga macam aktivitas: berjalan di taman, berbelanja, dan membersihkan apartemen. Pilihan atas apa yang hendak dia lakukan hanya ditentukan berdasarkan cuaca pada hari tersebut. Anda tidak memiliki informasi yang sahih tentang cuaca di tempat kawan Anda, tapi Anda tahu kecenderungannya secara umum. Berdasarkan apa yang dia ungkapkan setiap hari, Anda mencoba menebak seperti apa cuaca di sana. |
||
Anda mengasumsikan bahwa cuaca bergerak sebagai sebuah Rantai Markov diskret. Ada dua macam state: "Hujan" dan "Cerah", namun Anda tidak dapat mengamatinya secara langsung (dengan kata lain, state ini tersembunyi dari Anda). Pada setiap harinya, ada peluang tertentu bahwa kawan Anda melakukan satu dari tiga aktivitas ini (bergantung dari cuaca di tempatnya) |
Anda mengasumsikan bahwa [[cuaca]] bergerak sebagai sebuah Rantai Markov diskret. Ada dua macam state: "Hujan" dan "Cerah", namun Anda tidak dapat mengamatinya secara langsung (dengan kata lain, state ini tersembunyi dari Anda). Pada setiap harinya, ada peluang tertentu bahwa kawan Anda melakukan satu dari tiga aktivitas ini (bergantung dari cuaca di tempatnya): "jalan-jalan"/'walk', "berbelanja"/'shop', atau "membersihkan"/'clean'. Pengamatan di sini adalah penyampaian informasi aktivitas yang dilakukan kawan Anda. Keseluruhan sistem dapat dianggap sebagai sebuah Hidden Markov Model (HMM). |
||
Anggaplah Anda tahu kecenderungan cuaca di daerah kawan tersebut, dan kecenderungan apa yang kawan Anda lakukan (secara rata-rata). Dengan kata lain, parameter-parameter dari HMM sudah diketahui. Anda bisa menuliskannya di dalam bahasa pemrograman Python: |
Anggaplah Anda tahu kecenderungan cuaca di daerah kawan tersebut, dan kecenderungan apa yang kawan Anda lakukan (secara rata-rata). Dengan kata lain, parameter-parameter dari HMM sudah diketahui. Anda bisa menuliskannya di dalam [[bahasa pemrograman]] Python: |
||
states = ('Rainy', 'Sunny') |
states = ('Rainy', 'Sunny') |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | Dalam penggalan kode di atas, start_probability mewakili ketidakpastian tentang state mana HMM berada ketika kawan Anda menelfon untuk pertamakali. (Yang Anda ketahui hanyalah kecenderungan untuk hujan). Distribusi Peluang yang digunakan di sini bukanlah yang setimbang, yang (merujuk pada peluang transisi) kira-kira {'Rainy':0.571, 'Sunny':0.429}. transition_probability menggambarkan perubahan cuaca di [[rantai Markov]] yang dipakai. Dalam contoh ini, hanya 30% peluang bahwa besok akan cerah jika hari ini hujan. emmision_probability menggambarkan seberapa mungkin kawan Anda melakukan aktivitas tertentu pada satu harinya. Jika hari hujan, maka ada 50% peluang bahwa dia sedang membersihkan apartemennya; jika hari cerah, ada 60% peluang bahwa dia ada di luar untuk berjalan-jalan. |
||
⚫ | |||
⚫ | |||
⚫ | |||
* speech recognition atau optical character recognition |
|||
* machine translation |
|||
* bioinformatika dan genomik |
|||
** prediksi daerah produsen protein dalam barisan genome |
|||
** pemodelan famili DNA terkait atau barisan protein |
|||
** prediksi elemen struktur sekunder dari barisan protein primer |
|||
[[Kategori:Bioinformatika]] |
|||
⚫ | |||
[[Kategori:Statistika]] |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | Dalam penggalan kode di atas, start_probability mewakili ketidakpastian tentang state mana HMM berada ketika kawan Anda menelfon untuk pertamakali. (Yang Anda ketahui hanyalah kecenderungan untuk hujan). Distribusi Peluang yang digunakan di sini bukanlah yang setimbang, yang (merujuk pada peluang transisi) kira-kira {'Rainy':0.571, 'Sunny':0.429}. transition_probability menggambarkan perubahan cuaca di rantai Markov yang dipakai. Dalam contoh ini, hanya 30% peluang bahwa besok akan cerah jika hari ini hujan. emmision_probability menggambarkan seberapa mungkin kawan Anda melakukan aktivitas tertentu pada satu harinya. Jika hari hujan, maka ada 50% peluang bahwa dia sedang membersihkan apartemennya; jika hari cerah, ada 60% peluang bahwa dia ada di luar untuk berjalan-jalan. |
||
⚫ |
Revisi terkini sejak 21 April 2023 05.27
![]() | artikel ini perlu dirapikan agar memenuhi standar Wikipedia. |
Model Markov Tersembunyi atau lebih dikenal sebagai Hidden Markov Model (HMM) adalah sebuah model statistik dari sebuah sistem yang diasumsikan sebuah Proses Markov dengan parameter yang tak diketahui, dan tantangannya adalah menentukan parameter-parameter tersembunyi (state) dari parameter-parameter yang dapat diamati (observer). Parameter-parameter yang ditentukan kemudian dapat digunakan untuk analisis yang lebih jauh, misalnya untuk aplikasi Pattern Recognition. Sebuah HMM dapat dianggap 4, sebuah Bayesian Network dinamis yang paling sederhana.
Pada model Markov umum (Vanilla/Visible Markov Model), state-nya langsung dapat diamati, oleh karena itu probabilitas transisi state menjadi satu-satunya parameter. Di dalam Model Markov yang tersembunyi, state-nya tidak dapat diamati secara langsung, akan tetapi yang dapat diamati adalah variabel-variabel yatng terpengaruh oleh state. Setiap state memiliki distribusi probabilitas atas token-token output yang mungkin muncul. Oleh karena itu rangkaian token yang dihasilkan oleh HMM memberikan sebagian informasi tentang sekuens state-state.
Hidden Markov Model sangat populer diaplikasikan di bidang speech recognition dan bioinformatics.
Arsitektur
[sunting | sunting sumber]
Diagram di atas menggambarkan arsitektur umum tentang HMM. Masing-masing bentuk oval menggambarkan sebuah variabel acak (random variable) yang berisikan nilai. Variabel Acak x(t) berisikan nilai sebuah variabel tersembunyi pada saat t. variabel acak y(t) berisikan nilai sebuah variabel yang dapat diamati (tidak tersembunyi) pada saat t. Anak panah menunjukkan ketergantungan kondisional. Dari diagram, jelas kiranya bahwa nilai x(t) hanya bergantung pada nilai x(t-1). Selain itu, nilai y(t) hanya bergantung pada x(t).
Probabilitas Barisan (Sequence) yang Teramati
[sunting | sunting sumber]Probabilitas mengamati barisan Y = y(0), y(1), ..., y(L-1), dengan panjang barisan L diberikan oleh persamaan:
Di mana penjumlahannya meliputi seluruh node tersembunyi (hidden) pada barisan X = x(0), x(1), ..., x(L-1). Perhitungan kasar (brute force) P(Y) termasuk intractable untuk masalah-masalah di dunia nyata, karena jumlah hidden node yang sangat besar (pada umumnya). Akan tetapi, perhitungan nya dapat sangat dipercepat menggunakan algoritme dynamic programming yang dinamai forward algorithm.
Penggunaan Hidden Markov Model
[sunting | sunting sumber]Ada tiga permasalahan utama yang dapat diselesaikan HMM
- Diberikan parameter dari model, hitunglah probabilitas output berupa suatu barisan tertentu.
Masalah ini diselesaikan oleh forward algorithm. - Diberikan parameter dari model, carilah barisan state tersembunyi yang paling mungkin
menghasilkan output barisan tertentu (yang diberikan). Masalah ini diselesaikan oleh algoritme
Viterbi. - Diberikan sebuah barisan output atau himpunan barisan sepertinya, maka temukan himpunan transisi
state yang paling mungkin beserta probabilitas outputnya. Dengan kata lain, latihlah parameter HMM
jika diberikan dataset barisan-barisan tertentu. Masalah ini diselesaikan oleh algoritme Baum-Welch
Sebuah Contoh Konkret
[sunting | sunting sumber]Misalkan Anda memiliki seorang kawan yang tinggal di tempat yang jauh, dan Anda selalu berbicara dengannya setiap hari lewat telepon, tentang apa yang dia lakukan pada hari tersebut. Kawan Anda hanya tertarik pada tiga macam aktivitas: berjalan di taman, berbelanja, dan membersihkan apartemen. Pilihan atas apa yang hendak dia lakukan hanya ditentukan berdasarkan cuaca pada hari tersebut. Anda tidak memiliki informasi yang sahih tentang cuaca di tempat kawan Anda, tapi Anda tahu kecenderungannya secara umum. Berdasarkan apa yang dia ungkapkan setiap hari, Anda mencoba menebak seperti apa cuaca di sana.
Anda mengasumsikan bahwa cuaca bergerak sebagai sebuah Rantai Markov diskret. Ada dua macam state: "Hujan" dan "Cerah", namun Anda tidak dapat mengamatinya secara langsung (dengan kata lain, state ini tersembunyi dari Anda). Pada setiap harinya, ada peluang tertentu bahwa kawan Anda melakukan satu dari tiga aktivitas ini (bergantung dari cuaca di tempatnya): "jalan-jalan"/'walk', "berbelanja"/'shop', atau "membersihkan"/'clean'. Pengamatan di sini adalah penyampaian informasi aktivitas yang dilakukan kawan Anda. Keseluruhan sistem dapat dianggap sebagai sebuah Hidden Markov Model (HMM).
Anggaplah Anda tahu kecenderungan cuaca di daerah kawan tersebut, dan kecenderungan apa yang kawan Anda lakukan (secara rata-rata). Dengan kata lain, parameter-parameter dari HMM sudah diketahui. Anda bisa menuliskannya di dalam bahasa pemrograman Python:
states = ('Rainy', 'Sunny') observations = ('walk', 'shop', 'clean') start_probability = {'Rainy': 0.6, 'Sunny': 0.4} transition_probability = { 'Rainy': {'Rainy': 0.7, 'Sunny': 0.3}, 'Sunny': {'Rainy': 0.4, 'Sunny': 0.6}, } emission_probability = { 'Rainy': {'walk': 0.1, 'shop': 0.4, 'clean': 0.5}, 'Sunny': {'walk': 0.6, 'shop': 0.3, 'clean': 0.1}, }
Dalam penggalan kode di atas, start_probability mewakili ketidakpastian tentang state mana HMM berada ketika kawan Anda menelfon untuk pertamakali. (Yang Anda ketahui hanyalah kecenderungan untuk hujan). Distribusi Peluang yang digunakan di sini bukanlah yang setimbang, yang (merujuk pada peluang transisi) kira-kira {'Rainy':0.571, 'Sunny':0.429}. transition_probability menggambarkan perubahan cuaca di rantai Markov yang dipakai. Dalam contoh ini, hanya 30% peluang bahwa besok akan cerah jika hari ini hujan. emmision_probability menggambarkan seberapa mungkin kawan Anda melakukan aktivitas tertentu pada satu harinya. Jika hari hujan, maka ada 50% peluang bahwa dia sedang membersihkan apartemennya; jika hari cerah, ada 60% peluang bahwa dia ada di luar untuk berjalan-jalan.
Aplikasi dari Hidden Markov Model
[sunting | sunting sumber]- speech recognition atau optical character recognition
- machine translation
- bioinformatika dan genomik
- prediksi daerah produsen protein dalam barisan genome
- pemodelan famili DNA terkait atau barisan protein
- prediksi elemen struktur sekunder dari barisan protein primer