Anar al contingut

Algoritme d'alvanç-reculada

De L'Enciclopèdia, la wikipedia en valencià

Introducció

[editar | editar còdic]

Un dels problemes bàsics dels Models Amagats de Márkov és el càlcul de la provabilitat d'una seqüència d'observables O=(o1,o2,,oT) dau un model μ=(π,A,B). L'objectiu és per tant calcular eficientemente P(O|μ).

Provabilitat d'una seqüència S d'estats

Supongam una seqüència d'estats S=(q1,q2,,qT). La provabilitat d'esta seqüència és:

P(S|μ)=πq1aq1q2aq2q3aqT1qT

Provabilitat d'una seqüència d'observables O donada una seqüència d'estats S

La provabilitat d'observar O=(o1,o2,,oT) quan es dona precisament esta seqüència d'estats S és:

P(O|S,μ)=t=1TP(ot|qt,μ)

Cada P(ot|qt,μ) correspon en el valor de bqt(ot)

Provabilitat d'una seqüència d'observables O dau un model μ

Per tant, per a obtindre la provabilitat d'una seqüència O d'observables donat un model μ, deuríem calcular la provabilitat de O per a cada una de les seqüències possibles S.

P(O|μ)=SP(S|μ)P(O|S,μ)

El càlcul de P(O|μ) tal i com es mostra és impracticable; només per a 10 estats i 10 observacions seria necessari realisar de l'orde de 1011 operacions. Per a reduir esta complexitat s'ampren estratègies de programació dinàmica com els algoritmes forward i backward.

Es recomana revisar la formalisació habitual d'un Model Amagat de Márkov per a comprendre cada u dels elements en la formulació d'estos dos procediments.

Procediment cap a avant

[editar | editar còdic]

Càlcul de αt(i)

[editar | editar còdic]

Considerem la variable αt(i) com:

αt(i)=P(o1,o2,,ot,qt=i|μ)

Donat el model μ, αt(i) és la provabilitat d'observar o1,o2,,ot i estar en l'instant de temps t en l'estat i.

Càlcul cap a avant de la provabilitat d'una seqüència d'observacions.

Inicialización

α1(i)=πibi(o1),

1iN

Recurrencia

αt+1(j)=[i=1Nαt(i)aij]bj(ot+1)

t=1,2,,T1, 1jN

Terminació

P(O|μ)=i=1NαT(i)

Eixemple de càlcul de α4(3)

[editar | editar còdic]

L'esquema mostra els estats i provabilitats necessàries per al càlcul de α4(3):

Algoritme forward

α4(3)=[i=15α3(i)ai3]b3(o4)


Referències

[editar | editar còdic]