HK07 – Les 5 Verborgen Markov modellen Yves Moreau 3de jr. Burg. Ir. Elektrotechniek Dataverwerking & Automatisatie
Schatting van frequentiematrices Schatting van waarschijnlijkheden op basis van tellingen Zie bvb. Positie-Specifieke ScoringsMatrix in PSI-BLAST Voorbeeld: matrix model van een locaal motief GACGTG CTCGAG CGCGTG AACGTG CACGTG Tel het aantal instanties in de kolom
Indien er veel (N>>) gealigneerde sites zijn, kunnen we de frequenties schatten als Dit is de maximum aannemelijkheidschatting voor
‘Pseudocounts’ Als er maar een beperkt aantal tellingen is, is de lmaximumaannemelijkheidschatting niet betrouwbaar (bvb., voor symbolen die niet geobserveerd zijn in de gegevens) In zo een geval willen we de observaties combineren met prior kennis Stel dat we voor een Dirichlet prior gebruiken: Laten we de Bayesiaanse update berekenen
Bayesiaanse update =1 omdat beide verdelingen genormalizeerd zijn Berekening van de posterior gemiddelde schatting Normalizatie-integrale Z(.)
‘Pseudocounts’ Pseudocounts De prior levert een contributie in de schatting in de vorm van pseudogegevens Als weinig gegevens beschikbaar zijn, dan speelt de prior een belangrijke rol Als veel gegevens beschikbaar zijn, dan spelen de pseudogegevens een verwasloorbare rol
Dirichlet mengeling Soms worden de gegevens gegenereerd door een heterogeen process (bvb., hydrophobische vs. hydrophilische domeinen in proteïnen, AT-rijke vs. GC-rijke gebieden in DNA) In dergelijke situaties zouden we verschillende priors willen gebruiken afhankelijk van de context Maar we kennen niet noodzakelijk de context op voorhand Een mogelijkheid is het gebruik van een Dirichlet mengeling (de parameters kunnen voortkomen uit m verschillende bronnen)
Dirichlet mengeling Posterior Via de regel van Bayes
Dirichlet mengeling Integratie om de posterior gemiddelde schatting te berekenen De verschillende componenten van de Dirichlet mengeling worden eerst als aparte pseudocounts beschouwd Daarna worden die gecombineerd met een gewicht afhankelijk van de aannemelijkheid van de Dirichlet component
Schatting van de prior De prior 1,..., k kan geschat worden via maximum likelihood op een grote referentie dataset Waarom maximum likelihood en geen Bayesiaanse schatting? Onmogelijk om steeds verder priors op te bouwen Start met zelf-gekozen prior Kennis gebaseerd Niet informatief Bouw prior op met ML methoden
Overzicht Verborgen Markov modellen Schatting van sequentie- en toestandwaarschijnlijkheden Viterbi schatting van het beste toestandpad Het voorwaartse algoritme voor de schatting van de waarschijnlijkheid van een sequentie Het achterwaartse algoritme voor de schatting van toestandwaarschijnlijkheden Parameterschatting voor verborgen Markov modellen Parameterschatting met gekende toestandpaden Parameterschatting met onbekende toestandpaden Viterbi training Baum-Welch training
Regular expressions Alignering Regular expression Probleem: regular expression kan niet het verschil maken tussen Uitzonderlijk TGCTAGG Consensus ACACATC ACA---ATG TCAACTATC ACAC--AGC AGA---ATC ACCG--ATC [AT][CG][AC][ACGT]*A[TG][GC]
Verborgen Markov model A.8 C 0 G 0 T.2 A 0 C.8 G.2 T 0 A.8 C.2 G 0 T 0 A 1 C 0 G 0 T 0 A 0 C 0 G.2 T.8 A 0 C.8 G.2 T 0 A.2 C.4 G.2 T Sequentiescore Transitiewaarschijnlijkheden Emissiewaarschijnlijkheden
Log odds In praktijk, logaritmes voor scalering en normalizatie t.o.v. random Log odds voor sequentie S : A: 1.16 T:-0.22 C: 1.16 G:-0.22 A: 1.16 C:-0.22 A: 1.39 G:-0.22 T: 1.16 C: 1.16 G:-0.22 A:-0.22 C: 0.47 G:-0.22 T:
Log odds SequentieLog odds ACAC--ATC (consensus) 6.7 ACA---ATG 4.9 TCAACTATC 3.0 ACAC--AGC 5.3 AGA---ATC 4.9 ACCG--ATC 4.6 TGCT--AGG (uitzonderlijk) -0.97
Markov keten Sequentie: Voorbeeld van Markov keten Probabilistisch model van een DNA sequentie A CG T Transitiewaarschijnlijkheden
Markov eigenschap Waarschijnlijkheid van een sequentie via de regel van Bayes Markov eigenschap “De toekomst is enkel functie van het heden en niet van het verleden”
Begin en einde van een sequentie Waarschijnlijkheidsberekening is niet homogeen Lengteverschillen worden niet gemodeleerd Oplossing Modelering van begin en einde van de sequentie De waarschijnlijkheid om een sequentie van een bepaalde lengte te observeren daalt exponentieel met de lengte van de sequentie A CG T
Verborgen Markov model A.8 C 0 G 0 T.2 A 0 C.8 G.2 T 0 A.8 C.2 G 0 T 0 A 1 C 0 G 0 T 0 A 0 C 0 G.2 T.8 A 0 C.8 G.2 T 0 A.2 C.4 G.2 T Sequentiescore Transitiewaarschijnlijkheden Emissiewaarschijnlijkheden
Verborgen Markov model In een verborgen Markov model, observeren wij de symboolsequentie x maar we willen de verborgen toestandsequentie (het pad ) reconstrueren Transitiewaarschijnlijkheden Emissiewaarschijnlijkheden Gezamenlijke waarschijnlijkheid van sequentie en pad
Casino (I) - probleemstelling De casino gebruikt meestal een faire dobbelsteen maar schakelt soms over naar een vervalste dobbelsteen We observeren de uitkomst x van de opeenvolgende worpen maar willen weten wanneer de dobbelsteen fair of vervalst was (pad ) 1: 1/6 2: 1/6 3: 1/6 4: 1/6 5: 1/6 6: 1/6 1: 1/10 2: 1/10 3: 1/10 4: 1/10 5: 1/10 6: 1/ Fair Vervalst
Schatting van sequentie- en toestandwaarschijnlijkheden
Het Viterbi algoritme We zoeken het meest waarschijnlijke pad * Dit probleem kan aangepakt worden via dynamisch programmeren Laten we v k (i) definieren als de waarschijnlijkheid van het meest waarschijnlijke pad die in toestand k eindigt met symbool i Dan kunnen we deze waarschijnlijkheid recursief berekenen als
Het Viterbi algoritme Viterbi algoritme groeit dynamisch het beste pad van begin tot einde Initiele conditie : sequentie in begintoestand Traceback pointers volgen het beste pad (= decodering)
Casino (II) - Viterbi
Het voorwaartse algoritme Het voorwaartse algoritme laat toe de waarschijnlijkheid P(x) van een sequentie te schatten t.o.v. van een verborgen Markov model Dit is belangrijk voor het berekenen van posterior waarschijnlijkheden en voor het vergelijken van Markov modellen De som over alle paden (exponentieel veel) kan berekend worden via dynamish programmeren Laten we f k (i) definieren als de waarschijnlijkheid van de sequentie voor de paden die in toestand k eindigen bij symbool i Dan kunnen we deze waarschijnlijkheid recursief berekenen als
Het voorwaartse algoritme Het voorwaartse algoritme groeit de totale waarschijnlijkheid dynamisch voorwaarts (van begin tot einde) Initiele conditie : sequentie in begintoestand Einde : alle toestanden convergeren naar eindtoestand
Het achterwaartse algoritme Het achterwaartse algoritme laat toe de waarschijnlijkheid te berekenen van de gehele sequentie gezamenlijk met de conditie dat symbool x i in toestand k zit Dit is belangrijk om de waarschijnlijkheid van een bepaalde toestand op symbool x i te berekenen P(x 1,...,x i, i =k) kan berekend worden via voorwaartse algoritme f k (i) Laten we b k (i) definieren als de waarschijnlijkheid van de rest van de sequentie voor de paden die in toestand k door symbool x i passeren
Het achterwaartse algoritme Het achterwaartse algoritme groeit de waarschijnlijkheid b k (i) dynamisch achterwaarts (van einde tot begin) Grensconditie : start in eindtoestand Eens beide voorwaartse en achterwaartse waarschijnlijkhedeb beschikbaar zijn, kunnen we de posterior waarschijnlijkheid van een toestand berekenen
Posterior decodering In plaats van het meest waarschijnlijke pad te gebruiken voor de decodering (Viterbi), kunnen we het pad van de meest waarschijnlijke toestanden gebruiken Het pad ^ kan “illegaal” zijn ( P( ^ |x)=0 ) Deze aanpak kan gebruikt worden als men geinteresseerd is in een functie g(k) van de toestand (e.g., labeling)
Casino (III) – posterior decodering Posterior waarschijnlijkheid van de toestand “fair” t.o.v. de dobbelsteenworpen
Casino (IV) – posterior decodering Nieuwe situatie : P(x i+1 = FAIR | x i = FAIR) = 0.99 Viterbi decodering kan de vervalsing niet detecteren uit 1000 worpen, posterior decodering wel 1: 1/6 2: 1/6 3: 1/6 4: 1/6 5: 1/6 6: 1/6 1: 1/10 2: 1/10 3: 1/10 4: 1/10 5: 1/10 6: 1/ Fair Vervalst
Parameterschatting voor verborgen Markov modellen
Keuze van de topologie Voor de parameterschatting, veronderstellen we dat de topologie van het verborgen Markov model gekend is Keuze van topologie is een belangrijke designkeuze Duurmodellen “Silent states” voor gaps
Parameterschatting met gekende paden Verborgen Markov model met parameters (transitie- en emissiewaarschijnlijkheden) Trainingsverzameling D van N sequenties x 1,...,x N Score van het model is aannemelijkheid van de parameters gezien de gegevensverzameling
Parameterschatting met gekende paden Indien de toestandpaden gekend zijn, worden de parameters geschat via tellingen (hoe vaak wordt een transitie gebruikt, hoe vaak wordt een symbool geproduceerd in een toestand) Gebruik van ‘pseudocounts’ indien nodig A kl = aantal transities van k naar l in trainingsverzameling + pseudocount r kl E k (b) = aantal emissies van b uit k in trainingsverzameling + pseudocount r k (b)
Parameterschatting met onbekende paden : Viterbi training Strategie : iteratieve methode Veronderstel dat de parameters gekend zijn en vind het beste pad Gebruik de Viterbi decodering om de parameters te schatten Itereer tot convergentie Viterbi training maximizeert de aannemelijkheid van de parameters niet Viterbi training convergeert exact in een eindig aantal stappen
Parameterschatting met onbekende paden : Baum-Welch training Strategie : gelijklopend met Viterbi maar de verwachte waarden voor het aantal transities en emissies wordt gebruikt (in plaats van enkel het beste pad te gebruiken) Voor de transities Voor de emissies
Parameterschatting met onbekende paden : Baum-Welch training Initialisatie : Kies willekeurige modelparameters Recursie : Zet alle transitie- en emissievariabelen op hun pseudocount Voor alle sequenties j = 1,...,n Bereken f k (i) voor sequentie j met het voorwaartse algoritme Bereken b k (i) voor sequentie j met het achterwaartse algoritme Voeg de bijdrage toe aan A en E Bereken de nieuwe modelparameters a kl =A kl / kl’ en e k (b) Bereken de log-aannemelijkheid van het model Einde : stop wanneer de log-aannemelijkheid niet meer verandert dan een gegeven drempel of het maximum aantal iteraties is overschreden
Casino (V) – Baum-Welch training 1: : : : : : : : : : : : Fair Vervalst 1: : : : : : : : : : : : Fair Vervalst 1: 1/6 2: 1/6 3: 1/6 4: 1/6 5: 1/6 6: 1/6 1: 1/10 2: 1/10 3: 1/10 4: 1/10 5: 1/10 6: 1/ Fair Vervalst Oorspronkelijk model 300 worpen worpen
Numerieke stabiliteit Veel uitdrukkingen bevatten producten van waarschijnlijkheden Dit veroorzaakt underflows als we deze uitdrukkingen berekenen Voor Viterbi kan dit opgelost worden door met logaritmes te werken Voor de voorwaartse en achterwaartse algoritmen kan er met logaritmes gewerkt worden via een benadering of kan er met een herschalering van de variabelen gewerkt worden
Samenvatting Verborgen Markov modellen Schatting van sequentie- en toestandwaarschijnlijkheden Viterbi schatting van het beste toestandpad Het voorwaartse algoritme voor de schatting van de waarschijnlijkheid van een sequentie Het achterwaartse algoritme voor de schatting van toestandwaarschijnlijkheden Parameterschatting voor verborgen Markov modellen Parameterschatting met gekende toestandpaden Parameterschatting met onbekende toestandpaden Viterbi training Baum-Welch training