ENTROPI PADA MATRIKS EMISI
MODEL MARKOV TERSEMBUNYI
Model Markov Tersembunyi (Hidden Markov Model, MMT) telah banyak diaplikasikan dalam berbagai bidang seperti pelafalan bahasa (speech recognition) dan klasifikasi (clustering). Teori dasar mengenai MMT diperkenalkan oleh Baum dan kawan-kawan pada tahun 1960 an. Kemudian ketika era komputer mulai berkembang pada awal 1980 an, Rabiner, Juang dan kawan-kawan menerbitkan jurnal mengenai MMT pada pelafalan bahasa berbasiskan MMT. Pada model mereka, setiap saat ketika sebuah kata diucapkan, pada dasarnya akan membentuk barisan state. Setiap orang tentu memiliki pelafalan yang berbeda-beda sehingga sangat mungkin untuk mengenalinya melalui MMT.
Selanjutnya dari hasil penelitian-penelitian mereka, MMT menjadi semakin populer dan telah diaplikasikan dalam bidang seperti ekonomi, psikologi, dan ilmu politik. Dalam 10 tahun terakhir ini, MMT banyak dikembangkan untuk mempelajari susunan DNA. Data DNA sudah dapat didownload di Gen Bank.
Sebagai contoh dari MMT dapat dilihat pada kasus perubahan cuaca. Setiap hari mempunyai kemungkinan cuaca yaitu cerah atau tidak cerah. Kemudian diberikan hasil pengamatan cuaca sebanyak 30 data. Akan tetapi, orang tidak mengetahui apakah informasi ini berasal dari 30 hari pengamatan yang dilakukan setiap hari atau
pengamatan yang dilakukan selama 30 minggu. Hasil observasi dari pengamatan adalah cuaca cerah (disimbolkan dengan C) atau tidak cerah (disimbolkan T). Hasil observasinya ini (misal CTTTCCTCTCC..) dinamakan barisan observasi atau barisan data. Dalam MMT, tiap observasi secara parsial ditentukan oleh state saat ini. Barisan state ini tidak terlihat sehingga disebut hidden atau tersembunyi. Barisan state ini diasumsikan mengikuti rantai Markov yaitu state saat ini hanya bergantung pada state sebelumnya, seperti dijelaskan pada bab 2.
5.1 Definisi Model Markov Tersembunyi
MMT merupakan model yang melibatkan dua atau lebih barisan proses stokastik, yaitu barisan yang tidak terobservasi, {St} dan barisan yang terobservasi, O={Ot},
dengan t=1,2,..T dan T adalah banyaknya observasi. Barisan {St} mengikuti sifat
rantai Markov dengan matriks transisi ANxN =
( )
aij , aij =P S(
t+1 = j S| t = dan N i)
adalah banyaknya keadaan (tersembunyi). Keterkaitan antara {St} dan O dinyatakansecara fungsional melalui peluang bersyarat Ot, jika St ditetapkan, dan dinotasikan
sebagai matriks emisi B=b Oi
( )
k =P O(
t =k St =i)
, dengan b oi( k)≥0 dan1 1 K ik m b = =
∑
, untuk semua i.Dari definisi di atas, spesifikasi MMT melibatkan tiga parameter yaitu N, M, dan T dan tiga peluang parameter yaitu A, B, dan π, dengan π adalah distribusi peluang awal. Untuk menyederhanakan, digunakan notasi λ =
(
A B, ,π)
. Tiga masalah utama yang dihadapi pada MMT menurut Rabiner [8] adalah:1. Diberikan barisan observasi O=o o1 2… dan model oT λ =
(
A B, ,π)
.Bagaimana menghitung P O
(
|λ)
, peluang observasi jika diberikan model? 2. Diberikan barisan observasi O=o o1 2… dan model oT λ =(
A B, ,π)
.3. Diberikan barisan observasi O=o o1 2… Bagaimana menaksir parameter oT
(
A B, ,)
λ= π dari MMT?
Asumsi yang digunakan pada MMT memenuhi :
1. Rantai Markov orde 1, dengan peluang transisi dari satu keadaan ke keadaan lain hanya bergantung pada dua state dan saling bebas terhadap observasi yaitu
(
t 1 j | t i, t 1 it1,..., 1 i1)
(
t 1 j | t)
P Q s Q s Q s Q s P Q s Q s − + = = − = = = + = = i)
q (5.1) untuk semua i, j, t.2. Emisi yang saling bebas, peluang emisi pada saat t hanya bergantung pada keadaan saat t.
(
)
(
1 O|Q, | , T t t t P λ P O = =∏
(5.2)3. Waktu yang homogen, peluang transisi saling bebas terhadap waktu dengan
(
t 1 j | t i) (
u 1 j| u i)
P Q+ =s Q =s =P Q+ =s Q =s untuk ,t u≥1 (5.3)
Permasalahan pertama dapat diselesaikan dengan algoritma Forward dan algoritma Backward. Sedangkan algorimta Viterbi dapat digunakan untuk menyelesaikan permasalahan kedua. Untuk permasalahan ketiga, diselesaikan dengan Ekspektasi Maksimum dan algoritma Baum-Welch. Pada tugas akhir ini tidak dibahas mengenai metoda-metoda tersebut. Penjelasan lebih dalam dapat dilihat pada tesis Haryono [6].
5.2 Entropi pada Model Markov Tersembunyi
Setelah mengetahui definisi entropi dan MMT, pada sub bab ini akan dibahas mengenai penggunaan entropi dalam MMT. Entropi pada MMT digunakan untuk mencari barisan state yang optimal (permasalahan kedua pada MMT).
Untuk mempelajari lebih lanjut maka definisikan variabel-variabel berikut: 1. Ht
( )
j =H(
St−1 St = j O, t =ot)
)
, entropi dari barisan state menuju state j pada waktu t, diberikan observasi hingga waktu t.
2. , peluang berada di state j pada waktu t, diberikan observasi hingga waktu t.
( )
(
| t tt t
c j =P S = j O =o
( )
Ht j dapat dihitung secara rekursif menggunakan nilai yang diperoleh dari Ht−1
( )
i , . Diasumsikan berada di state j pada waktu t, maka barisan state (path) dapat dibagi menjadi dua, yaitu1 i≤ ≤N
1. Barisan state hingga waktu t-2, misal dinamakan X2.
2. Barisan state hingga waktu t-1, misal dinamakan X1.
Sehingga H
(
X X1, 2)
=H( )
X1 +H(
X2 X1)
. (5.4)1. Entropi dari X1, H(X1) berkaitan dengan P S
(
t−1 =i St = j)
dapat dihitungmelalui c kt
( )
, 1≤ ≤k N dan c l , 1 lt( )
≤ ≤ N2. Entropi H
(
X X2 1)
dihitung dari Ht−1( )
k , 1≤ ≤ , menggunakan k Npersamaan
(
)
( )
(
)
1 2 1 1 2 1 1 H H x X X P x X X χ ∈ =∑
= x .Bentuk rekursi ini dapat ditinjau sebagai berikut
( )
(
)
( )
( )
( )
( )
1 1 1 1 1 | N t ij j t t t i t t N N t ik k k i c i a b o c j P S j O o c i a b o − = − = = = = = =∑
∑∑
t (5.5)(
) (
)
(
)
(
)
(
)
(
) (
)
(
)
(
) (
)
(
)
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 , , , , , . , . t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t P S i S j O o P S i S j O o O o P S j O o S i O o P S i O o P S j O o O o P O o S j P S j S i P S i O o P O o S j P S j O o P S j S i P S i O o − − − − − − − − − − − − − − − − − − − − − − = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =(
)
(
)
(
)
( ) ( ) 1 1 1 1 1 1 1 1 1 N t t t t t k ij t N kj t k P S j S k P S k O o a c i a c k − − − − = − − = = = = = =∑
∑
(5.6)Kemudian entropi dari
( )
(
)
(
)
(
) (
)
1 2 1 2 1 1 H H , H , , H , H , , t t t t t t t t t t t t t t t t t t t j S S j O o S S S j O o S S j O o S S S j O o − − − − − − = = = = = = = = = + = = (5.7) dengan(
1)
(
1)
(
(
1)
)
1 H , , .log , N t t t t t t t t t t t t i S− S j O o P S− S j O o P S− S j O o = ⎡ ⎤ = = = − ⎢ = = = = ⎥ ⎣ ⎦∑
(5.8) dan(
)
(
) (
)
(
)
( )
2 2 1 1 1 1 1 1 1 H , , , .H , , , .H N t t t t t t t t t t t t t i N t t t t t i S S S j O o P S i S j O o S S S j O o P S i S j O o i − − − − − = − − = t ⎡ ⎤ = = = ⎣ = = = = = ⎦ ⎡ ⎤ = ⎣ = = = ⎦∑
∑
(5.9)Jadi, entropi dari barisan state hingga t-2, diberkan state hingga t-1 dan observasi sampai t-1, saling bebas secara bersyarat dengan state dan observasi hingga t,
(
2)
( )
1
Dengan menggunakan sifat dasar dari entropi dapat dihitung,
(
) (
) (
)
( ) ( )
( )
(
( )
)
1 1 1 H H , H H log T T T T T T T T T T N N T T T T i i S O o S S O o S O o i c i c i c i − = = = = = + = =∑
−∑
(5.11)Algoritma secara umum
1. Inisiasi. Untuk 1≤ ≤j N,
( )
1 H j = 0( )
( ) ( )
( ) ( )
1 1 1 1 j N i i j b o c j i b o π π = =∑
(5.12)Pada tahap insiasi, entropi awal dan peluang berada di state j pada t=1 ditetapkan nol, agar langkah selanjutnya yaitu rekursi dapat berjalan karena algoritma ini bergerak maju (forward).
2. Rekursi. Untuk 1≤ ≤j N; 2≤ ≤ , t T
( )
(
)
( )
( )
( )
( )
1 1 1 1 1 | N t ij j t t t i t t N N t ik k k i c i a b o c j P S j O o c i a b o − = − = = = = = =∑
∑∑
t (5.13)(
)
( )
( )
1 1 1 1 , t t ij t t t N kj t k a c i P S i S j O o a c k − − − = = = = =∑
(5.14)( )
( )
(
)
(
)
(
(
)
)
1 1 1 1 1 1 H H , , .log , N t t t t t t i N t t t t t t t t i j i P S i S j O o P S S j O o P S S j O o − − = − − = = = = = ⎡ ⎤ − ⎢⎣ = = = = ⎥⎦∑
∑
(5.15) 3. Penghentian.(
)
( ) ( )
( )
(
( )
)
1 1 H H lo N N T T T T T T T i i S O o i c i c i c i = = = =∑
−∑
g (5.16)Contoh 5.1
Agar dapat memahami lebih lanjut, ditinjau contoh kasus sebagai berikut yang merupakan modifikasi contoh dari Hernando dan Crespi [7]. Misalkan terdapat lima keadaan yang masing-masing dilambangkan dengan angka 1, 2, 3, 4, dan 5. Pada kasus ini, matriks transisi, matriks emisi dan distribusi peluang awal ditetapkan yaitu
0 0.5 0 0.5 0 0 0.5 0.5 0 0 0 0.5 0.5 0 0 0 0 0 0.5 0.5 0 0 0 0 1.0 ⎛ ⎞ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ , , 1.0 0 0 0 0 0.5 0.5 0 0 0 0 0.5 0.5 0 0 0 0.5 0 0.5 0 0 0 0 0 1.0 ⎛ ⎞ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠
(
1.0 0 0 0 0)
dengan diagram transisinya dapat digambarkan sebagai :
Gambar 5.1 : Diagram transisi contoh 5.1
Gambar diagram transisi di atas dapat dibaca sebagai berikut. Misalkan berada di keadaan 1 maka peluang pindah ke keadaan ke 2 atau 3 setelah satu langkah adalah 0,5. Begitu pula apabila berada di keadaan 2 maka peluang untuk pindah ke keadaan 3 atau tetap berada di keadaan 2 adalah 0,5. Demikian pula jika berada di keadaan 3, 4 atau 5.
Untuk kasus di atas, penulis menetapkan A0 dan B0. Tetapi dalam kenyataan, tidak
semudah ini. Ada dua alternatif yang digunakan dalam menentukan A0 dan B0 yaitu
1. Jika ada penelitian sebelumnya yang serupa maka hasil perhitungan A dan B bisa dijadikan A0 dan B0,
2. Jika tidak ada informasi apa pun, tentukan nilai peluang dari A0 dan B0 sama.
Kembali ke contoh 5.1, akan digunakan tahap-tahap dalam algoritma yaitu 1. Inisiasi. Untuk 1≤ ≤j 5, maka persamaan (5.12) menjadi
( )
( ) ( )
( ) ( ) ( ) (
) (
) (
) (
)
1 1 5 1 1 1 1 1 1 1 1 1 0 0, 5 0 0 0 0 0 0 1 i i b c i b π π = × = = × + × + × + × + ×∑
= , 0( )
( ) ( )
( ) ( ) ( ) (
) (
) (
) (
)
2 1 5 1 2 1 0 0, 5 2 0 1 1 0 0, 5 0 0 0 0 0 0 1 i i b c i b π π = × = = × + × + × + × + ×∑
=( )
( ) ( )
( ) ( ) ( ) (
) (
) (
) (
)
3 1 5 1 3 1 0 0 3 0 1 1 0 0, 5 0 0 0 0 0 0 1 i i b c i b π π = × = = × + × + × + × + ×∑
=( )
( ) ( )
( ) ( ) ( ) (
) (
) (
) (
)
4 1 5 1 4 1 0 0 4 0 1 1 0 0, 5 0 0 0 0 0 0 1 i i b c i b π π = × = = × + × + × + × + ×∑
=( )
( ) ( )
( ) ( ) ( ) (
) (
) (
) (
)
5 1 5 1 5 1 0 0 5 0 1 1 0 0, 5 0 0 0 0 0 0 1 i i b c i b π π = × = = × + × + × + × + ×∑
= state (j) H1(j) c1(j) 1 0 1,0 2 0 0 3 0 0 4 0 0 5 0 02. Rekursi. Untuk 1≤ ≤j 5; 2≤ ≤ , t 5
Untuk t=2 maka bentuk persamaan (5.13) menjadi
( )
(
)
( ) ( ) ( ) ( ) 5 1 1 1 2 2 1 2 2 5 5 1 1 1 2 1 1| 2 i i ik k k i c i a b c P S O o c i a b = = = = = = =∑
∑∑
( ) ( ) ( ) ( ) ( ) ( ) ( ){
}
{
( ) ( )}
{
( ) ( )}
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ... 0 0 0 1 0, 5 0, 5 ... 0 0 0, 5 ... 1 0 0 ... 0 1 0 × × + × × + × × + × × + × × = × × + + × × + × × + + × × + + × × + + × × = 0Demikian pula untuk c2
( )
2 , c2( )
3 , c2( )
4 , dan c2( )
5 . Sedangkan untuk menghitung entropi pada t=2 di setiap state, dihitung terlebih dahulupersamaan (5.14) lalu menghitung entropi di persamaan (5.15) yaitu Untuk state 1,
( )
( )
(
)
(
)
(
(
)
)
5 2 2 2 1 1 2 1 5 2 2 2 2 1 2 1 2 1 H 1 H 1, 1, .log 1, i i i P S i S O o P S S O o P S S O o = = = = = = ⎡ ⎤ − ⎢⎣ = = = = ⎥⎦∑
∑
( )
( )
( )
( )
( )
( )
( )
5 5 1 1 1 1 5 5 5 1 1 1 1 1 1 1 H ij ij .log ij i i kj kj kj k k k a c i a c i a c i i a c k a c k a c k = = = = = 1 ⎡ ⎛ ⎞⎤ ⎢ ⎜ ⎟⎥ ⎢ ⎜ ⎟⎥ = − ⎢ ⎜ ⎟⎥ ⎜ ⎟ ⎢ ⎝ ⎠⎥ ⎣ ⎦∑
∑
∑
∑
∑
= 0Cara yang sama dipakai untuk state 2, 3, 4, dan 5 sehingga
state (j) c2(j) H2(j) state (j) c3(j) H3(j) 1 0 0 1 0 0 2 0,5 0 2 1/3 0 3 0 0 3 1/3 0 4 0,5 0 4 1/3 0 5 0 0 5 0 0
state (j) c4(j) H4(j) state (j) c5(j) H5(j) 1 0 0 1 0 0 2 0,4 1 2 0 2 3 0,4 1 3 0 2 4 0,2 0 4 0 0 5 0 0 5 1 0
Tabel 5.5 : Tahap rekursi untuk t=4 Tabel 5.6 : Tahap rekursi untuk t=5
Keempat tabel di atas dapat disederhanakan menjadi tabel 5.6. Sedangkan proses penghentian dari algoritma ini adalah
(
5 5 5)
5( ) ( )
5( )
(
( )
)
5 5 5 5 1 1 H H lo i i S O o i c i c i c i = = = =∑
−∑
g Obs State O1=1 O2=2 O3=2 O4=2 O5=5 H1(1)=0 H2(1)=0 H3(1)=0 H4(1)=0 H5(1)=0 1 c1(1)=1 c2(1)=0 c3(1)=0 c4(1)=0 c5(1)=0 H1(2)=0 H2(2)=0 H3(2)=0 H4(2)=1 H5(2)=2 2 c1(2)=0 c2(2)=0,5 c3(2)=1/3 c4(2)=0.4 c5(2)=0 H1(3)=0 H2(3)=0 H3(3)=0 H4(3)=1 H5(3)=2 3 c1(3)=0 c2(3)=0 c3(3)=1/3 c4(3)=0,4 c5(3)=0 H1(4)=0 H2(4)=0 H3(4)=0 H4(4)=0 H5(4)=0 4 c1(4)=0 c2(4)=0,5 c3(4)=1/3 c4(4)=0,2 c5(4)=0 H1(5)=0 H2(5)=0 H3(5)=0 H4(5)=0 H5(5)=0 5 c1(5)=0 c2(5)=0 c3(5)=0 c4(5)=0 c5(5)=1 Entropi H1=0 H2=1 H3=1,59 H4=2,32 H5=0Untuk menghitung entropi dalam MMT ini, dipakai basis 2. Lalu, dalam menjalankan iterasi diperlukan entropi total untuk setiap Ot=i, i=1,2,3.4.5. Untuk kasus ini, entropi
total tersebut dicantumkan pada baris terakhir di tabel 5.6. Entropi total dari tiap langkah observasi ditampilkan pada baris terakhir dari tabel di atas, dengan mengambil 2 sebagai basis logartimanya. Sebagai contoh, setelah menerima observasi ke dua, terdapat dua kemungkinan barisan state yang menghasilkan o2=(1,2) yaitu s2=(1,2) dan s2=(1,4), masing-masing dengan peluang 0,5 sehingga entropi total observasi kedua adalah H2=1. Selanjutnya, setelah semua observaasi diterima, dapat
dilihat bahwa barisan state yang mungkin untuk observasi di atas adalah s5=(1,4,4,4,5), karena tidak ada barisan lain yang menghasilkan o5. Oleh karena itu, barisan state tersebut mempunyai peluang 1 ketika t=5 dan entropi H5=0.
Contoh 5.2
Sebagai contoh lain, dimisalkan seseorang ingin memperkirakan keadaan cuaca dari perilaku ganggang laut (sumber: Applications of Hidden Markov Models (HMMs) to Computational Biology problems, dengan perbaikan)
Pada kasus ini, state yang terobservasi adalah keadaan dari ganggang laut, sedangkan state yang tersembunyi (hidden) adalah keadaan cuaca. Matriks peluang transisi, emisi, dan distribusi peluang awal dari keadaan ini direpresentasikan oleh
cuaca hari ini cerah berawan hujan
cerah 0,5 0,25 0,25 cuaca kemarin berawan 0,375 0,125 0,5 hujan 0,125 0,625 0,25 ⎛ ⎞ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ ganggang laut
kering agak kering lembab basah
cerah 0,60 0,20 0,15 0,05 cuaca berawan 0,25 0,25 0,25 0,25 hujan 0,05 0,10 0,35 0,50 ⎛ ⎞ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠
(
)
cerah berawan hujan 1, 0 0 0
π =
Kemudian ingin dicari barisan cuaca yang paling optimal yang terjadi, maka dengan menggunakan algoritma untuk mencari entropi yang telah dijelaskan di atas, diperoleh Obs State O1=1 O2=2 O3=3 O4=2 O5=4 H1(1)=0 H2(1)=0 H3(1)=0 H4(1)=0 H5(1)=0 1 C1(1)= 0,66667 C2(1)= 0,51918 C3(1)=0,2573 C4(1)= 0,35832 C51)= 0,0729 H1(2)=0 H2(2)=0 H3(2)=0 H4(2)=0 H5(2)=0 2 C1(2)= 0,13889 C2(2)= 0,31964 C3(2)= 0,24703 C4(2)= 0,44448 C5(2)= 0,2158 H1(3)=0 H2(3)=0 H3(3)=0 H4(3)=0 H5(3)=0 3 C1(3)= 0,01852 C2(3)= 0,16118 C3(3)= 0,49567 C4(3)= 0,1972 C5(3)= 0,7113
Dari tabel 5.2 dapat diambil kesimpulan sementara bahwa barisan yang optimal dari Model Markov Tersembunyi di atas adalah s=(1,1,3,2,3). Akan tetapi perlu untuk didalami lebih lanjut serta perbandingannya dengan algoritma Viterbi yang telah dikenal dalam menyelesaikan permasalahan ini.