Anda di halaman 1dari 14

HiddenMarkovModel

Oleh:
Firdaniza,NurulGusrianidanAkmal

DosenJurusanMatematikaFMIPAUniversitasPadjadjaran
Jl.RayaBandungSumedangKm21,Jatinangor,JawaBarat
Telp./Fax:0227794696

Abstrak

Hidden Markov Model (HMM) adalah peluasan dari rantai Markov di mana statenya
tidak dapat diamati secara langsung (tersembunyi), tetapi hanya dapat diobservasi melalui
suatu himpunan pengamatan lain. Pada HMM terdapat tiga permasalahan mendasar yang
harusdiselesaikanyaknievaluationproblem,decodingproblem,danlearningproblem.

Dalampaperini,akandijelaskantentangHiddenMarkovModel(HMM)dansolusidari
ketiga masalah mendasar dalam HMM tersebut, yakni evaluation problem dengan algoritma
forward,decodingproblemdenganalgoritmaviterbi,danlearningproblemdenganalgoritma
BaumWelch.
Katakunci:HiddenMarkovModel,evaluationproblem,decodingproblem,learningproblem

1. Pendahuluan
Proses stokastik adalah keluarga peubah acak { X t , t T } , T disebut
himpunan parameter. Himpunan nilai nilai yang mungkin dari X t disebut
RuangState.
Prosesstokastikdenganruangstate(keadaan)diskrit,sertamempunyaisifatdi
manastatesaatinihanyatergantungpadastatesebelumnyadanbebasdari
historiyanglaludisebutdenganrantaimarkov.
Pada rantai Markov setiap state dapat diamati secara langsung. Seperti
kasuscuaca,keadaancuacaesokharidapatkitaprediksimelaluikeadaancuaca
hariini.Andaikancuacadikelompokkanmenjaditiga(cerah,hujan,berawan),
maka dengan diberikan peluang perubahan cuaca, kita dapat menentukan
peluang cuaca esok hari dan beberapa hari berikutnya. Akan tetapi bila
seseorangberadadalamruangtertutupdandiatidakmengetahuicuacadiluar,
kemudian dia disuruh menebak keadaan cuaca esok hari. Dalam hal ini state
cuaca tidak dapat diamati secara langsung, namun pengamatan dapat
Dipresentasikan dalam Seminar Nasional Matematika dan Pendidikan Matematika 2006 dengan tema
Trend Penelitian dan Pembelajaran Matematika di Era ICT yang diselenggarakan pada tanggal
24 Nopember 2006

Firdaniza, Nurul G, Akmal

dilakukannya dengan memperhatikan apakah orang masuk ke ruangan


tersebut membawa payung atau tidak. Kasus ini dapat dimodelkan sebagai
HiddenMarkovModel(HMM).
Pada paper ini akan diberikan ulasan tentang HMM dan tiga masalah
mendasar yang ada dalam HMM beserta solusinya, yakni Evaluation problem,

Decodingproblem,

Learningproblem.
HMM ini bermanfaat dalam menyelesaikan kasuskasus dimana
pengamatantidak
dapat dilakukan terhadap suatu state, tetapi kita dapat menentukan
peluang proses berada dalam stste tertentu. Pembahasan pada paper ini
dibatasihanyapadapengamatandiskritsaja.

2.MetodePenelitian
Pertamatamadilakukankajianulangtentangrantaimarkovdiskrit,agar
dapat memberi gambaran tentang HMM, kemudian dipelajari tentang Teori
Hidden Markov Model (HMM). Untuk lebih jelasnya diberikan suatu contoh.
Kemudian dibahas tiga masalah mendasar dalam HMM, yakni evaluation
problem, decoding problem, dan learning problem. Untuk evaluation problem
diselesaikan dengan Algoritma Forward , untuk memecahkan decoding problem
digunakanAlgoritmaViterbi,sertauntuklearningproblemdigunakanalgorithm
BaumWelch.Sebagaigambaran,diberikanstudikasustentangmasalahcuaca.

3.Pembahasan
3.1RantaiMarkovDiskrit

Misalkan {Qt , t = 0,1,2,3,...} adalah proses stokastik parameter (waktu)

diskritdenganruangstate {s1 , s 2 , s3 ,...} .

202

SEMNAS Matematika dan Pend. Matematika 2006

M 1 : Hidden Markov Model

Jika P(Qt +1 = s j | Q0 = si0 , Qi1 = si1 ,..., Qt = si )


= P (Qt +1 = s j | Qt = s i )
= a ij

(1)
maka proses disebut rantai markov waktu diskrit dan a ij disebut peluang
transisi dari state si ke state sj. Apabila a ij tidak tergantung pada n maka a ij
disebut peluang transisi stasioner. Matriks A = aij , dengan

a
j =0

= 1 disebut

ij

matrikspeluangtransisi.

Denganmengetahuidistribusiinisialdanpeluangtransisi,suaturantaimarkov
dapatdikenalisecaralengkap,sepertiterlihatpadapersamaanberikut
P (Q0 = s i0 , Q1 = s i1 ,..., Qt = s it )

= P(Qt = sit | Q0 = si0 ,...,Qt 1 = sit 1 ) . P (Q0 = s i0 ,..., Qt 1 = s it 1 )


= P (Qt = s it | Qt 1 = s it 1 ) . P (Q0 = s i0 ,..., Qt 1 = s it 1 )
= a it 1it P (Q0 = s i0 ,..., Qt 1 = s it 1 )
=......
= a it 1it a it 2it 1 ...a i0i1 P (Q0 = i0 )

(2)
P(Q0 = i0 ) disebut peluang inisial . (0) = ( 0 (0),1 (0),....)dimana j (0) = P(Q0 = sj )
disebutdistribusiinisial.Sebagaigambaran,perhatikancontohberikut:
Contoh1
Misalkan cuaca dalam satu hari dapat dikelompokkan menjadi cerah,
hujan, dan berawan. Perubahan cuaca dalam hari yang berurutan dinyatakan
dalampeluangpadatabelberikut:

Matematika

203

Firdaniza, Nurul G, Akmal

Cuacahariini

Cuacabesok
cerah

hujan

berawan

cerah

0.8

0.05

0.15

hujan

0.2

0.6

0.2

berawan

0.2

0.3

0.5

Tabel1.Peluangperubahancuacapadahariyangberurutan

Jikacuacapadaharipertama(t=1)adalahcerah,berapapeluangcuacapada5
hariberikutnyacerahhujanberawanhujanhujan.
Jawab:MisalkanState1( s1 ):cerah,state2( s2 ):hujan,state3( s 3 ):berawan.
Denganmenggunakanpersamaan(2)diperoleh:
P(Q0 = s1,Q1 = s1,Q2 = s2,Q3 = s3,Q4 = s2,Q5 = s2)
= P(Q0 = s1)P(Q1 = s1 | Q0 = s1)P(Q2 = s2 | Q1 = s1)P(Q3 = s3 | Q2 = s2)P(Q4 = s2 | Q3 = s3)P(Q5 = s2 | Q4 = s2)
= 1 (0).a11 .a12 .a 23 .a 32 a 22
=(1)(0.8)(0.05)(0,2)(0,3)(0,6)=0,00144
3.2HiddenMarkovModel

Dari contoh 1 di atas terlihat bahwa state (cuaca) dapat diamati secara

langsung. Akan tetapi, jika seseorang dikunci dalam satu ruangan tertutup
sehingga dia tidak dapat mengetahui keadaan cuaca diluar, kemudian orang
tersebut disuruh menerka keadaan cuaca, maka pengamatan yang dapat
dilakukan hanyalah dengan melihat apakah orang yang masuk ke ruangan
terkunci tersebut membawa payung atau tidak. Masalah seperti ini dapat
dimodelkandalambentukHiddenMarkovModel(HMM).
ElemenelemendariHMMadalah:
1. N, yaitu jumlah state, dengan ruang state S = {s1 , s2 ,..., sN } dan state pada
waktutdinyatakandengan Qt .Untukkasusdiatasadalahkeadaancuaca.

204

SEMNAS Matematika dan Pend. Matematika 2006

M 1 : Hidden Markov Model

2. M,yaitujumlahpengamatan(observasi)tiapstate,denganruangobservasi
V = {v1 , v2 ,..., vM } , untuk kasus di atas, orang datang membawa payung atau

tidakmembawapayung.
3. A = aij ,yaitumatrikspeluangtransisi.
4. B = b j m , yaitu matriks peluang bersyarat observasi vm jika proses berada
padastatej,dimana:
b j m = b j ( Ot ) = P ( Ot = vm Qt = s j ) , 1 j N dan 1 m M .
(3)
5. i yaitudistribusistateawal.
SehinggaHiddenMarkovModeldapatdituliskandalamnotasi = ( A, B, ) .Jika
diberikan N, M, A, B, dan , HMM dapat digunakan sebagai pembangkit
barisanobservasi: O = O1 , O2 , O3 , ... , OT
Jika seseorang dikurung dalam ruangan tertutup dan ia tidak mengetahui
keadaancuacadiluar.Peluangcuacapadahariket ( Qt ) ,dengankemungkinan

{s1 =cerah, s2 =hujan, s3 = berawan} hanya bisa diperoleh berdasarkan observasi


Ot ,dengan Ot = membawa payung atau Ot = tidak membawa payung .
Untukmenyimpulkancuacadiluarberdasarkanobservasibahwaorang
masuk membawa payung atau tidak, digunakan ukuran untuk peluang, yang
disebutkemungkinan(L):

L Q1 = si1 ,..., QT = siT O1 = vm1 ,..., OT = vmT


T

) (

= P Ot = vmt Qt = sit P Q1 = si1 P Qt = sit Qt 1 = sit 1 (4)


t =1

t =2

3.3TigaMasalahDasarHMM

Agar HMM dapat diaplikasikan ke berbagai masalah nyata, ada tiga

masalahmendasardalamHMMyangharusdiselesaikan,yakni:

Matematika

205

Firdaniza, Nurul G, Akmal

a.Evaluationproblem
yakniakandicari P ( O ) ataupeluangdaribarisanobservasi

O = O1 = vm1 , O2 = vm2 ,..., OT = vmT jikadiberikanHMM; = ( A, B, ) .

Peluang ini dapat ditentukan secara induksi dengan menggunakan algoritma


forward.
Definisikanvariabelforward t (i ) :

t (i ) = P ( O1 = vm ,..., Ot = vm , Qt = si )

(5)
yaitu peluang barisan observasi O1 , O2 ,..., Ot dan state si pada waktu t jika
diberikan .
Secarainduktif P ( O ) dapatdihitungsebagaiberikut:
(i)Inisialisasi
1 ( i ) = i bi ( O1 )

1 i N

,1 t T 1 1 j N

(6)
(ii)Induksi

t +1 ( j ) = t ( i ) aij b j ( Ot +1 )
i =1

(7)
N

(iii)Akhir; P ( O ) = T ( i )

i =1

(8)
b.Decodingproblem
Akan dicari barisan state yang optimal Q* = {Q*1 , Q*2 ,..., Q*T } jika diberikan
barisanobservasi O = {O1 , O2 ,..., OT } danmodel = ( A, B, ) .Barisanstateterbaikyang
akan ditentukan yaitu berupa lintasan tunggal yang terhubung dari t = 1, 2,..., T .

206

SEMNAS Matematika dan Pend. Matematika 2006

M 1 : Hidden Markov Model

Seperti yang terlihat pada gambar 1, begitu banyak lintasan tunggal yang
mungkin.Kemudianakandipilihsatulintasantunggalyangmemilikipeluang
tertinggidiantarasemualintasanyangmungkin.

state
s1

s2

s3

K
M

sN

t = 2

t =1

t =3

t =T

waktu

Gambar1.Barisanstate(lintasan)yangmungkin
untuk 1 i N dan 1 t T

UntukmenyelesaikandecodingprobleminidigunakanalgoritmaViterbi.
DalamalgoritmaViterbidigunakanduavariabelbantu,yaitu:
1. t ( i ) = max P ( Q1 = si ,..., Qt = si , O1 = vm ,..., Ot = vm )
Q1 ,Q2 ,...,Qt 1

Denganinduksidiperoleh:

t +1 ( j ) = max t ( i ) aij b j ( Ot +1 )
1 i N

2 t ( i ) = arg max P ( Q1 = si ,..., Qt = si , O1 = vm ,..., Ot = vm )


Q1 ,Q2 ,...,Qt 1

Langkahlangkah dalam algoritma Viterbi untuk menentukan barisan


stateterbaikyaitu:
1. Inisialisasi

1 ( i ) = i bi ( O1 ) ,

1 i N

(9)

Matematika

207

Firdaniza, Nurul G, Akmal

1 ( i ) = 0

(10)
2. Rekursi

t ( j ) = max t 1 ( i ) aij b j ( Ot ) ,

1i N

2 t T ,

1 j N

(11)

t ( j ) = arg max t 1 ( i ) aij ,

1 i N

2 t T ,

1 j N

(12)
3. StateterbaikpadawaktuT ( QT )
P* = max T ( i )
1 i N

(13)
Q*T = arg max T ( i )
1i N
(14)
4. Barisanstateterbaikpada t = T 1, T 2,...,1

Q*t = t +1 ( Q *t +1 ) , t = T 1, T 2,...,1 (15)

c.Learningproblem

Jika diberikan sebuah HMM, dan barisan observasi O = O1 , O2 , ... , OT ,

bagaimanamengaturparametermodel = ( A, B, ) agar P( O | ) maksimum.

UntukmenyelesaikanmasalahinidigunakanAlgoritmaBaumWelch.

Dalam algoritma BaumWelch, didefinisikan empat variabel, yaitu : variabel


forward, variabel backward, variabel t (i, j ) , danvariabel t (i ) .Variabel forward
danvariabelbackwardakandigunakandalamperhitunganvariabel t (i, j ) dan
variabel t (i ) .

Variabel pertama, variabel forward telah didefinisikan pada persamaan

(5),sertatahapaninduksidiberikanolehpersamaan(6)(8).

208

Variabelkedua,yaknivariabelbackwarddidefinisikansebagai,

SEMNAS Matematika dan Pend. Matematika 2006

M 1 : Hidden Markov Model

t (i ) = P(Ot +1 , Ot + 2 ,..., OT | Qt = si , )

(16)
yaitu, peluang dari barisan observasi parsial Ot +1 , Ot + 2 ,..., OT , diberikan state si
pada waktu t dan model . Selanjutnya, t (i ) dapat diselesaikan secara
induksisebagaiberikut:
1.Inisialisasi

T (i) = 1,

1 i N

(17)
2.Induksi
N

t (i ) = aij b j (Ot +1 ) t +1 ( j ), t = T 1, T 2,...,1, 1 i N


j =1

(18)

Variabelketiga,yaknivariabel t (i, j ) didefinisikansebagai,

t (i, j ) = P(Qt = si , Qt +1 = s j | O, )

(19)
yaitu,peluangprosespadasaattberadapadastatesidanpadasaatt+1berada
padastatesj,jikadiberikanbarisan O danmodel .
Persamaan(19)dapatditulis

t (i, j ) =

P (Qt = si , Qt +1 = s j , O | )
P (O | )

(20)
ataudapatdiekspresikandenganvariabelforwardbackwardsebagai

t (i, j ) =

t (i ). t +1 ( j ).b j (Ot +1 ).aij


N

(i).a .b (O
i =1 j =1

ij

t +1

).t +1 ( j )

(21)

Variabelkeempat,yaknivariabel t (i ) didefinisikansebagai:

Matematika

209

Firdaniza, Nurul G, Akmal

t (i ) = P(Qt = si | O, )

(22)
yaitu,peluangprosesberadapadastate si saatwaktut,jikadiberikanbarisan
observasi O , dan model . Persamaan (22) dapat diekspresikan dengan
variabelforwardbackwardsebagaiberikut,
t (i ) =

t (i ). t (i)
N

(i). (i)
i =1

(23)
Peluangprosesberadapadastatesisaatt,jikadiberikanbarisanpengamatanO,
N

t (i ) = t (i, j )

j =1

(24)
Sehingga,
T 1

(i) = Ekspektasi jumlah transisi dari s


t =1

(25)
Sama halnya, jika t (i, j ) dijumlahkan atas indeks waktu t (dari t = 1 ke
t = T 1 ) dapat diartikan sebagai perkiraan banyaknya transisi dari state si ke

state s j .Jadi,
T 1

(i, j ) = Ekspektasi jumlah transisi dari s ke s


t =1

(26)

Denganmenggunakanpersamaan(25)dan(26)diatas,makadiperoleh

rumusreestimasisebagaiberikut:

i = Ekspektasifrekuensidalamstate si ketika t = 1

= 1 (i ),

1 i N

(27)

210

SEMNAS Matematika dan Pend. Matematika 2006

M 1 : Hidden Markov Model

Ekspektasi jumlah transisi dari state si ke state s j

a ij =

Ekspektasi jumlah transisi dari state si

T 1

(i, j )

t =1
T 1

1 i N, 1 j N

(i)

(28)

t =1

b j (k ) =

Ekspektasi lamanya dalam state j dan simbol pengamatannya vk

Ekspektasi lamanya dalam state j

( j)
=

t
t =1
s.t Ot = vk
T

( j)

1 j N, 1 k M

t =1

(29)
Persamaan (27) sampai (29) dikenal dengan rumus reestimasi, yang dapat
memperbaharui (mengatur kembali) parameter model = ( A, B, ) . Aspek
yang sangat penting dari prosedur reestimasi adalah batasan stokastik
parameterHMMyangselaludipenuhipadasetiapiterasi,yakni:
N

= 1

(30)

= 1 , 1 i N

(31)

(32)

i =1
N

a
j =1

ij

b (k ) = 1
k =1

, 1 j N

Jika model awal adalah = ( A, B, ) dan proses dilaksanakan sehingga


diperoleh taksiran parameter = ( A , B , ) . Maka dengan algoritma Baum
Welchtadidiperoleh lebihoptimaldibandingkandengan dalamartian

P (O | ) > P(O | ) , yaitu diperoleh model baru sehingga barisan


pengamatan lebih mirip untuk dihasilkan. Jika proses tersebut dilakukan
berulangulang sampai dipenuhinya syarat tertentu maka peluang barisan

Matematika

211

Firdaniza, Nurul G, Akmal

pengamatandapat di observasidarimodel dapat ditingkatkan. Langkahyang


dilakukandiatasadalahAlgoritmaBaumWelch.
3.4StudiKasus
Misalkanseseorangdikurungdidalamruangantertutupselamabeberapahari,
dan tidak mengetahui cuaca yang sedang terjadi di luar. Jika ia diminta
menebak keadaan cuaca di luar, maka pengamatan yang ia lakukan adalah
dengan melihat apakah orang yang datang ke ruangan tersebut membawa
payungatautidak.Asumsikankeadaancuaca;cerah,hujan
danberawan.
0,8 0, 05 0,15
Andaikandiberikanmatrikspeluangtransisi A = aij = 0, 2 0, 6 0, 2 dan
0, 2 0,3 0,5
0,1 0,9
matrikspeluangobservasi B = b j m = 0,8 0, 2 .
0,3 0, 7

Bagaimanabarisancuacayangpalingmungkinuntuktigaharipertama?
DenganmenggunakanalgoritmaViterbi(matlab),diperoleh
Q(1)=3
Q(2)=2
Q(3)=2

sepertidigambarkanolehgambar2.

212

SEMNAS Matematika dan Pend. Matematika 2006

M 1 : Hidden Markov Model

state

cerah

3 (1) = 0, 0019

hujan

3 ( 2 ) = 0, 0269

berawan

3 ( 3) = 0, 0052

t =1

t=2

t =3

waktu

Gambar2Barisanstateterbaikuntukkasus1
Artinya,barisancuacayangpalingmungkinuntuktigahariberturutturut
adalah
berawan,hujan,hujan.

4.Kesimpulandansaran

Daripembahasandiatas,dapatdisimpulkan:

1. Hidden Markov Model merupakan perluasan dari Rantai Markov Waktu


diskrit,dimanastatetidakdapatdiamatisecaralangsung.
2.UntukmenyelesaikanevaluationproblemdalamHMM,yaknimencari
P ( O ) ataupeluangdaribarisanobservasi,dapatdigunakanalgoritma
forward.
3. Untuk menyelesaikan decoding problem pada HMM, yakni mencari barisan
state yang optimal Q* = {Q*1 , Q*2 ,..., Q*T } jika diberikan barisan observasi
O = {O1 , O2 ,..., OT } danmodel = ( A, B, ) dapatmenggunakanalgoritmaViterbi.

Matematika

213

Firdaniza, Nurul G, Akmal

4.UntukmenyelesaikanlearningproblempadaHMMyaknimengaturparameter
model = ( A, B, ) sehingga P(O | ) maksimum, dapat menggunakan
algoritmaBaumWelch.
5. Konsep HMM dapat digunakan dalam berbagai masalah nyata, dalam hal
ingin mengetahui peluang suatu proses berada dalam keadaan tertentu,
sementara statenya tidak dapat diamati secara langsung, seperti, kasus
cuaca dengan orang terkurung, pengenalan pola, pengenalan suara,
pengenalanDNA,danlainlain.
6.DapatdilakukanstudilanjutHMMuntukwaktukontinu.

5.DaftarPustaka

[1]Abdulla,W.H.andKasabov,N.K.,1999.TheConceptsofHiddenMarkov
ModelinSpeechRecognition,TechnicalReportTR99/09,NewZealand.

[2]BarbaraResch.HiddenMarkovModels,AtutorialforCourse
ComputationalIntelligence.http://www.igi.tugraz.at/lehre/CI.diakses20
Januari2006.

[3]Jedlik.phy.bme.hu/~gerjanos/HMM/node4.html

[4]Osaki,Sunji.,1992.AppliedStochasticSystemModeling.Springer
Verlag,Newyork.

[5]Rabiner,L.R.,1989.AtutorialonHiddenMarkovModelsandSelected
AplicationsinSpeechRecognition,ProceedingsofTheIEEE,Vol.77,no.2.
pp.257286.

[6]Ross,S.M.,1996.StochasticProcesses,secondedition,JohnWileyand
Sons,NewYork.

[7]Young,S.etc.,2002.HMMToolkit(HTK)Book(forversion3.2.1).
CambridgeUniversityEngineeringDepartement.

214

SEMNAS Matematika dan Pend. Matematika 2006

Anda mungkin juga menyukai