1. Dokumen ini membahas model Markov tersembunyi (HMM) dimana urutan state tidak diketahui namun hanya urutan emisi yang dapat diamati. HMM digunakan untuk memperkirakan urutan state dari urutan emisi yang diamati.
2. Contoh HMM menggunakan dua dadu dan dua koin untuk menghasilkan urutan angka secara acak. Fungsi seperti hmmgenerate dan hmmviterbi digunakan untuk menganalisis HMM.
3.
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
Pengantar hidden markov model
1. PengantarHiddenMarkovModel (HMM)
Sebuahmodel Markovhidden(HMM) adalahsatu di mana Andamengamati urutanemisi,tetapi
tidaktahu urutanstate model mengalami untukmenghasilkanemisi.AnalisismodelMarkovhidden
berusahauntukmemulihkankembali urutanstate dari datayang diamati.
Sebagai contoh,mempertimbangkanuntukmodel Markovdenganduastate danenamemisi
mungkin.Model ini menggunakan:
1. Sebuahdadumerah,memiliki enamsisi,label1sampai 6.
2. Sebuahdaduhijau,memiliki duabelassisi,limadari yangberlabel 2sampai 6, sedangkan
sisanyatujuhsisi diberi label 1.
3. Sebuahkoinmerahterbobot,yangkemungkinankepalaadalah0,9 danprobabilitasekor
adalah0,1.
4. Sebuahkoinhijauterbobot,yangkemungkinankepalaadalah0,95dan probabilitas ekor
adalah0,05.
Model ini menciptakanurutanangkadari set{1, 2, 3, 4, 5, 6} denganaturan berikut:
1. Mulailahdenganrollingdadumerahdanmenuliskannomoryangmuncul,yangmerupakan
emisi.
2. Melemparkankoinmerahdanmelakukansalahsatudari berikut:
a. Jikahasilnyaadalahkepala,roll dadumerahdanmenuliskanhasilnya.
b. Jikahasilnyaekor,roll hijaudadudanmenuliskanhasilnya.
3. Pada setiaplangkahberikutnya,Andaflipkoinyangmemiliki warnayangsamadengandadu
Andabergulirpadalangkahsebelumnya.Jikakoinmuncul kepala,melempardaduyang
sama seperti padalangkahsebelumnya.Jikakoinmuncul ekor,beralihke dadulainnya.
Diagram state untukmodel ini memiliki dua state,merahdanhijau,seperti yangditunjukkanpada
gambar berikut.
Andamenentukanemisi dari state denganrollingdadudenganwarnayangsama dengan state.Anda
menentukantransisike state berikutnyadenganmembalikkoindenganwarnayangsamadengan
state.
2. Matriks transisi adalah:
Matriks emisi adalah:
Model ini tidaktersembunyikarenaAndatahuurutankeadaandari warna koindan dadu.Misalkan,
bagaimanapun,bahwaoranglainyangmenghasilkanemisi tanpamenunjukkanAndadaduatau
koin.SemuayangAndalihatadalahurutan emisi.JikaAndamulai melihatlebih1sdari nomor lain,
Andamungkinmendugabahwamodel tersebutdi state hijau,tetapi Andatidakbisayakinkarena
Andatidakdapat melihatwarnadadusedangbergulir.
Model Markov hiddenmengangkatpertanyaan-pertanyaanberikut:
1. Mengingaturutanemisi,apajalanstate yang palingmungkin?
2. Mengingaturutanemisi,bagaimanaAndabisamemperkirakantransisi danemisi
probabilitasmodel?
3. Berapaprobabilitasmajubahwamodel menghasilkanurutanyangdiberikan?
4. Berapaprobabilitasposterior(belakang) bahwamodel tersebut dalamkeadaantertentu
pada setiaptitikdalamurutan?
MenganalisisModel HiddenMarkov
1. MembangkitkanTestUrutan (Generating a TestSequence)
2. MemperkirakanState sequence (Estimating the State Sequence)
3. MemperkirakanTransisi danEmisi Matriks(Estimating Transition and Emission Matrices)
4. MemperkirakanPosteriorState Probabilitas(Estimating Posterior State Probabilities)
5. MengubahDistribusi State Initial(Changing the Initial State Distribution)
Statistikdanfungsi Machine LearningToolbox ™ yang terkaitdenganmodel Markovhiddenadalah:
1. hmmgenerate - Menghasilkanurutankeadaandanemisi dari model Markov
2. hmmestimate - Menghitungperkiraankemungkinanmaksimumtransisi danemisi
probabilitasdari urutanemisi danurutandikenal state
3. hmmtrain- Menghitungperkiraan likelihood (kemungkinan)maksimumtransisi danemisi
probabilitasdari urutanemisi
4. hmmviterbi - Menghitungjalurstate yangsangatmemungkinkanuntukmodel Markov
hidden
5. hmmdecode - Menghitungprobabilitaskeadaanposterior (belakang) dari urutanemisi.
Bagianini akan menunjukkanbagaimanamenggunakanfungsiini untukmenganalisismodel Markov
hidden.
3. MembangkitkanTestsequence
Perintahberikutmembuattransisi danemisimatriksuntukmodel yangdijelaskandalamPengantar
untukHiddenMarkovModel (HMM):
TRANS = [.9 .1; .05 .95;];
EMIS = [1/6, 1/6, 1/6, 1/6, 1/6, 1/6;...
7/12, 1/12, 1/12, 1/12, 1/12, 1/12];
Untuk menghasilkanurutanacakkeadaandan emisi dari model,menggunakanhmmgenerate:
[seq,states] = hmmgenerate(1000,TRANS,EMIS);
Outputseqadalahurutan emisi danstate-state outputurutanstate.
hmmgenerate dimulai di state bagian1pada langkah0, membuattransisi ke i1 state padalangkah1,
dan mengembalikani1sebagai entri pertamadi state-state.Untukmengubahkeadaanawal,lihat
MerubahDistribusi State Awal.
MemperkirakanState sequence
Mengingattransisi danemisi matriksTRANSdanEMIS,fungsi hmmviterbi menggunakanalgoritma
Viterbi untukmenghitungurutanyangpalingmungkinstate model akanmelalui untukmenghasilkan
urutan seqdiberikanemisi:
likelystates = hmmviterbi(seq, TRANS, EMIS);
likelystatesadalahurutandenganpanjangsamaseq.
Untuk menguji keakuratanhmmviterbi,hitunglahpersentase state urutanyangsebenarnyayang
setujudenganlikelystatesurutan.
sum(states==likelystates)/1000
ans =
0.8200
Dalamhal ini,urutanpalingmungkin state setujudenganacakurutan (randomsequence) 82% dari
waktu.
MemperkirakanTransisi dan Emisi Matriks
1. menggunakanhmmestimate
2. menggunakanhmmtrain
5. TRANS_EST2 =
0.2286 0.7714
0.0032 0.9968
EMIS_EST2 =
0.1436 0.2348 0.1837 0.1963 0.2350 0.0066
0.4355 0.1089 0.1144 0.1082 0.1109 0.1220
hmmtrainmenggunakanalgoritmaiteratif yangmengubahmatriksTRANS_GUESSdanEMIS_GUESS
sehinggapadasetiaplangkahmatriksdisesuaikanlebihmungkinuntukmenghasilkanurutan
diamati,seq.Algoritmamenghentikanketikamatriksdalamduaiterasi yangberurutanberadadalam
toleransi kecil samalain.
Jikaalgoritmagagal untukmencapai toleransi ini dalamjumlahmaksimumiterasi,yangnilainya
defaultadalah100, algoritmamenghentikan.Dalamhal ini,hmmtrainmengembalikannilai terakhir
TRANS_EST danEMIS_EST dan mengeluarkanperingatanbahwatoleransi itutidaktercapai.
Jikaalgoritmagagal untukmencapai toleransi yangdiinginkan,meningkatkannilaidefaultdari
jumlahmaksimumiterasi denganperintah:
hmmtrain(seq,TRANS_GUESS,EMIS_GUESS,'maxiterations',maxiter)
di mana maxiteradalahjumlahmaksimumlangkahalgoritmamengeksekusi.
Ubah nilai defaultdari toleransidenganperintah:
hmmtrain(seq, TRANS_GUESS, EMIS_GUESS, 'tolerance', tol)
di mana tol adalahnilai yangdiinginkandari toleransi.Untukmeningkatkannilai tol membuat
algoritmaberhenti lebihcepat,namun hasilnyakurangakurat.
Dua faktormengurangi reliabilitasmatriksOutputdari hmmtrain:
1. Algoritmakonvergenmaksimumlokal yangtidakmewakili benartransisi danemisi matriks.
JikaAndamendugaini,menggunakanmenebakawal yangberbedauntukmatriks
TRANS_EST danEMIS_EST.
2. Urutan seqmungkinterlaluPendekuntukmelatihmatriks.JikaAndamendugahal ini,
menggunakanurutanlebihpanjanguntukseq.
Estimasi PosteriorState Probabilitas
Probabilitasstate posteriordari sequrutanemisi adalahprobabilitasbersyaratbahwamodel
tersebutdalamkeadaantertentuketikamenghasilkansimbol di seq,mengingatbahwaseq
diemisikan.Andamenghitungprobabilitasstate posteriordenganhmmdecode:
PSTATES = hmmdecode(seq,TRANS,EMIS)
6. OutputPSTATES adalahmatriksM-by-L,di mana M adalahjumlahstate danL adalahpanjangseq.
PSTATES(i,j) adalah probabilitasbersyaratbahwamodel tersebutdalamkeadaansayasaatitu
menghasilkansimbol-j dari seq,mengingatbahwaseqdiemisikan.
hmmdecode dimulai denganmodel di state 1pada langkah0, sebelumemisi pertama.PSTATES(i,1)
adalahprobabilitasbahwamodel tersebutdi state sayadi berikutlangkah1.Untuk mengubah
keadaanawal,lihatMerubahDistribusi State Awal.
Untuk mengembalikanlogaritmadari probabilitassequrutan,menggunakanargumenkeluaran
keduahmmdecode:
[PSTATES,logpseq] =hmmdecode (seq,TRANS,EMIS)
Probabilitasurutancenderung0sebagai panjangdari urutan meningkat,danprobabilitasurutan
yang cukuppanjangmenjadi kurangdari jumlahpositif terkecil komputerAndadapatmewakili.
hmmdecode mengembalikanlogaritmadari probabilitasuntukmenghindarimasalahini.
Merubah Distribusi State Initial
Secara default,StatistikdanMachine LearningToolbox hiddenMarkovModel fungsi dimulai di state
1. Dengankata lain,distribusi state awal telahsemuaprobabilitasmassaterkonsentrasidi state 1.
Untuk menetapkandistribusiyangberbedadari probabilitas,p= [p1, p2, ...,pM], untukstate-state
awal M, lakukanhal berikut:
1. Buat M + 1-by-M+ 1 ditambah matrikstransisi,Tdari bentukberikut:
di mana T adalahmatrikstransisi yangbenar.KolompertamaT mengandungM+ 1 nol.p
harus berjumlah1.
2. Buat M + 1-by-N augmentedmatrix emisi,E,yangmemiliki bentukberikut:
Jikatransisi danemisi matriks yangTRANSdanEMIS, masing-masing,Andamembuatmatriks
ditambahdenganperintahberikut:
TRANS_HAT = [0 p; zeros(size(TRANS,1),1) TRANS];
EMIS_HAT = [zeros(1,size(EMIS,2)); EMIS];