diskr etie sl eptie markoav model i un to pielietojumihome.lu.lv/~valeinis/lv/studentu...

42

Upload: others

Post on 01-Mar-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

LATVIJAS UNIVERSITATE

FIZIKAS UN MATEMATIKAS FAKULTATE

MATEMATIKAS NODAL�A

DISKRETIE SLEPTIE MARKOVA MODEL�I UN TOPIELIETOJUMI

BAKALAURA DARBS

Autors: Marti�n² Egl�tis

Stud. apl. me08032

Darba vad�tajs: doc. Dr.math. Janis Valeinis

R�ga 2012

Page 2: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

Anotacija

�aja darba tiks apskat�ti musdienas lielu noz�m�bu un iever�bu ieguvu²ie sleptie Mar-

kova model�i (SMM), kurus pla²i izmanto teksta un runas atpaz�²ana, genu inºenierija, u.c.

Neliels ieskats vesture iepaz�stinas ar to izveides celo�niem un sakotnejo pielietojumu, ka

ar� ar algoritmu aizsakumiem. Markova procesi un pseido piemeri izveidos pamatus slepto

Markova model�u teorijai, tiks aprakst�tas tr�s SMM pamatproblemas. Detalizetaka pa-

matproblemu un to risina²anas algoritmu izpetei bija nepiecie²ams izveidot programmu.

Visbeidzot tiks apskat�ti ar� praktiski piemeri, kas uzskatami parad�s SMM noz�m�gumu

realas dz�ves situacijas.

Atslegvardi: Sleptie Markova model�i (SMM), SMM Forward, Backward, Viterbi,

Baum-Welch algoritmi, SMM pielietojuma piemeri.

Page 3: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

Anotation

This work deals with important and noticable Hidden Markov Models (HMM) that

are widely used in text and speech recognition, gene engeneering, e.t.c. A short insight

into history will reveal the reasons for using HMM and the primary use as well as "cradle"

of alghoritms underlying them. Markov process and pseudo examples will set the funda-

ments of the theory of Hidden Markov models; three basic problems will be formulated.

More detailed research of the basic problems and alghorithms inspired me to write a script

for solving them. Finally, real life examples are presented to focus the revelance of using

HMM.

Keywords: Hidden Markov Models (HMM), HMM Forward, Backward, Viterbi,

Baum-Welch algorithms, HMM applications.

Page 4: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

Saturs

1. Ievads 5

1.1. Vesture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2. Markova process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2. Sleptais Markova modelis 10

2.1. Noverte²anas problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2. At²ifre²anas problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.3. Apmac�bas problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.3.1. Koe�cientu sver²ana . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.3.2. Apmac�bas dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.3.3. Sakotnejo parametru novertejumi . . . . . . . . . . . . . . . . . . . 25

3. Slepto Markova model�u pielietojumi 27

3.1. Runas atpaz�²ana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.2. Prote�nu modele²ana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.3. Hamptonese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.3.1. Ievads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.3.2. Hamptonese entropija . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.3.3. SMM un angl�u valoda . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.3.4. Hamptonese SMM . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.3.5. Secinajumi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4. Secinajumi 36

5. Pielikums 38

Page 5: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

1. Ievads

Temats "Diskretie sleptie Markova model�i un to pielietojumi" tika izvelets, jo to

dzil�aka izpete ²k�ita l�oti interesanta gan teoretiskaja, gan ar� praktiskaja zi�na. Uz�nemums,

kura br�vprat�gi stradaju, piedavaja ²adu tematu, jo tas tika uzskat�ts par potencialu

ieguvumu darb�ba un att�st�ba.

Turpmak apskat�sim un ar "SMM" saprat�sim diskretos sleptos Markova model�us.

�� darba merk�i un uzdevumi bija ²adi:

• iepaz�ties ar teoriju, uz kuras balstas SMM;

• apskat�t algoritmus, kas veidoti uz ²�s teoretiskas bazes;

• rakst�t programmas kodus, kas, izmantojot algoritmus, risina pseido piemerus;

• apskat�t ka SMM tiek izmantoti realam problemam.

Darba tiks apskat�ta slepto Markova model�u teorija un pet�tas tr�s pamatproblemas:

noverte²anas problema, at²ifre²anas problema un apmac�bas problema. Katrai no ²�m

problemam tiks izstradata datorprogramma, kas, izmantojot katras konkretas problemas

risinajuma algoritmus, dos rezultatus pseido piemeriem. Darba nobeiguma SMM pielie-

tojums tiks parad�ts uz tr�s konkretiem piemeriem.

SMM tiek izmantoti, lai modeletu sistemu, kas ir Markova process ar noverotajam

sleptiem stavokl�iem. Tos var pielietot, piemeram, runas, rokrakstu, ºestu atpaz�²ana,

signalu apstrade, vajadz�gas informacijas iegu²ana no dokumentiem, ma²�ntulko²ana un

genu noteik²ana.

Iesakuma tika vakti visdaºadakie informacijas avoti: gan gramatas, gan raksti, gan

ar� publikacijas (jaatz�me, ka visi avoti ir �nemti no interneta). Apskatot ieguto, vareja

secinat, ka to ir daudz, kas liecina par slepto Markova model�u aktualitati un noz�m�gumu.

S�kak apskatot un analizejot avotus, vareja ieverot, ka tie at²k�iras gan ar apz�mejumiem,

kas tika lietoti darba gaita, gan ar� pa²as idejas izklastu. Vecaka izdevuma gada gramatas

informacija bija gan neskaidri lasama (izpludusi druka, slikta skene²anas kvalitate, u.c.),

gan ar� smagneja, uztverei bija nepiecie²ams daudz laika. Savukart jaunakajos rakstos

(interneta pieejamie raksti, seminaru dal�as, gandr�z visi pec 2003. gada, lielaka dal�a

pec 2008. gada), uz kuriem balst�ts ²is darbs, idejas nostadnes, apz�mejumu un piemeru

sapratne bija daudz vieglaka un atraka. Slepto Markova model�u piemeri, kas ar� atroda-

mi interneta resursos, veicinaja izpratni, ka ar� gan sal�dzino²i abstraktu, gan praktisku

pielietojumu.

Paraleli informacijas avotu izpetei, tika rakst�ts ar� programmas kods, kas izpilda vi-

sus augstak minetos algoritmus (Forward, Backward, Viterbi, Baum-Welch). Sakotnejais

merk�is bija aprek�inat pseido piemeru rezultatus, bet velak ar� tika atrasts jauns merk�is:

5

Page 6: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

padzil�inat savas zina²anas programme²anas valoda Python (versija 2.7), kuru pla²i izman-

to uz�nemums, kura stradaju. Lai nu ka, bet programme²ana bija interesants process, kas

sniedza gandar�jumu par algoritmu prec�zu darb�bu (piemeram, prec�zam varbut�bam) un

moderno ier�£u izmanto²anu sleptajos Markova model�os. Pielikuma ir dots viss pseido

piemeru aprek�ina²anas kods, kas uzrakst�ts programme²anas valoda Python (versija 2.7).

Darba pirmaja nodal�a ir dotas vesturiskas zi�nas par SMM teoriju, ka ar� ieskats

Markova procesos. Otraja nodal�a rakst�ts par SMM, to tr�s pamatproblemam un atbil-

sto²ajiem algoritmiem. Tre²aja nodal�a ir tr�s realu problemu piemeri, kas parada SMM

pielietojumu. Ceturtaja nodal�a tiek izdar�ti secinajumi par ²� darba gaitu un iegutajiem

rezultatiem, bet piektaja nodal�a ir programmas kods.

1.1. Vesture

Nodal�a 1.1 tiks izmantots [4] avots.

�aja nodal�a tika ievaktas zi�nas par autoru A.A. Markovu, slepto Markova model�u

"pa²iem pirmajiem sol�iem", ar daudzajiem un SMM praktiskai pielieto²anai nepiecie²a-

majiem algoritmu aizsakumiem un to evoluciju, att�stoties zinatnei un tehnolo�gijam.

Slepto Markova model�u vesture sastav no divam dal�am. Pirma dal�a ir Markova

procesu un Markova k�eºu vesture, bet otra - algoritmu vesture, kas nepiecie²ami, lai

att�st�tu SMM l�dz moderno pielietojamo zinat�nu l�menim, izmantojot datoru vai citas

elektroniskas ier�ces.

Andrejs A.Markovs (dzimis 1856. gada 14. junija, miris 1922. gada 20. julija) bija

izcils krievu matematik�is, labi zinams ar darbiem par stohastiskajiem Markova procesiem.

Vi�na darb�ba velak koncentrejas tie²i ap Markova procesiem un Markova k�edem.

Jedzieni "Markova procesi" un "Markova k�edes" radas 1906. gada, kad A.A.Markovs

naca klaja ar pirmajiem teoretiskajiem stohastisko procesu rezultatiem. Gal�gu, sa-

skaitamu stavokl�u telpu visparinajumu deva Kolmogorovs 1931. gada. Markova k�edes

iesakuma tika saist�tas ar Brauna dal�i�nu kust�bu, ka ar� ar daºam �zikas problemam.

Matematika, galvenokart varbut�bu teorija un matematiskaja statistika, Markova pro-

cess var tikt uzskat�ts par laika main�gu "parad�bu", kurai izpildas Markova �pa²�ba (jeb

nakotnes stavokl�a atkar�ba tikai no tagadnes stavokl�a).

Kopsol� ar spec�go datorzinat�nu att�st�bu 1940. gados, pec tadu slavenu zinatnieku

ka John von Neuman, Turing un Konrad Zuse pet�jumu rezultatiem, zinatnieki no visas

pasaules aizsaka meklet algoritmus, lai risinatu daudzas realas dz�ves problemas.

EM (Expectation-Maximization) algoritms ir saist�ts ar maksimalas ticam�bas (MT)

algoritma vesturi un tas radas 20. gadsimta sakuma. R.A.Fi²ers izmantoja, analizeja

un rekomendeja pielietot MT algoritmu laika no 1912. gada l�dz 1922. gadam, kaut

ar� to iepriek² izmantoja Gauss, Laplass un citi matematik�i. Izradas, ka metode jau ir

tikusi izmantota "specialgad�jumos", bet minetaja gada tam jau bija izstradata vispar�ga

teorija. EM algoritms tiek lietots statistika, lai mekletu parametru maksimalos ticam�bas

6

Page 7: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

novertejumus. To bieºi izmanto informacijas apkopo²anai ma²�napmac�ba un ma²�nredze.

Valodas apstrade galvenais algoritms ir Baum-Welch (jeb Forward -Backward) algo-

ritms. Faktiski, Baum-Welch algoritms ir atsevi²k�s gad�jums visparinatajam EM algorit-

mam. Tas tiek izmantots, lai uzlabotu slepta Markova model�a parametrus. 1970. gados

L.E.Baum un L.R.Welch aprakst�ja algoritmu savos darbos ka "maksimizacijas metodi,

kas pielietojama Markova k�eºu varbut�bu funkciju statistiskaja anal�ze".

1967. gada Andrew Viterbi ieviesa Viterbi algoritmu, kas at²ifre "�sto" signalu

trok²�nainos datos. Tas ir dinamiskas programme²anas algoritms, lai atrastu visticamako

stavokl�u virkni, sauktu ar� par Viterbi cel�u (vai vienkar²i cel�u), kas iznakuma ar vislielako

varbut�bu dod ²os noverojumus. Pedejo gadu laika ²im algoritmam ir atrasts pielietojums

mobilajas tehnolo�gijas un t�klos, iezvanpieejas modemos, satel�tos, visuma komunikacijas

un bezvadu lokalajos t�klos. Piemeram, daºos runa-teksts atpaz�²anas ier�ces akustiskais

signals tiek uzskat�ts par noverojumu virkni, bet teksta virkne tiek uzskat�ta par akus-

tiska signala slepto celoni. Viterbi algoritms atrod visticamako teksta virkni, kas veido

akustisko signalu.

1.2. Markova process

Nodal�a 1.2 tiks izmantots [1] avots.

Pie�nemsim par zinamu (velak to de�nesim), ka stohastiskajam procesam ir Markova

�pa²�ba, ja procesa nakotnes stavokl�u gad�juma varbut�bu sadal�jums ir atkar�gs vien�gi

no tagadnes stavokl�iem. Process ar ²adu �pa²�bu tiek saukts par Markova procesu.

Bieºi jedziens "Markova k�ede" tiek lietots, lai apz�metu Markova procesu ar diskretu

(gal�gu vai saskaitamu) stavokl�u kopu. Parasti Markova k�ede ir de�neta diskretai laika

kopai, ta£u daºi autori izmanto ²adu pa²u terminolo�giju, apz�mejot nepartrauktas laika

vert�bas.

1. att. Markova k�edes piemera vizualizacija

Pie�nemsim, ka stohastiska procesa stavokl�u kopa S ir ar garumu N un noverojumu

kopa V ir ar garumu M

S = (s1, ..., sN) ,

V = (v1, ..., vM) .

7

Page 8: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

Pie�nemsimQ ka �ksetu stavokl�u virkni ar garumu T un attiec�gos �ksetos noverojumus

O ar� ar garumu T

Q = q1, ..., qT ,

O = o1, ..., oT .

De�n�cija 1.

Markova �pa²�ba ir speka un procesu sauc par Markova procesu, ja izpildas no-

sac�jums

P (qt | qt−1, qt−2, ..., q1) = P (qt | qt−1) , 2 6 t 6 T.

�o var interpretet ²adi: varbut�ba

P (qt | qt−1, qt−2, ..., q1) = P (qt | qt−1) , 2 6 t 6 T

nav atkar�ga no neviena pagatnes stavokl�a qt−1, qt−2, ..., q1. Tatad, nakotnes stavoklis qt+1

nav atkar�gs no pagatnes stavokl�iem qt−1, qt−2, ..., q1, bet gan tikai no tagadnes stavokl�a

qt.

De�n�cija 2.

Markova k�edei izpildas ²ada �pa²�ba

P (q1, q2, ..., qt−1, qt) = P (q1) ∗ P (q2 | q1) ∗ · · · ∗ P (qt | qt−1), 2 6 t 6 T.

Piemers 1.

Piemera 1 tiks izmantots [6] avots.

Izmantosim ta deveto Urnu uzdevumu, bet ²oreiz apskat�sim tikai pa²as urnas. Ir

dotas urnas s1, s2, s3. Pie�nemsim, ka s1-"bronzas urna", s2-"sudraba urna", s3-"zelta

urna", stavokl�u parejas varbut�bas ir uzdotas matrica

A =

a11 a12 a13

a21 a22 a23

a31 a32 a33

=

0.3 0.7 0

0.7 0.1 0.2

0 0.5 0.5

,

kur (aij), 1 6 i, j 6 N , ir varbut�ba, ka process laika momenta t atrodas stavokl� sj, ja

laika t− 1 process atradas stavokl� si.

aij = P (qt = sj | qt−1 = si) , 1 6 i, j 6 N, 2 6 t 6 T,

²eit qt apz�me pa²reizejo stavokli.

8

Page 9: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

Ja koe�cients (aij) ir nulle, tad pareja no si uz sj nav iespejama. Stavokl�u parejas

varbut�bam ir jaapmierina nevienad�bas

aij > 0, 1 6 i, j 6 N,

N∑j=1

aij = 1, 1 6 i 6 N.

Pie�nemsim, ka stavokl�u sakuma varbut�bas π = (πi) , 1 6 i 6 N , kur

πi = P (q1 = si) , 1 6 i 6 N,

ir

π = (0.7, 0.2, 0.1) .

Mes velamies aprek�inat varbut�bu �ksetai stavokl�u virknei: q1 = "zelta urna", q2 =

"zelta urna", q3 = "sudraba urna", q4 = "bronzas urna". Markova k�edes �pa²�ba

P (q1, q2, q3, q4) = P (q1, q2, q3)P (q4 | q1, q2, q3) =

= ... = P (q1)P (q2 | q1)P (q3 | q2)P (q4 | q3)

mums atl�auj atrast ²o varbut�bu. Tad

P (′zelta urna′,′ zelta urna′,′ sudraba urna′,′ bronzas urna′) =

= 0.1 ∗ 0.5 ∗ 0.5 ∗ 0.7 = 0.0175 .

9

Page 10: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

2. Sleptais Markova modelis

Nodal�a 2 tiks izmantoti [1, 3, 4] avoti.

Par matematisko modeli tiek uzskat�ts sistemas apraksts, izmantojot matematiskos

jedzienus un valodu. Parastaja (atklataja) Markova model� stavokl�i noverotajam ir re-

dzami atklata veida, tapec ar� stavokl�u parejas varbut�bas ir vien�gie parametri.

Vizualizesim atklato Markova modeli ar 3 stavokl�iem un 4 noverojumiem, kur stavokl�i

un to dotie noverojumi ir br�vi izveleti.

2. att. Atklata Markova model�a piemera vizualizacija

Komentesim 2. attelu: stavokl�i s1, s2, s3 dod attiec�gi noverojumus o1, o3, o4, o2.

Noverotajam ir prec�zi zinams, kur² stavoklis ir devis konkreto noverojumu. Faktiski, tas

ir specialgad�jums sleptajam Markova modelim. �eit varbut�ba stavokl� iegut noteikto

noverojumu ir vai nu 1 vai ar� 0 un katru noverojumu dod tikai viens stavoklis. Tomer

²adus gad�jumus turpmak neapskat�sim.

Sleptaja Markova model� stavokl�i noverotajam nav tie²i redzami, bet ir redzams

noverojums, kas atkar�gs no stavokl�a. Katram stavoklim ir varbut�bu sadal�jums par

iespejamajiem noverojumiem. Tadejadi noverojumu virkne, ko izveidojis SMM, sniedz

mums informaciju par stavokl�u virkni. Jaievero, ka vards "sleptais" attiecas uz stavokl�u

virkni, kuru izmanto ²is modelis. Pat ja model�a parametri (stavokl�u kopa, stavokl�u

sakuma varbut�bas, stavokl�u parejas varbut�bas, noverojumu varbut�bas) ir prec�zi zinami,

modelis joprojam ir "sleptais".

Sleptais Markova modelis sastav no diviem stohastiskiem procesiem. Pirmais sto-

hastiskais process ir Markova k�ede, kuru raksturo stavokl�i un stavokl�u parejas varbut�bas.

K�edes stavokl�i nav redzami, tatad apslepti. Otrais stohastiskais process katra laika mo-

menta veido noverojumu. Ir svar�gi atcereties, ka, de�nejot slepto Markova modeli, vards

"sleptais" attiecas uz Markova k�edes stavokl�iem, bet ne uz model�a parametriem.

10

Page 11: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

Var uzskat�t, ka tas ir divkar²s stohastisks process ar ²adiem diviem aspektiem:

• Pirmais stohastiskais process (jeb ar� Markova k�ede) ir gal�ga stavokl�u kopa, kur

katrs no tiem ir saist�ts ar daudzdimensionalu varbut�bu sadal�jumu. Parejas starp

daºadiem stavokl�iem nosaka varbut�bu kopa, kur ²�s varbut�bas sauc par stavokl�u

parejas varbut�bam.

• Otraja stohastiskaja procesa katrs no stavokl�iem dod iznakumu jeb noverojumu.

Ta ka mes analizesim tikai to, ko mes iegustam (neredzot, no kura stavokl�a), tad

stavokl�i ir slepti noverotajam.

Katrs SMM ir de�nets ar stavokl�iem, stavokl�u parejas varbut�bam, noverojumu varbut�bam

un stavokl�u sakuma varbut�bam.

De�n�cija 3.

De�nesim SMM:

1. Dota stavokl�u kopa S = (s1, ..., sN) ar garumu N .

2. Dota katra stavokl�a noverojumu kopa V = (v1, ..., vM) ar garumu M .

3. Dots stavokl�u parejas varbut�bu sadal�jums A = (aij), kur aij ir varbut�ba, ka

process laika momenta t atrodas stavokl� sj ir dots, kad laika t− 1 process atrodas

stavokl� si. Ja koe�cients aij ir nulle, tad pareja no si uz sj nav iespejama.

aij = P (qt = sj | qt−1 = si) , 1 6 i, j 6 N, 2 6 t 6 T,

²eit qt apz�me pa²reizejo stavokli. Stavokl�u parejas varbut�bam ir jaapmierina ne-

vienad�bas

aij > 0, 1 6 i, j 6 N

unN∑j=1

aij = 1, 1 6 i 6 N.

4. Dota katra stavokl�a noverojumu matrica B = (bi(k)), kur bi(k) ir varbut�ba k-tajam

noverojumam atrasties stavokl� i, neatkar�gs no laika t

B = (bi(k)) , bi(k) = P (ot = vk | qt = si) , 1 6 i 6 N, 1 6 k 6M, 1 6 t 6 T,

kur vk apz�me k-to noverojumu, bet ot apz�me pa²reizejo parametru vektoru. Ir

jabut apmierinatam ²adam varbut�bam

bi(k) > 0, 1 6 i 6 N, 1 6 k 6M,

11

Page 12: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

M∑k=1

bi(k) = 1, 1 6 i 6 N.

5. Dotas stavokl�u sakuma varbut�bas π = (πi), kur πi ir varbut�ba, ka process laika

t = 1 atrodas stavokl� si ar nosac�jumu

πi = P (q1 = si) , 1 6 i 6 N.

De�nejot slepto Markova modeli, l�oti svar�gi ir precizet vai modelis bus diskrets,

nepartraukts vai jaukta veida. Lietosim ²adu pierakstu

λ = (A,B, π) ,

lai apz�metu diskreto SMM, tatad ar diskretiem varbut�bu sadal�jumiem. Jaatgadina, ka

nepartrauktie sleptie Markova model�i ²eit netiks apskat�ti.

�oreiz vizualizesim slepto Markova modeli ar 3 stavokl�iem un 4 noverojumiem.

3. att. Slepta Markova model�a vizualizacija

Piemers 2.

Piemera 2 tiks izmantots [6] avots.

Tagad pie�nemsim, ka katra no urnam s1, s2, s3 var izveleties lod�tes v1, v2, v3, v4, kuru

vinnesti ir attiec�gi "5 Ls", "10 Ls", "100 Ls" un "500 Ls". At²k�ir�ba no atklata Markova

model�a, mums nav tie²i zinams, kur² stavoklis dos attiec�go noverojumu. �ie stavokl�i

mums ir doti ar noteiktam varbut�bam. Atceresimies stavokl�u parejas varbut�bas, kas

uzdotas matrica

A =

0.3 0.6 0.1

0.7 0.1 0.2

0.5 0.4 0.1

.

12

Page 13: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

Uzdosim noverojumu varbut�bas B = (bi(k)), kur 1 6 i 6 N, 1 6 k 6M . Tatad

b1(o1) = 0.1, b1(o2) = 0.5, b1(o3) = 0.2, b1(o4) = 0.2

b2(o1) = 0.6, b2(o2) = 0.2, b2(o3) = 0.1, b2(o4) = 0.1

b3(o1) = 0.3, b3(o2) = 0.3, b3(o3) = 0.3, b3(o4) = 0.1

.

Uzskatam�bas labad, uzrakst�sim to matrica

B =

0.1 0.5 0.2 0.2

0.6 0.2 0.1 0.1

0.3 0.3 0.3 0.1

.

Visbeidzot uzdosim stavokl�u sakuma varbut�bas matrica

π = (0.7, 0.2, 0.1) .

Saglabajot jau pirmaja piemera pie�nemto urnu sec�bu: q1 = "zelta urna", q2 = "zelta

urna", q3 = "sudraba urna", q4 = "bronzas urna", aprek�inasim varbut�bu kada ir izvilkt

²adas lod�tes no attiec�gajam urnam : o1 = "5 Ls", o2 = "100 Ls", o3 = "5 Ls" un o4 =

"500 Ls" (jeb, ka no "zelta urnas" tiks izvilkta "5 Ls" lod�te, u.t.t.)

P (o1, o2, o3, o4 | q1, q2, q3, q4) =

= P (q1)P (o1 | q1)P (q2 | q1)P (o2 | q2)P (q3 | q2)P (o3 | q3)P (q4 | q3)P (o4 | q4) =

= 0.1 ∗ 0.3 ∗ 0.1 ∗ 0.3 ∗ 0.4 ∗ 0.6 ∗ 0.7 ∗ 0.2 = 0.00003024.

Iepaz�stinasim ar tr�s fundamentalam SMM problemam, kuru anal�ze un s�kaks ap-

skats atrodams lielakaja dal�a no ievaktas informacijas avotiem. Dosim tikai necilu aprak-

stu par katru no tam, jo turpmakas tr�s apak²nodal�as nodarbosies ar to padzil�inati.

Slepto Markova model�u tr�s pamatproblemas ir ²adas:

• Noverte²anas problema: kada ir varbut�ba, ka �ksetie noverojumi O = o1, o2, ..., oT

tiek ieguti ar modeli P (O | λ), izmantojot doto slepto Markova modeli λ ?

• At²ifre²anas problema: kada ir visticamaka stavokl�u virkne dotaja SMM λ, kas deva

stavokl�u virkni O = o1, o2, ..., oT ?

• Apmac�bas problema: ka ir japiemekle model�a parametri (A,B, π), lai maksimizetu

P (O | λ), ja gan modelis λ, gan ar� noverojumu virkne O = o1, o2, ..., oT ir dota ?

Noverte²anas problema var tikt lietota atsevi²k�u vardu atpaz�²anai. At²ifre²anas problema

ir saist�ta ar nepartrauktu atpaz�²anu un segmente²anu. Apmac�bas problema ir jaizmanto,

ja ir vajadz�ba "uztrenet" SMM sec�gu atpaz�²anas uzdevumu veik²anai.

13

Page 14: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

2.1. Noverte²anas problema

Nodal�a 2.1 tiks izmantoti [3, 4] avoti.

Noverte²anas problemas uzdevums ir atrast varbut�bu noverojumu virknei O. �o

varbut�bu, faktiski, var meklet gan ar Forward, gan ar Backward algoritmu, un varbut�bas

abos gad�jumos bus vienadas. Abi algoritmi ir sal�dzino²i vienkar²i, tos izmantojot tiek

samazinats ar� izpildamo darb�bu skaits, ta uzlabojot izpildes sareº�g�t�bu un laiku. Vi-

zualizacija un pseido piemers l�aus skaidrak izprast ²o pamatproblemu.

Ja dots SMM λ = (A,B, π) un noverojumu virkne O = o1, o2, ..., oT , tad ka ir ie-

spejams aprek�inat P (O = o1, o2..., oT | λ) jeb varbut�bu �ksetai noverojumu virknei, kuru

dod modelis λ ? �o problemu var uzskat�t ka me�ginajumu novertet cik labi modelis "pa-

redz" doto noverojumu virkni, tadejadi atl�aujot izveleties vislabako modeli no model�u

kopas.

Varbut�ba noverojumiem O pie �ksetas stavokl�u virknes Q ir

P (O | Q, λ) =T∏t=1

P (ot | qt, λ) = bq1(o1)bq2(o2) · · · bqT (oT ),

un varbut�ba stavokl�u virknei ir

P (Q | λ) = πq1aq1q2aq2q3 · · · aqT−1qT .

Tatad doto noverojumu varbut�bu, ko dod modelis λ, var aprek�inat ²adi

P (O | λ) =∑Q

P (O | Q, λ)P (Q | λ) =∑q1···qT

πq1aq1q2bq1(o1) · · · aqT−1qT bqT (oT ).

�is rezultats atl�auj aprek�inat varbut�bu noverojumu virknei O, bet tie²s aprek�ins

butu l�oti neefekt�vs (darb�bu skaits butu 2TNT ). Vert�gak butu atpaz�t daudzus lie-

kos aprek�inus, kas rodas tie²i rek�inot P (O, λ), un tie²i tapec aprek�inu sagrupe²ana var

atvieglot uzdevumu.

Saglabasim informaciju reº�g� katra laika sol�, aprek�inot noglabato informaciju katra

stavokl� ka summu pa visiem stavokl�iem iepriek²eja laika sol�. αt (i) ir varbut�ba �ksetai

stavokl�u virknei o1, o2, ..., ot, stavoklim si un laika t.

De�nesim "turpejo²o" (turpmak tomer "labskan�guma" del� saglabasim angl�u "Forward")

main�go

αt(i) = P (o1, o2, ..., oT , qt = si | λ) , 1 6 i 6 N, 1 6 t 6 T.

Lai varetu izlauzties caur reº�gim, kas sastav no αt (i) vert�bam, jaitere T reizes.

Iegustot beidzamo reº�ga kolonnu un summejot tas elementus, mes iegustam noverojuma

virknes varbut�bu. �is algoritms tiek saukts par Forward algoritmu.

14

Page 15: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

De�n�cija 4.

De�nesim Forward algoritmu:

1. Priek²nosac�jumi

α1(j) = πjbj (o1) , 1 6 j 6 N.

2. Indukcija

αt+1 (j) = bj (ot+1)N∑i=1

αt (i) aij, 1 6 t 6 T − 1, 1 6 j 6 N.

3. Iznakums

P (O | λ) =N∑j=1

αT (j) .

Indukcijas solis ir noz�m�gaka Forward algoritma dal�a, tas ir attelots 4. attela.

Katram stavoklim si main�gaja αi(t) tiek saglabata varbut�ba nokl�u²anai ²aja stavokl� ar

�kseto noverojumu virkni l�dz laikam t.

Tatad, apkopojot darb�bas un iegustot αt (i) vert�bas, Forward algoritms samazina

aprek�inu sareº�g�t�bu no 2TNT uz N2T .

Vizualizesim Forward algoritmu, izmantojot slepto Markova modeli ar 3 stavokl�iem

un 4 noverojumiem.

15

Page 16: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

(a) Forward algoritma priek²nosac�jumi

(b) Forward algoritma indukcija

(c) Forward algoritma iznakums

4. att. Forward algoritma vizualizacija

Var ar� de�net "atpakal�nako²o" (turpmak teksta "Backward") algoritmu, kas ir l�oti

l�dz�gs Forward algoritmam, tikai ar Backward main�go

βt (i) = P (ot+1, ot+2, ..., oT | qt = si, λ) , 1 6 i 6 N, 1 6 t 6 T − 1,

kas ir �ksetas stavokl�u virknes varbut�ba no t + 1 l�dz T , kur si ir pa²reizejais stavoklis.

Backward main�go βt (i) var aprek�inat ar� izmantojot rekursiju

βt (i) =N∑j=1

βt+1 (j) aijbj (ot+1) , 1 6 i 6 N, 1 6 t 6 T − 1,

kur βT (i) = 1, 1 6 i 6 N .

16

Page 17: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

De�n�cija 5.

De�nesim Backward algoritmu:

1. Priek²nosac�jumi

βT (i) = 1, 1 6 i 6 N.

2. Indukcija

βt (i) =N∑j=1

βt+1 (j) aijbj (ot+1) , 1 6 i 6 N, 1 6 t 6 T − 1.

3. Iznakums

P (O | λ) =N∑j=1

πjbj (o1) β1 (j) .

Var redzet, ka

P (O, qt = si | λ) = αt (i) βt (i) , 1 6 i 6 N, 1 6 t 6 T,

tatad pastav vairaki veidi ka aprek�inat P (O | λ), izmantojot Forward vai Backward

main�go, vai izmantojot tos abus

P (O | λ) =N∑i=1

P (O, qt = si | λ) =N∑i=1

αt (i) βt (i) , 1 6 t 6 T.

�is vienadojums var but l�oti noder�gs, it �pa²i izsakot formulas, kas nepiecie²amas

gradientu algoritmiem.

Piemers 3.

Faktiski, noverte²anas problemai gan Forward, gan Backward algoritmiem ir jasniedz

vienadi rezultati, tas ir, vienada varbut�ba, ka tiks izveleta notikumu virkne O.

Apskat�sim Forward algoritmu. Izmantosim jau iepriek²ejos pseido piemeros lie-

toto stavokl�u sakuma varbut�bu matricu π, stavokl�u parejas matricu A un noverojumu

varbut�bu matricu B. �oreiz main�sim tikai noverojumu virkni, kas bus ²ada

O = (o1, o2, o3, o4, o5) = (′Ls100′,′ Ls5′,′ Ls500′,′ Ls500′,′ Ls100′) .

Izrakst�sim Forward algoritma locekl�us αt (i), kur 1 6 t 6 T un 1 6 i 6 N .

α1(o1) = 0.14, α1(o2) = 0.0071, α1(o3) = 0.009288, α1(o4) = 0.0008655, α1(o5) = 0.0001521

α2(o1) = 0.02, α2(o2) = 0.0588, α2(o3) = 0.001266, α2(o4) = 0.0006223, α2(o5) = 0.0000634

α3(o1) = 0.03, α3(o2) = 0.0063, α3(o3) = 0.00131, α3(o4) = 0.0001313, α3(o5) = 0.0000672

.

17

Page 18: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

Varbut�ba P (′Ls100′,′ Ls5′,′ Ls500′,′ Ls500′,′ Ls100′), ka tiks izvilkti konkretie noverojumi

ir pedejas kolonnas elementu summa

P (′Ls100′,′ Ls5′,′ Ls500′,′ Ls500′,′ Ls100′) =

0.0001521 + 0.0000634 + 0.0000672 = 0.0002827 ≈ 0.0003 .

2.2. At²ifre²anas problema

Nodal�a 2.2 tiks izmantoti [3, 4, 2] avoti.

At²ifre²anas problema atbild uz jautajumu: "ja ir zinama iznakumu virkne O, tad

kads ir visticamakais cel�² (stavokl�u virkne), kas man to dotu?". Viterbi algoritms, kas tika

atz�ts par vienu no labakajiem 20. gs. algoritmiem, tiek lietots, lai to atrisinatu. Velreiz

jau pseido piemers l�aus saskat�t l�oti butisko at²k�ir�bu starp ar iepriek² aprakst�tajiem

algoritmiem iegutajam varbut�bam.

Dota noverojumu virkne O = o1, o2, ..., oT un SMM λ = (A,B, π). Kada ir visti-

camaka stavokl�u virkne dotaja model�, kas deva ²o noverojumu virkni?

Viena no veidiem var atrast ticamus stavokl�us qt un izveidot no tiem virkni. Bet

²� metode parasti nesniedz prec�zus rezultatus (stavokl�u virkni), tapec jaizmanto ci-

ta metode- ta saucamais Viterbi algoritms. Izmantojot Viterbi algoritmu, tiek atrasta

stavokl�u virkne ar maksimalo ticam�bu.

Ievies�sim jaunu main�go, kas dos vislielako varbut�bu, �ksetai noverojumu virknei

but iegutai no stavokl�u virknes (l�dz laika momentam t un pie pa²reizeja stavokl�a sj)

δt (j) = maxq1,q2,...,qt−1

P (q1, q2, ..., qt−1, qt = sj, o1, o2, ..., ot−1 | λ) .

Secinam, ka

δt+1 (j) = bj (ot+1) max16i6N

δt (i) aij, 1 6 j 6 N, 1 6 t 6 T − 1,

kur δ1 (j) = πjbj (o1) , 1 6 j 6 N. Tatad, lai aprek�inatu ticamako stavokl�u virkni, tiek

sakts ar δT (j) , 1 6 j 6 N . Maksimuma mekle²anas operacija mes vienmer atz�mejam

"uzvareju²o stavokli". Rezultats ir stavoklis j∗, kur

j∗ = arg max16j6N

δT (j) .

Mes sakam no ²� stavokl�a un "atmuguriski" atrodam stavokl�u virkni ka atz�mju

virkni, ko uzrada katrs "uzvareju²ais stavoklis". Tadejadi mes iegustam nepiecie²amo

stavokl�u kopu.

Jaatceras, ka atsevi²k�as varbut�bas at²k�iras no tam, ko atrod Forward un Backward

algoritmi, jo tas, faktiski, ir varbut�bas visticamakajam cel�am l�dz stavoklim laika mo-

menta t, bet nevis noverojumu virknes varbut�ba. Katram stavoklim laika momenta t = T

bus sava varbut�ba un savs labakais cel�². Kopejo labako cel�u var atrast izveloties stavokli,

18

Page 19: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

kuram ir vislielaka varbut�ba, un ta labako cel�u. Viterbi algoritmam, kas paredzets lai

atrastu labako stavokl�u virkni, ir divas priek²roc�bas:

• izmantojot rekursiju, samazinas ma²�nlaiks. Ieguvums ir analogs Forward un Backward

algoritma ieguvumam sal�dzinajuma pret "tie²o" aprek�inu, tatad no 2TNT uz N2T ,

• algoritms nodro²ina labu dot noverojumu interpretaciju.

�o algoritmu var vizualizet ka mekle²anu grafa, kura virsotnes ir SMM stavokl�i sj, 1 6

j 6 N , katra laika momenta t, kur 1 6 t 6 T . Vizualizesim Viterbi algoritmu, izmantojot

slepto Markova modeli ar 3 stavokl�iem un 4 noverojumiem.

(a) Viterbi algoritma priek²nosac�jumi

(b) Viterbi algoritma indukcija

(c) Viterbi algoritma iznakums

5. att. Viterbi algoritma vizualizacija

19

Page 20: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

Piemers 4.

Piemera 4 tiks izmantots [2] avots.

Apskat�sim Viterbi algoritmu. Nevienu no SMM model�a λ = (A,B, π) parametriem

nemain�sim, saglabasim ar� iepriek²eja piemera noverojumus

O = (o1, o2, o3, o4, o5) = (′Ls100′,′ Ls5′,′ Ls500′,′ Ls500′,′ Ls100′) .

Izrakst�sim Viterbi algoritma locekl�us δt (i), kur 1 6 t 6 T un 1 6 j 6 N

δ1(o1) = 0.14, δ1(o2) = 0.0042, δ1(o3) = 0.007056, δ1(o4) = 0.0004233, δ1(o5) = 0.0000592

δ2(o1) = 0.02, δ2(o2) = 0.0504, δ2(o3) = 0.000504, δ2(o4) = 0.0004233, δ2(o5) = 0.0000254

δ3(o1) = 0.03, δ3(o2) = 0.0042, δ3(o3) = 0.001008, δ3(o4) = 0.0000705, δ3(o5) = 0.0000254

.

Tatad Viterbi algoritms deva atbildi, ka ar varbut�bu 0.0000592 ≈ 0.00006 vis-

ticamakais cel�² (stavokl�u virkne) ir "Bronzas urna", "Sudraba urna","Bronzas urna",

"Sudraba urna","Bronzas urna" (izcelts treknraksta). Jaatceras, ka Viterbi algoritma

rezultata dota varbut�ba ir varbut�ba, ka atrastais cel�² dos noverojumu virkni O, un ²�

varbut�ba ir vislielaka par visiem citiem cel�iem (nedr�kst sajaukt ar Forward un Backward

algoritma iegutajam varbut�bam).

2.3. Apmac�bas problema

Nodal�a 2.3 tiks izmantoti [3, 4] avoti.

Beidzamas un sareº�g�takas pamatproblemas merk�is ir novertet un uzlabot slepto

Markova model�u parametrus: stavokl�u sakuma varbut�bas, stavokl�u parejas varbut�bas un

noverojumu varbut�bas. To var paveikt, izmantojot Baum-Welch algoritmu jeb ta saukto

Forward -Backward algoritmu, kas ir l�oti jut�gs pret parametru vert�bam un noverojumu

skaitu un bieºumu. Uzlabojumi SMM tiks demonstreti, izmantojot pseido piemeru.

Ka var piemerot SMM parametrus, lai dotajam piemeram atrastu vislabako modeli,

kas atspogul�o doto noverojumu kopu (treni�na kopu) ? Atkar�ba no piemera, "daudzums",

ko vajadzetu optimizet apmac�bas procesa at²k�iras. Tapec apmac�bai ir daºadi opti-

mizacijas kriteriji.

Literatura ir atrodami divi galvenie optimizacijas kriteriji:

• Maksimalas ticam�bas (MT) kriterijs.

• Maksimalas kop�gas informacijas (MKI) kriterijs.

Tagad aplukosim s�kak MT kriteriju un ta Baum-Welch algoritmu.

Dots sleptais Markova modelis λw, kur² pieder klasei w. Uzdevums ir maksimizet do-

to noverojumu virknes (ar� pieder klasei w) varbut�bu atbilsto²i model�a λw parametriem.

Matematiski ²� ticam�ba var tikt izteikta ²adi

Ltot = P (Ow | λw) .

20

Page 21: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

Atmetot aug²rakstu un apak²rakstu w (jo mes viena laika momenta apskatam tikai

vienu klasi w), MT var parrakst�t ka

Ltot = P (O | λ) .

Modelis λ = (A,B, π), kas maksimize lielumu Ltot nevar tikt aprek�inats anal�tiski,

jo nav zinama metode, ka to izdar�t. Izmantojot iterat�vas proceduras, piemeram, Baum-

Welch algoritmu vai gradientu algoritmu, var lokali to maksimizet, izveloties atbilsto²us

model�a parametrus.

Baum-Welch algoritms jeb Forward -Backward algoritms ir iegustams, izmantojot

"parad�²anas skait�²anas" argumentus vai lietojot matematiskas anal�zes zina²anas, lai

maksimizetu lielumu

Q(λ, λ)=∑q

P (q | O, λ) ln(P(O, q, λ

))pec λ. Algoritma uzdevums ir atrast labakas stavokl�u parejas varbut�bas, noverojumu

varbut�bas un stavokl�u sakuma varbut�bas. Papildus Forward un Backward main�gajiem

ir nepiecie²ams ieviest vel divus main�gos. Pirmais no tiem ir

ξt (i, j) = P (qt = si, qt+1 = sj | O, λ) , 1 6 i, j 6 N, 1 6 t 6 T − 1,

kas var tikt parrakst�ts

ξt (i, j) =P (qt = si, qt+1 = sj, O | λ)

P (O | λ)1 6 i, j 6 N, 1 6 t 6 T − 1.

Visbeidzot, izmantojot Forward un Backward main�gos, pirmo main�go ξt (i, j) var

uzrakst�t ²adi

ξt (i, j) =αt (i) aijβt+1 (j) bj (ot+1)∑N

i=1

∑Nj=1 αt (i) aijβt+1 (j) bj (ot+1)

, 1 6 i, j 6 N, 1 6 t 6 T − 1.

Savukart otrais main�gais ir

γt (i) = P (qt = si | O, λ) , 1 6 i 6 N, 1 6 t 6 T.

Izmantojot Forward un Backward main�gos iepriek²ejo main�go var parrakst�t

γt (i) =αt (i) βt (i)∑Ni=1 αt (i) βt (i)

, 1 6 i 6 N, 1 6 t 6 T − 1.

Tatad sakar�ba, kas saista γt (i) un ξt (i, j) ir

21

Page 22: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

γt (i) =N∑j=1

ξt (i, j) , 1 6 i 6 N, 1 6 t 6 T − 1.

Tagad var aprakst�t Baum-Welch apmac�bas algoritmu, lai maksimizetu lielumu

P (O | λ). Pie�nemsim, ka sakotnejais modelis ir λ = (A,B, π) un aprek�inasim visus

lielumus α un β, bet, kad tas bus izdar�ts, ar� lielumus ξ un γ. Nakamie vienadojumi medz

tikt saukti par "parnoverte²anas formulam" un tiek lietoti, lai uzlabotu slepta Markova

model�a parametrus

• Stavokl�u sakuma varbut�bas

πi = γ1 (i) , 1 6 i 6 N.

• Stavokl�u parejas varbut�bas

aij =

∑T−1t=1 ξt (i, j)∑T−1t=1 γt (i)

, 1 6 i, j 6 N.

• Noverojumu varbut�bas

bj (k) =

∑Tt=1

ot=vk

γt (j)∑Tt=1 γt (j)

, 1 6 j 6 N, 1 6 k 6M.

��s formulas var tikt izmain�tas, lai tas atbilstu ar� nepartrauktam gad�jumam.

Piemers 5.

Apskat�sim Baum-Welch algoritmu. Zinams, ka Baum-Welch algoritms uzlabo pa-

rametrus, ko velak var izmantot visos iepriek² apskat�tajos algoritmos. SMM model�a

λ = (A,B, π) sakotnejos parametrus nemain�sim, saglabasim noverojumus

O = (o1, o2, o3, o4, o5) = (′Ls100′,′ Ls5′,′ Ls500′,′ Ls500′,′ Ls100′) .

Izrakst�sim Baum-Welch algoritma (apskat�sim gad�jumu, kad maksimalais iteraciju

skaits = 2) parametrus, kur A,B, π ir attiec�gi stavokl�u parejas varbut�bas, noverojumu

varbut�bas un stavokl�u sakuma varbut�bas, ka ar� Forward, Backward un Viterbi algoritmu

dotas varbut�bas

• iteraciju skaits = 0 (sakuma stavoklis)

A =

0.3 0.6 0.1

0.7 0.1 0.2

0.5 0.4 0.1

,

22

Page 23: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

B =

0.1 0.5 0.2 0.2

0.6 0.2 0.1 0.1

0.3 0.3 0.3 0.1

,

π = (0.7, 0.2, 0.1) .

Forward un Backward algoritma varbut�ba = 0.0002828.

Viterbi algoritma varbut�ba = 0.0000592.

• iteraciju skaits = 1

A =

0.26 0.64 0.1

0.75 0.07 0.18

0.45 0.45 0.1

,

B =

0.04 0 0.39 0.58

0.57 0 0.03 0.4

0.2 0 0.32 0.48

,

π = (0.82, 0.05, 0.13) .

Forward un Backward algoritma varbut�ba = 0.0090525.

Viterbi algoritma varbut�ba = 0.0038.

• iteraciju skaits = 2

A =

0.17 0.75 0.08

0.81 0.03 0.16

0.42 0.48 0.1

,

B =

0.01 0 0.46 0.53

0.56 0 0 0.44

0.12 0 0.24 0.65

,

π = (0.91, 0, 0.09) .

Forward un Backward algoritma varbut�ba = 0.0149031,

Viterbi algoritma varbut�ba = 0.0092803.

Redzams, ka algoritmu aprek�inatas varbut�bas uzlabojas, iteraciju skaitam pieau-

got. Var atrast lokalo maksimuma punktu, palielinot iteraciju skaitu. Ja iteraciju skaits

ir lielaks par 7, tad starp�ba starp divam sec�gam Forward, Backward un Viterbi algo-

ritmu iegutajam varbut�bam ir mazaka par 10−10. Iegutais rezultats var tikt uzskat�s par

lokalo maksimumu: Forward un Backward algoritma varbut�ba = 0.0324999, bet Viterbi

algoritma varbut�ba = 0.029904.

Jaatz�me, ka ir ar� iespejamas problemas ar sakuma datiem (izejas parametriem).

�� problema tiks aprakst�ta velak.

23

Page 24: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

2.3.1. Koe�cientu sver²ana

Nodal�a 2.3.1 tiks izmantots [5] avots.

Lai redzetu, kapec ir svar�gi "nosvert" parametrus, kad tiek pielietota parnoverte²anas

procedura. Forward main�gais αt (i) sastav no liela skaita locekl�u summas, kur katrs lo-

ceklis ir ²adsN∏s=1

P (si | si+1)N∏s=1

bsi (O) .

Ta ka reizinajumu locekl�i ir daudz mazaki par 1, tad var ieverot, ka αt (i) tiecas

uz 0, kad t → ∞. Tas noz�me, ka pec pietiekami daudz laika jebkur² dators saskarsies

ar precizitates problemu. Tapec ir vajadz�ga sver²anas procedura. Pamatprocedura, kas

tiek pla²i pielietota, ir αt (i) reizina²ana ar svaru koe�cientu, kas nav atkar�gs no stavokl�a

si, kur 1 6 t 6 T . Svaru koe�cienti ct ir ²adi

ct =1∑N

i=1 αt (i), 1 6 t 6 T.

Tatad nosvertie Forward main�gie αt (i) ir

αt (i) = ctαt (i) , 1 6 i 6 N.

L�dz�ga sver²anas procedura var tikt pielietota ar� Backward βt (i) main�gajiem

βt (j) = ctβt (j) , 1 6 j 6 N.

Var parad�t, ka aprek�inot stavokl�u parejas matricas Ames iegustam tie²i tadus pa²us

rezultatus, lietojot αt (i) un βt (j) attiec�gi αt (i) un βt (j) vieta. Vien�ga tie²am svar�ga

izmai�na ir varbut�bas P (O | λ) aprek�ina²ana, jo vairs nedr�kst saskait�t visus αT (i) (tie

jau ir nosverti). Ta£u izradas, ka ir joprojam var aprek�inat logP (O | λ). Ja Viterbi algo-ritma tiek izmantots logaritms, tad sver²anas procedura nav nepiecie²ama. Tas noz�me,

ka var atrast varbut�bu ar mazak aprek�iniem un bez skaitliskam kl�udam.

2.3.2. Apmac�bas dati

Nodal�a 2.3.2 tiks izmantots [5] avots.

Ac�mredzama problema slepto Markova model�u apmac�bai ir ta, ka noverojumu

virkne ir gal�ga. Tas noz�me, ka bieºi medz but nepietiekams noverojumu parad�²anas dau-

dzums, lai dotu labus parametru novertejumus. Lo�gisks veids, ka atrisinat ²o problemu,

butu jaunu datu ievak²ana, bet tas bieºi vien praktiskas situacijas ir neiespejami, un tadel�

ir nepiecie²ams atrast pa�nemienu, kas darbojas ar pa²reizejiem datiem.

Viens no risinajumiem ir vienkar²i samazinat model�a izmerus, tas ir, stavokl�u skaitu,

iespejamo noverojumu skaitu katra stavokl�, u.c. Ta£u nereti, modelejot realus model�us,

tas apraksta �zikalu procesu, tapec samazina²ana nav veicama.

24

Page 25: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

Otrs veids ir interpolet vienu parametru novertejumu kopu otra parametru novertejumu

kopa (modelim, kam ir atbilsto²s apmac�bas datu daudzums). Ideja ir izmantot apmac�bas

datus, lai izveidotu divus model�us: vienu, kas atbilst velamajam, bet otru, kas ir mazaks,

bet ar pietiekamu apmac�bas datu daudzumu. Mazakais modelis tiek ieguts "sasienot"

kopa vienu vai vairakas sakotneja model�a parametru kopas. Gala rezultats tiek ieguts ar

²o divu model�u interpolaciju. Galvenais uzdevums ir saprast, ka novertet gan sakuma

modeli, gan ar� samazinato modeli.

2.3.3. Sakotnejo parametru novertejumi

Nodal�a 2.3.3 tiks izmantots [5] avots.

Principa neeksiste viennoz�m�gas atbildes, ka izveleties sakotnejos novertejumus

slepta Markova model�a parametriem. Liekas, ka stavokl�u sakuma varbut�bas π un parejas

varbut�bas (aij), kas uzdotas matrica A, nav atkar�gas no varbut�bu sadal�juma. Ta£u

noverojumu varbut�bas bj (k), kas uzdotas matrica B, sakotnejas varbut�bas ir noz�m�gas,

it �pa²i nepartraukta varbut�bu sadal�juma gad�juma. Ir virkne ieteikumu ka iegut la-

bus sakotnejos noverojumus, piemeram, noverojumu virknes manuala segmentacija par

stavokl�iem, viduvejot noverojumus ²ajos stavokl�os, noverojumu maksimalas ticam�bas

segmentacija ar viduve²anu.

Piemers 6.

Apskat�sim gad�jumu, kas parada paragrafa aprakst�to problemu ar sakotnejo para-

metru novertejumiem, kas �pa²i ietekme noverojumu matricu B, bet praktiski neietekme

stavokl�u parejas matricu A un stavokl�u sakuma varbut�bas π. Tam liela noz�me ir slepto

Markova model�u apmac�bas problema.

Tatad sakotnejie parametri (netika main�ti) ir ²adi

A =

0.3 0.6 0.1

0.7 0.1 0.2

0.5 0.4 0.1

,

B =

0.1 0.5 0.2 0.2

0.6 0.2 0.1 0.1

0.3 0.3 0.3 0.1

,

π = (0.7, 0.2, 0.1) .

Izvelesimies ²adus noverojumus

O = (o1, o2, o3, o4) = (′Ls5′,′ Ls10′,′ Ls100′,′ Ls500′) .

Apskatot kaut vai tikai Forward algoritma (izpildot Baum-Welch algoritmu visiemmodel�a parametriem, kur iteraciju skaits = 1) locekl�us αt (i), kur 1 6 t 6 T un 1 6 i 6 N ,

25

Page 26: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

bus redzams "strupcel�²"

α1(o1) = 0.0513, α1(o2) = 0.143406, α1(o3) = 0.0231686, α1(o4) = 0

α2(o1) = 0.312, α2(o2) = 0.0088648, α2(o3) = 0.0220043, α2(o4) = 0

α3(o1) = 0.0364, α3(o2) = 0.0166041, α3(o3) = 0.0106923, α3(o4) = 0

.

Uzlabojot visus parametrus, Forward, Backward un Viterbi algoritmu aprek�inatas

varbut�bas ir vienadas ar nulli. Ar� turpmaka Baum-Welch algoritma darb�ba (ja iteraciju

skaits > 1) ir liegta, jo dal�²ana ar nulli nav iespejama.

Bet situacija var nebut tik viennoz�m�ga un neizejama. Ja Baum-Welch algoritmam

uzlabo tikai stavokl�u parejas matricu A un stavokl�u sakuma varbut�bas π, bet noverojumu

matricu B �kse (jeb matrica B netiek uzlabota), tad joprojam var iegut lielakas visu

algoritmu dotas varbut�bas.

26

Page 27: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

3. Slepto Markova model�u pielietojumi

Pedeja pamatdal�as nodal�a "Slepto Markova model�u piemeri" apskata tr�s realus

piemerus, kuriem atbilst un var izmantot SMM.

• Pirmais no tiem ir saist�ts ar runas atpaz�²anu, kas varetu but saukts par sava veida

SMM "klasiku", jo pet�jumi ²aja joma aizsakas jau 20.gs. 80. gadu beigas.

• Otrais nodarbojas ar prote�nu modele²anu, kas ir jau daudz jaunaks pet�jumu ob-

jekts. Lai ar� ²k�ietami at²k�ir�gs, tam ar runas atpaz�²anu ir daudz kop�gu iez�mju.

Uzsvars tiek likts uz Viterbi algoritmu, kas atrod aminoskabju virkni, kas savukart

veido prote�nu.

• Tre²ais, vissavdab�gakais piemers, ir par Hamptonese - sava veida pierakstu, ko iz-

veidojis James Hampton (1909-1964). �is pieraksts, atrasts vi�na garaºa pec autora

naves, tika analizets. Iesakuma tika izteikta hipoteze par sader�bu ar angl�u valodu,

kas apstiprinajas. Pecak pielieto sleptos Markova model�us tekstam angl�u valoda,

ka ar� angl�u valodas fonemam.Visbeidzot Hamptonese tika sal�dzinata ar citam va-

lodam un tika secinats, ka ta neatbilst nevienai no tam, ta ir tikai pavir²i uzrakst�tas

un ²ifretas runatas ska�nas jeb fonemas.

3.1. Runas atpaz�²ana

Nodal�a 3.1 tiks izmantots [5] avots.

Nav ap²aubams, ka viena no vislietder�gakajiem slepta Markova model�a pielietoju-

miem ir runas atpaz�²ana. �o piemeru 1989. gada apskat�ja L.Rabiner un tas ir saist�ts

ar izoletu vardu atpaz�²anu.

Pie�nemsim, ka vardi, kas ir jaatpaz�st, pavisam ir skaita V , un katrs runatais vards

paradas K reizes. Katra varda parad�²anas veido noverojumu. Vardu noverojumi parasti

tiek atteloti ar spektra un/vai laika signalu veida. Lai veiktu izoleto vardu atpaz�²anu ir

javeic divi uzdevumi:

• Vispirms ir vajadz�gs izveidot katram vardam vardn�ca savu SMM (jeb katram

vardam v ir nepiecie²ams novertet model�a λv = (Av, Bv, πv) parametrus (Av, Bv, πv),

kas optimize apmac�bas kopas varda noverojumu vektoru ticam�bu.

• Katram nezinamajam vardam javeic noverojumu virknes anal�ze un jaaprek�ina

model�a ticam�ba visiem iespejamajiem model�iem. Modelis tad izdod atpaz�to vardu

ka vardu ar vislielako ticam�bu.

27

Page 28: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

3.2. Prote�nu modele²ana

Nodal�a 3.2 tiks izmantots [5] avots.

Prote�nu modele²ana nemaz nav tik at²k�ir�ga no runas atpaz�²anas gad�juma, ka

tas pirmaja br�d� izliekas. Daudz vispar�gaka runas atpaz�²ana, kad tiek izmantota vardu

virkne vai fonema, var tikt uzskat�ta par iez�mju atpaz�²anas uzdevumu. Tas izpildas ar�

prote�nu modele²ana, kur uzdevums ir modelet aminoskabju virkni, kas savukart veido

prote�nus. Faktiski, ²eit vardi atbilst 20 aminoskabem - no tam sastav ikviena prote�nu

molekula. �o piemeru 1994. gada apskat�ja A.Krogh.

Prote�na strukturala intu�cija var tikt aplukota ²ados veidos:

• Poz�ciju virkne, katra ar savu sadal�jumu par aminoskabem.

• Varbut�ba parlekt poz�ciju vai ievietot papildu aminoskabes starp divam sec�gam

poz�cijam.

• Piel�aujot varbut�bu, ka ievieto²anas vai izdze²anas turpina²ana ir daudz ticamaka

par sak²anu.

A.Krogh veido sleptos Markova model�us ta lai tie atbilstu augstak minetajam �pa²�bam.

SMM satur stavokl�u virkni ar garumu M , kas tiks sauktas par sader�gajiem stavokl�iem,

atbilsto²i poz�cijam prote�na vai kolonnam vairakkart�ga sakartojuma gad�juma. Katrs

no M stavokl�iem var �generet burtu x no 20 burtu gara aminoskabju alfabeta atbilsto²i

sadal�jumam P (X = x | Z = mk) , kur 1 6 k 6 M , jeb ar�, katrs rad�tais burts atbilsts

konkretai aminoskabei. Pieraksts P (X = x | Z = mk) noz�me, ka katram no sader�gajiem

stavokl�iem mk, kur 1 6 k 6M , ir atsevi²k�i sadal�jumi.

Lai modeletu varbut�bu poz�cijas parlek²anai, ja�nem vera, ka katram sader�gajam

stavoklim mk ir savs dze²anas stavoklis dk, kas gluºi vienkar²i ir beigu stavoklis.

Lai modeletu varbut�bu jaunas aminoskabes ievieto²anai, pavisam ir M + 1 ievie-

to²anas stavoklis katra puse sader�gajiem stavokl�iem, kas �genere burtus no aminoskabju

alfabeta tie²i tada pa²a veida ka sader�gais stavoklis, bet izmanto varbut�bu sadal�jumus

P (X = x | Z = ik), kur 1 6 k 6M . Vienkar²�bas labad, sakuma un beigas tika pievienoti

�kt�vie stavokl�i, apz�meti ka m0 un mM+1, kuri ne�genere nevienu aminoskabi.

Jaievero, ka modelis piel�auj daºas papildus aminoskabes, jo ievietotajiem stavokl�iem

eksiste varbut�ba pariet pa²iem sev� (jeb nakamaja sol� palikt taja pa²a stavokl�, kur at-

rodas ²obr�d). Katram stavoklim ir tr�s iespejamas parejas. Parejas sader�gajos stavokl�os

vai dze²anas stavokl�os vienmer ir verstas prom no ²iem stavokl�iem uz citiem stavokl�iem,

bet parejas ievieto²anas stavokl�os tas neizpildas. Parejas varbut�ba no stavokl�a q uz

stavokli r ir P (Z = z | Z = q), bet ²eit apz�meta T (r | q), kas atbilst atpaz�stamajam

Prq (iepriek²ejas nodal�as arq).

Virkne no model�a tiek �genereta ²ada veida:

28

Page 29: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

• Atrodoties �kt�vaja sakuma stavokl� m0, nejau²i, bet saska�na ar parejas varbut�bam

T (m1 | m0),T (d1 | m0) un T (i1 | m0) attiec�gi tiek izveleta pareja uz m1,d1 vai i0 .

• Ja mes atrodamies sader�ga stavokl� vai ievieto²anas stavokl�, attiec�ba pret ami-

noskabi tiek �generets burts x. Piemeram, ja mes atrodamies stavokl� mk, ami-

noskabe tiek �genereta atbilsto²i varbut�bu sadal�jumam P (X = x | Z = mk), bet,

ja mes atrodamies uz dze²anas stavokl�, tad aminoskabe netiek �genereta.

• Nako²ais solis tiek izvelets saska�na ar iespejamajam parejam pa²reizeja stavokl�.

Procedura tiek turpinata kamer virkne sasniedz stavokli mM+1, kas ir �kt�vais beigu

stavoklis (aminoskabes netiek �generetas).

Ieguta virkne x1, x2, ..., xL tagad ir burtu virkne, kas ieguta attiec�gi no daºadajam

aminoskabem, bet virkne ir ieguta sekojot stavokl�iem q0, q1, ..., qN , qN+1, kur q0 = m0 un

qN+1 = mM+1. Ta ka dze²anas stavokl�i ne�genere nevienu aminoskabi, tad var secinat, ka

N + 1 (stavokl�u skaits cel�a) ir lielaks vai vienads par L (virknes garums).

Ja qi ir sader�gais stavoklis vai ievieto²anas stavoklis, tad de�nesim l (i) ka indeksu

virkne x1, x2, ..., xL aminoskabju procedurai stavokl� qi. Varbut�ba notikumam, ka ir

ieguts cel�² q0, q1...qN , qN+1 un ar�dzan �genereta virkne x1, x2, ..., xL, ir ²ada

P (x1, x2, ..., xL, q0, q1, ..., qN , qN+1 | modelis) = T (mN+1 | qN)N∏i=1

T (qi | qi−1)P(xl(i) | qi

),

kur P(xl(i) | qi

)= 1, ja qi ir dze²anas stavoklis. Varbut�ba jebkadai aminoskabju virknei

x1, x2, ..., xL var tikt atrasta summejot visus iespejamos cel�us, kas var rad�t ²o virkni

P (x1, x2, ..., xL | modelis) =∑

celi q0,...,qN+1

P (x1, x2, ..., xL, q0, q1, ..., qN , qN+1 | modelis) .

Veids ka novertet model�a parametrus ir ²ads: dotai apmac�bas virk�nu s (1) , ..., s (n) ko-

pai var aprek�inat cik labi atbilst modelis, aprek�inot varbut�bas, kas tos �genere. Tas ir

locekl�u, kas uzdoti summas veida (ka tas uzdots iepriek²eja vienadojuma), reizinajums,

kur katram 1 6 j 6 n izpildas x1, x2, ..., xL = s (j). Rezultats ir ticam�bas funkcija un

maksimizejot to attiec�ba pret model�a parametriem mes iegustam labako modeli, atsau-

coties uz maksimalas ticam�bas metodi.

3.3. Hamptonese

3.3.1. Ievads

Nodal�a 3.3 tiks izmantots [7] avots.

James Hampton (1909-1964) bija kluss un noslegts cilveks, kas atstajis pasaulei ie-

spaid�gu vizualas makslas darbu kopumu, ka ar� savadus pierakstus rokraksta. J.Hamptona

29

Page 30: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

raksts jeb Hamptonese sava zi�na ir interesants izpetes objekts. Piez�mju gramati�nas, pec

autora naves, tika atrastas vi�na garaºa. Tas satur izbarst�tus angl�u valodas vardus, bet

taja domine nezinamas izcelsmes pieraksts Hamptonese.

Kopuma 164 lapas var tikt iedal�tas divas grupas, no kuram viena satur romie²u

ciparus, Hamptonese z�mes, z�mejumus, kas visdr�zak l�dzinas uz kapenem vai alu sienam

atrodamajiem, un tekstiem angl�u valoda, piemeram, "fear not". Otra kopa satur apmeram

100 lapas ar "t�ru" Hamptonese, kas nesatur iepriek²ejas kopas elementus, iz�nemot l�oti

mazu daudzumu angl�u valodas vardus (piemeram, "Virgin Mary", "Revelation").

Katra lapa satur 25 vai 26 l�nijas ar Hamptonese, simbolu daudzums rinda ir main�gs.

Nav ieverota lapu numeracija (ta ir haotiska), interpunkcija, teksts nav sakartots pa-

ragrafos, nav zinams, ka teksts ir lasams (no aug²as uz apak²u, no labas uz kreiso pusi).

��s 100 lapas ar� kalpoja par pamatu anal�zei. Sal�dzinot Hamptonese ar kolekciju

no rakst�tajam valodam http : //www.omniglot.com/ netika atrasta neviena l�dz�ga.

6. att. Hamptonese fragments

30

Page 31: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

3.3.2. Hamptonese entropija

Shannon entropija ir klasiskais informacijas vai nenoteikt�bas mers. Bitu zi�na entro-

pija tiek aprek�inata ²adi

H (X) = −∑x∈X

P (x) log2 P (x) ,

kur tiek pie�nemts, ka log2 (0) = 0. Ja angl�u valoda sastavetu no gad�juma izvelem,

kas izdar�tas no 27 simboliem (burtiem un atstarpes), tad angl�u valodas nenoteikt�ba

(atsevi²k�u simbolu zi�na) butu:

H (X) = −∑x∈X

1

27log

(1

27

)= log2 (27) ≈ 4.75

jeb katrs burts satur aptuveni 4.75 bitus ar informaciju.

Rezultati, kas apkopoti zemak dotaja tabula, parada, ka Hamptonese ir saska�nojama

ar angl�u valodu. Ta£u tas nepierada, ka Hamptonese ir atsevi²k�a valoda, bet dod pama-

tojumu turpinat anal�zi.

1. tabula Entropiju sal�dzinajums

Entropija1 simbols 2 simboli 3 simboli

Angl�u valodas burti 4.11 3.54 2.68Angl�u valodas fonemas 4.76 3.87 3.00

Hamptonese 4.41 3.63 3.08

3.3.3. SMM un angl�u valoda

Cave un Neuwirth bija pirmie, kas pielietoja sleptos Markova model�us tekstam angl�u

valoda. Vi�ni izvelejas Brown Corpus (Brown University Standard Corpus of Present-Day

American English). Ta ir galvena teksta kolekcija, kas satur vairak ka 1000000 vardus.

Vi�ni ignoreja visus ciparus, interpunkciju un specialos simbolus, parveidoja visus lielos

burtus par mazajiem, atstajot tikai 27 simbolus - burtus un atstarpi.

Tad vi�ni pie�nema, ka eksiste Markova process ar diviem sleptiem stavokl�iem un

noverojumiem, ko uzdod simboli no Brown Corpus. Rezultata izveidojas stavokl�u parejas

matrica A, kas ir ar izmeru 2× 2, un noverojumu varbut�bu matrica B ar izmeru 2× 27.

Atkartojot Cave un Neuwirth eksperimentu, izmantojot 10000 noverojumus, pec 200

iteracijam mes iegustam ²adu tabulu

31

Page 32: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

2. tabula SMM rezultati angl�u valodas tekstam

Sakuma B vert�bas Beigu B vert�basBurts Stavoklis 0 Stavoklis 1 Stavoklis 0 Stavoklis 1a 0.0372642 0.0366080 0.0044447 0.1306242b 0.0386792 0.0389249 0.0241154 0.0000000c 0.0358491 0.0338276 0.0522168 0.0000000d 0.0353774 0.0370714 0.0714247 0.0003260e 0.0349057 0.0352178 0.0000000 0.2105809f 0.0344340 0.0370714 0.0374685 0.0000000g 0.0400943 0.0370714 0.0296958 0.0000000h 0.0344340 0.0347544 0.0670510 0.0085455i 0.0349057 0.0370714 0.0000000 0.1216511j 0.0391509 0.0366080 0.0065769 0.0000000k 0.0363208 0.0356812 0.0067762 0.0000000l 0.0353774 0.0403151 0.0717349 0.0000135m 0.0344340 0.0366080 0.0382657 0.0000000n 0.0410377 0.0370714 0.1088182 0.0000000o 0.0396226 0.0398517 0.0000000 0.1282757p 0.0377358 0.0338276 0.0388589 0.0000047q 0.0377358 0.0398517 0.0011958 0.0000000r 0.0344340 0.0403151 0.1084196 0.0000000s 0.0358491 0.0366080 0.1034371 0.0000000t 0.0377358 0.0352178 0.1492508 0.0134756u 0.0349057 0.0361446 0.0000000 0.0489816v 0.0405660 0.0370714 0.0169406 0.0000000w 0.0377358 0.0384615 0.0286993 0.0000000x 0.0382075 0.0370714 0.0035874 0.0000000y 0.0382075 0.0389249 0.0269053 0.0000003z 0.0382075 0.0338276 0.0005979 0.0000000

atstarpe 0.0367925 0.0389249 0.0035184 0.3375209

Jaievero, ka matrica B sakuma tika uzdota ar apmeram normali sadal�tam gad�juma

vert�bam. Ir l�oti svar�gi, ka matrica nav uzdota ar prec�zi normali sadal�tam gad�juma

vert�bam, jo citadi Baum-Welch algoritms nedotu uzlabojumus.

Rezultati 2. tabula skaidri uzrada, ka sleptais stavoklis 1 atspogul�o "patska�nus",

bet sleptais stavoklis 0 atspogul�o "l�dzska�nus". Kaut ar� nav parsteidzo²i, ka patska�ni

un l�dzska�ni ir atdal�ti, ir verts uzsvert, ka netika izdar�ti nekadi a-priori pie�nemumi par

slepto stavokl�u dabu.

Tika aprek�inati ar� slepta Markova model�a rezultati angl�u valodas fonemam. �im

fonemu SMM vispirms bija jaizveido fonetisks parraksts no Brown Corpus, izmantojot

izrunu vardn�cu. Neieverojot akcentu z�mes, izrunu vardn�ca satur 39 simbolus. Ar

diviem sleptiem stavokl�iem, izmantojot 50000 fonemas un 200 iteracijas, mes iegustam

rezultatus, kas apkopoti 3. tabula.

32

Page 33: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

3. tabula SMM rezultati angl�u valodas fonemam

Beigu B vert�bas Beigu B vert�basFonema Stavoklis 0 Stavoklis 1 Fonema Stavoklis 0 Stavoklis 1AH 0.0000000 0.2969759 EY 0.0000957 0.0460653Z 0.0468621 0.0013497 F 0.0272705 0.0000000AO 0.0000000 0.0353722 R 0.0772887 0.0000000T 0.1115366 0.0164165 UW 0.0024273 0.0420961W 0.0264391 0.0000000 N 0.1239146 0.0000000AA 0.0000000 0.0443532 B 0.0270710 0.0000000ER 0.0104758 0.0458586 G 0.0110797 0.0005440K 0.0533438 0.0000000 M 0.0451959 0.0000000D 0.0662517 0.0139417 EH 0.0000000 0.0763638V 0.0367820 0.0000000 AE 0.0000000 0.0781199IH 0.0000000 0.1464058 S 0.0804303 0.0101116IY 0.0079505 0.0596027 L 0.0653828 0.0000000OW 0.0000000 0.0273946 NG 0.0132029 0.0000000SH 0.0161295 0.0000000 HH 0.0211180 0.0000000AW 0.0001282 0.0131526 TH 0.0039602 0.0006984AY 0.0001135 0.0282771 JH 0.0123050 0.0000000P 0.0381176 0.0030524 CH 0.0094782 0.0000000ZH 0.0007316 0.0000000 Y 0.0104094 0.0000000DH 0.0545078 0.0000000 UH 0.0000000 0.0118911OY 0.0000000 0.0019568

Angl�u valodas fonemu SMM atkal var redzet t�ru at²k�ir�bu starp simboliem, kas ie-

dalas ²ajos divos sleptajos stavokl�os. Interesanti, ka ²aja fonemu SMM viens no sleptajiem

stavokl�iem "parstav" l�dzska�nu ska�nas, bet otrs- patska�nu ska�nas, tatad analogi ar angl�u

valodas teksta SMM.

3.3.4. Hamptonese SMM

Aprek�inos atsevi²k�u Hamptonese simbolu skaits bija 42. Tika aprek�inati ar� rezultati

2, 3, 4, 5 sleptajam stavoklim. Rezultati beigu matricas B gad�jumam ar diviem sleptiem

stavokl�iem ir uzdoti 4. tabula.

33

Page 34: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

4. tabula Hamptonese SMM rezultati

Beigu B vert�bas Beigu B vert�basSimbols Stavoklis 0 Stavoklis 1 Simbols Stavoklis 0 Stavoklis 1

2 0.0000000 0.0323915 14 0.0947011 0.0052195ee 0.0059456 0.0091797 76 0.0504303 0.013299195 0.0013590 0.0108613 96 0.0071626 0.0220520dc 0.0104561 0.0351127 EE 0.0141455 0.0141818vv 0.4873287 0.0000000 M 0.0430382 0.0014101F 0.0003230 0.0299307 N 0.0148755 0.0213175g 0.0095264 0.0144809 g7 0.0005227 0.0024017GG 0.0205943 0.0672325 Gi 0.0214469 0.0374094Ki 0.0716056 0.0740697 d3 0.0000000 0.0312281d4 0.0000000 0.0031228 Y3 0.0000000 0.2190866Y4 0.0000000 0.0394331 qL3 0.0000000 0.0681507qL4 0.0000241 0.0013892 4L 0.0068542 0.0112139uL 0.0010389 0.0019307 J1 0.0055702 0.0069672JJ 0.0089622 0.0288284 LL 0.0395888 0.0306004nn 0.0108177 0.0120475 P 0.0000000 0.0461686PL 0.0007135 0.0063528 P1 0.0000000 0.0184919P2 0.0000000 0.0407190 o3 0.0230629 0.0000000q3 0.0390770 0.0031463 S 0.0000000 0.02014523 0.0013213 0.0044007 T 0.0012893 0.0030790A 0.0005299 0.0008652 A_ 0.0044791 0.007588444 0.0027660 0.0042336 I 0.0004434 0.0002603

Pie�nemsim, ka slieksnis, kas paredzets, lai pievienotu simbolu stavoklim 0 vai stavoklim

1 ir 10 reizes. Tad rezultati 4. tabula uzrada, ka pieci simboli 14,M, q3, vv, o3 pieder

stavoklim 0, bet piecpadsmit citi simboli: 2, 96, F, g7, d3, d4, Y 3, Y 4, qL4, uL, P, P1, P2, S

pieder stavoklim 1. Ta£u joprojam atliku²ie 22 simboli nevar tikt ierindoti neviena no ²iem

stavokl�iem. �is ir krass kontrasts starp angl�u valodas burtu un fonemu SMM rezultatiem,

kur ,izmantojot tie²i tadus pa²us kriterijus, praktiski visi simboli ir pievienojami vienam

vai otram stavoklim.

Sal�dzinot angl�u valodas SMM rezultatus ar Hamptonese SMM rezultatiem, var se-

cinat, ka Hamptonese rakstu z�mes neatspogul�o angl�u valodas burtus vai fonemas.

3.3.5. Secinajumi

Ir daºadi izskaidrojumi ²iem Hamptonese SMM rezultati. Piemeram, var gad�ties,

ka mums nav pietiekams daudzums Hamptonese datu. Ir iespejams iegut angl�u valodas

SMM rezultatus, izmantojot tikai 10000 simbolus, kaut ar� Hamptonese z�mju skaits ir

vairak ka 29000.

Ja datu daudzums ir pietiekams, tad datu kvalitate var but neapmierino²a, tas

ir, Hamptonese dati ir l�oti trok²�naini. Tas var rasties sliktas parrakst�²anas vai ar�

J.Hamptona pierakstu kl�udu del�.

34

Page 35: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

Vel viena no problemam ir nepareiza Hamptonese datu interpretacija. Iespejams, ka

rakstu z�mju kombinacijas ir jasaprot ka simboli. �aja gad�juma atsevi²k�am Hamptonese

rakstu z�mem ir maza vai praktiski nekada semantiska noz�me, tatad sleptais Markova

modelis nespej tas klasi�cet. Ka piemers tam var kalpot rakstu z�me "Ki", kas teksta

paradas gan atsevi²k�i, gan ar� ka "Ki Ki". Beidzamais noteikti varetu but uzskat�ts par

atsevi²k�u rakstu z�mi.

Varbut, ka Hamptonese ir ²ifrs. Galeja gad�juma, Hamptonese var but ²ifrets, iz-

mantojot vienreizeju ²ifre²anu, tatad to at²ifret butu praktiski neiespejami. Bet petot

J.Hamptona vesturi, mes varam pie�nemt, ka vi�n² varejis but izveidot l�oti vaju ²ifre²anas

sistemu - sal�dzino²o Hamptonese noteikt�bu var uzskat�t par pierad�jumu tam. Sleptais

Markova modelis sniedza atbildi, ka Hamptonese ir vienkar²i aizvieto²anas metodes ²ifrs

angl�u valodai. Pec dzil�akas Hamptonese kriptoanal�zes var secinat, ka, faktiski, Hampto-

nese ir slikts ²ifrs.

Protams, ka neskatoties uz l�dz�bu valodai, Hamptonese ir tikai runato ska�nu pie-

raksts. Bet pat ²aja gad�juma butu interesanti turpinat ²os pet�jumus. 19. gadsim-

ta beigas fran£u mistik�e Helene Smith uzskat�ja, ka tad, kad vi�na atrodoties transa

stavokl�, gari vi�nu aizved uz Marsu, kur vi�na spej sarunaties ar marsie²iem. Vi�na marsie²u

zi�nojumus pierakst�ja nezinama raksta, kas velak izrad�jas sakar�gs un ar realas valodas

iez�mem. �is pieraksts bija fran£u valodas vienkar²ots variants.

35

Page 36: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

4. Secinajumi

Darba tika apskat�ta diskreto slepto Markova model�u teorija. Apskatot ar tematu

saist�to literaturu var secinat, ka teoretiska baze tika iesakta tikai nesen, bet joprojam

turpina strauji augt un tiek saist�ta ar visdaºadakajam zinatnes nozarem: medic�nu, �ziku,

informatiku, lingvistiku. �� simbioze dod labumu abam pusem: tiek izstradati jauni un

uzlaboti vecie algoritmi un metodes, lai atrisinatu konkreto problemu, vienlaic�gi l�aujot

izverst teoriju (piemeram, Beijesa t�kli, neironu t�kli).

Lai risinatu tr�s SMM pamatproblemas, noverte²anas, at²ifre²anas, apmac�bas, at-

tiec�gi tika izmantoti algoritmi: Forward un Backward, Viterbi, Baum-Welch. Darba gaita

pierad�jas, ka vislielakas problemas sagada tie²i Baum-Welch algoritms, kam ir "jut�gs"

pret izejas datiem un ar� noverojumu virknes gal�gumu (var rasties problemas, ja ir nepie-

tiekams daudzums noverojumu). Visi algoritmi tiek pla²i izmantoti problemu risina²ana.

Rakstot programmas kodus algoritmiem, tika apguta jauna un l�oti progres�va prog-

ramme²anas valoda Python 2.7 (bezmaksas un atverta koda programma). �� valoda

noteikti noderes nakotne, galvenokart, programme²anas nozare. Pa²u programmas kodu

rakst�²ana nesagadaja problemas, bet japiez�me, ka tas bija laikietilp�gs process, ko vel

vairak apgrutinaja ieguto rezultatu parbaude un ar� neprecizates, kas medz but sastopa-

mas literatura. Pseido piemers tika ar nodomu izvelets tads, lai to varetu pielietot visiem

algoritmiem (protams, ar nelielam izmai�nam), kas ar� deva prec�zus rezultatus. Ka tika

parad�ts apak²nodal�a 2.3, ir svar�gi, kadus sakotnejos parametrus izveleties, jo tas var

novest pie aplam�bam (dal�²anas ar nulli).

Faktiski, SMM tika lietoti realajos piemeros, jo ²ie matematiskie model�i vislabak

atbilst dotajai problemai, tiem ir izstradati algoritmi, kas ieverojami paatrina risina²anu

vai uzlabo parametrus. Nav izslegts, ka iespejams pastav kada cita, bet tikpat efekt�va,

alternat�va metode, bet tada meklejot netika atrasta.

Nakotnes perspekt�vas varetu but saist�tas ar slepto Markova model�u apskat�²anu

ne tikai to diskretaja, bet ar� nepartraukta gad�juma.

36

Page 37: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

Literatura

[1] http://en.wikipedia.org/wiki/Hidden_Markov_model

[2] http://en.wikipedia.org/wiki/Viterbi_algorithm

[3] P. Blunsom. Hidden Markov Models, 2004.

[4] G. L. Kouemou. History and Theoretical Basics of Hidden Markov Models, 2010.

[5] M. Karlsson. Hidden Markov Models, 2008.

[6] M. Singh, J. Parker. Pro�le Hidden Markov Models. Topics in Computational Mole-

cular Biology, 1999.

[7] M. Stamp, E. Le. Hamptonese and Hidden Markov Models, 2003.

37

Page 38: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

5. Pielikums

from __future__ import division

from itertools import *

class HMM:

def __init__(self, obs, states, start_p, trans_p, emit_p):

self.obs = obs

self.states = states

self.start_p = start_p

self.trans_p = trans_p

self.emit_p = emit_p

def print_dptable(self, M):

print " ",

for i in range(len(M)): print "%7s" % ("%d" % i),

print

for j in M[0].keys():

print "%7s: " %j,

for t in range(len(M)):

print "%.7s" % ("%f" % M[t][j]),

print

def forward(self):

self.alpha = [{}]

self.prob_alpha = 0

for i in self.states:

self.alpha[0][i] = self.start_p[i] * self.emit_p[i][self.obs[0]]

for t in range(1,len(self.obs)):

self.alpha.append({})

for i in self.states:

self.alpha[t][i] = self.emit_p[i][self.obs[t]]*sum(self.alpha[t-1][j] * self.trans_p[j][i] for

j in self.states)

self.prob_alpha = sum(self.alpha[t][j] for j in self.states)

return (self.alpha, self.prob_alpha)

def backward(self):

self.beta = []

self.prob_beta = 0

for t in range(len(self.obs)):

self.beta.append({})

for i in self.states:

if t == len(self.obs) - 1:

self.beta[t][i] = 1

else:

38

Page 39: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

self.beta[t][i] = 0

for t in reversed(range(len(self.obs))):

for i in self.states:

if t in range(len(self.obs)-1):

self.beta[t][i] = sum(self.beta[t+1][j] * self.trans_p[i][j] * self.emit_p[j][self.obs[t+1]]

for j in self.states)

self.prob_beta = sum(self.start_p[j] * self.emit_p[j][self.obs[0]] * self.beta[0][j] for j

in self.states)

return (self.beta, self.prob_beta)

def viterbi(self):

self.V = [{}]

self.prob_V = 0

self.path = {}

for i in states:

self.V[0][i] = self.start_p[i] * self.emit_p[i][self.obs[0]]

self.path[i] = [i]

for t in range(1,len(self.obs)):

self.V.append({})

newpath = {}

for i in states:

(self.prob_V, state) = max([(self.V[t-1][j] * self.trans_p[j][i] * self.emit_p[i][self.obs[t]],

j) for j in self.states])

self.V[t][i] = self.prob_V

newpath[i] = self.path[state] + [i]

self.path = newpath

(self.prob_V, state) = max([(self.V[len(self.obs) - 1][i], i) for i in self.states])

self.path = self.path[state]

return (self.V, self.path)

def baum_welch(self,iterations=3):

def reestimation():

self.xi = []

self.gamma = []

for t in range(len(self.obs)-1):

self.xi.append({})

for i in self.states:

self.xi[t][i] = {}

for j in self.states:

�rst_part = self.alpha[t][i] * self.trans_p[i][j] * self.beta[t+1][j] * self.emit_p[j][self.obs[t+1]]

second_part = sum(sum(self.alpha[t][i] * self.trans_p[i][j] * self.beta[t+1][j]\

* self.emit_p[j][self.obs[t+1]] for j in self.states) for i in self.states)

39

Page 40: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

self.xi[t][i][j] = �rst_part / second_part

for t in range(len(self.obs)-1):

self.gamma.append({})

for i in states:

�rst_part = self.alpha[t][i] * self.beta[t][i]

second_part = sum(self.alpha[t][j] * self.beta[t][j] for j in states)

self.gamma[t][i] = �rst_part / second_part

start_p_updated = {}

for i in states:

start_p_updated[i] = round(self.gamma[0][i],2)

trans_p_updated = {}

for i in states:

trans_p_updated[i] = {}

for j in states:

�rst_part = sum(self.xi[t][i][j] for t in range(len(self.obs)-1))

second_part = sum(self.gamma[t][i] for t in range(len(self.obs)-1))

trans_p_updated[i][j] = round(�rst_part / second_part,2)

emit_p_updated = {}

for j in self.states:

emit_p_updated[j] = {}

for k in self.obs:

�rst_part = 0

second_part = 0

for t in range(len(self.obs)-1):

if k == self.obs[t]:

�rst_part += self.gamma[t][j]

second_part += self.gamma[t][j]

emit_p_updated[j][k] = round(�rst_part / second_part,2)

self.start_p = start_p_updated

self.trans_p = trans_p_updated

self.emit_p = emit_p_updated

for i in range(iterations):

HMM.forward()

HMM.backward()

reestimation()

def execute(self,*args):

for arg in args:

if arg == "forward":

print "Forward algoritms"

self.forward()

40

Page 41: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

self.print_dptable(self.alpha)

print self.prob_alpha, observations

print("\n")

if arg == "backward":

print "Backward algoritms"

self.backward()

self.print_dptable(self.beta)

print self.prob_beta, observations

print("\n")

if arg == "viterbi":

print "Viterbi algoritms"

self.viterbi()

self.print_dptable(self.V)

print self.prob_V, self.path, observations

print("\n")

if arg == "baum_welch":

print "Baum-Welch algoritms"

self.forward()

self.backward()

self.baum_welch()

print "start_probability =",self.start_p

print "transition_probability =",self.trans_p

print "emission_probability =",self.emit_p

print("\n")

states = ("Bronza","Sudrabs","Zelts")

observations = ("Ls 10","Ls 500","Ls 10","Ls 5","Ls 100","Ls 500")

start_probability = {"Bronza":0.7,"Sudrabs":0.2,"Zelts":0.1}

transition_probability = {

"Bronza":{"Bronza":0.3,"Sudrabs":0.6,"Zelts":0.1},

"Sudrabs":{"Bronza":0.7,"Sudrabs":0.1,"Zelts":0.2},

"Zelts":{"Bronza":0.5,"Sudrabs":0.4,"Zelts":0.1}

}

emission_probability = {

"Bronza":{"Ls 5":0.1,"Ls 10":0.5,"Ls 100":0.2,"Ls 500":0.2},

"Sudrabs":{"Ls 5":0.6,"Ls 10":0.2,"Ls 100":0.1,"Ls 500":0.1},

"Zelts":{"Ls 5":0.3,"Ls 10":0.3,"Ls 100":0.3,"Ls 500":0.1}

}

HMM=HMM(observations, states, start_probability, transition_probability, emission_probability)

HMM.execute("forward","baum_welch","forward")

41

Page 42: DISKR ETIE SL EPTIE MARKOAV MODEL I UN TO PIELIETOJUMIhome.lu.lv/~valeinis/lv/studentu darbi/Eglitis_Martins... · 2012. 10. 4. · 1. Ievads ematsT etie"Diskreptie sl Markoav i modelun

Bakalaura darbs "Diskretie sleptie Markova model�i un to pielietojumi" iz-

stradats LU Fizikas un matematikas fakultate.

Ar savu parakstu apliecinu, ka pet�jums veikts patstav�gi, izmantoti tikai taja

norad�tie informacijas avoti un iesniegta darba elektroniska kopija atbilst izdrukai.

Autors:

_____________________ Marti�n² Egl�tis

(personiskais paraksts)

Rekomendeju darbu aizstave²anai

Vad�tajs: doc. Dr.math. Janis Valeinis

_____________________ _________________

(personiskais paraksts) (datums)

Recenzents: lektors Janis Smotrovs

Darbs iesniegts Matematikas nodal�a_____________________

(datums)

Dekana pilnvarota persona: vecaka metodik�e Dzintra Holsta

_____________________

(personiskais paraksts)

Darbs aizstavets diplomdarba valsts parbaud�juma komisijas sede

_________________ prot. Nr. ______

Komisijas sekretare: docente Margarita Buik�e _________________

(personiskais paraksts)