Aller au contenu
Kudos AI

Processus de Markov et modèles de capteur

L'état face à l'évidence, l'hypothèse de Markov qui borne le passé, l'hypothèse de Markov sur les capteurs qui borne le présent, et la loi jointe que toutes deux factorisent.

AvancéModule 125 min · 100 XP
Une chaîne d’états cachés se déroulant vers la droite, chacun laissant tomber une observation en dessous de lui, avec les flèches délibérément absentes dessinées en contour.

Tous les modèles vus jusqu’ici décrivaient un monde qui reste immobile pendant que vous raisonnez sur lui. Voici que le monde change, et que vous l’observez à travers un capteur qui ment parfois. L’appareillage nécessaire se révèle être le réseau bayésien du parcours précédent, déroulé dans le temps et rendu répétitif à dessein.

État et évidence

Séparez les variables en deux.

  • Xt\mathbf{X}_t est l’état à l’instant tt : ce qui est effectivement vrai, et que vous ne pouvez pas observer.
  • Et\mathbf{E}_t est l’évidence à l’instant tt : ce que rapportent vos capteurs. L’observation est Et=et\mathbf{E}_t = \mathbf{e}_t.

Le temps est découpé en pas de taille fixe, si bien que tt compte des tranches plutôt que des secondes. L’intervalle est un choix de modélisation ; les algorithmes s’en moquent.

Le monde du parapluie

L’exemple de Russell et Norvig est délibérément minuscule. Vous êtes gardien de sécurité dans une installation souterraine. Vous voulez savoir s’il pleut aujourd’hui, et votre seul contact avec le monde extérieur est de voir le directeur arriver chaque matin avec ou sans parapluie. Ainsi RtR_t (pluie aujourd’hui) est l’état, UtU_t (parapluie aujourd’hui) est l’évidence, et tout le problème consiste à inférer une variable cachée à partir d’un indicateur indirect.

P(R0)=⟨0.5, 0.5⟩P(rt∣rt−1)=0.7P(rt∣¬rt−1)=0.3P(ut∣rt)=0.9P(ut∣¬rt)=0.2\begin{array}{ll} P(R_0) = \langle 0.5,\ 0.5 \rangle & \\[4pt] P(r_t \mid r_{t-1}) = 0.7 & P(r_t \mid \lnot r_{t-1}) = 0.3 \\[4pt] P(u_t \mid r_t) = 0.9 & P(u_t \mid \lnot r_t) = 0.2 \end{array}

Lisez ces trois blocs comme un a priori, un modèle de transition et un modèle de capteur. La pluie persiste : un jour pluvieux est suivi d’un autre avec probabilité 0.70.7. Le directeur est un indicateur correct mais imparfait : il porte un parapluie 90%90\% des jours de pluie, et 20%20\% des jours secs tout de même.

Deux hypothèses

Un historique n’a pas de longueur bornée, si bien que P(Xt∣X0:t−1)P(\mathbf{X}_t \mid \mathbf{X}_{0:t-1}) fait intervenir une loi conditionnelle dont l’ensemble des parents croît sans limite. Deux hypothèses le rabotent.

L’hypothèse de Markov. L’état courant ne dépend de l’historique qu’à travers un nombre borné d’états précédents. En n’en prenant qu’un, on obtient un processus de Markov d’ordre un :

P(Xt∣X0:t−1)=P(Xt∣Xt−1).\mathbf{P}(\mathbf{X}_t \mid \mathbf{X}_{0:t-1}) = \mathbf{P}(\mathbf{X}_t \mid \mathbf{X}_{t-1}).

L’hypothèse de Markov sur les capteurs. La mesure courante ne dépend que de l’état courant :

P(Et∣X0:t,E0:t−1)=P(Et∣Xt).\mathbf{P}(\mathbf{E}_t \mid \mathbf{X}_{0:t}, \mathbf{E}_{0:t-1}) = \mathbf{P}(\mathbf{E}_t \mid \mathbf{X}_t).

Toutes deux sont des affirmations sur l’état, non sur la physique ou le matériel. Si la mesure d’hier vous apprend encore quelque chose sur celle d’aujourd’hui une fois l’état d’aujourd’hui connu, c’est qu’il manque quelque chose à votre variable d’état.

Quand l’hypothèse est fausse, élargissez l’état. Si la pluie d’aujourd’hui dépend réellement des deux jours précédents, vous avez deux remèdes. Augmenter l’ordre du modèle, en laissant RtR_t dépendre de Rt−1R_{t-1} et de Rt−2R_{t-2} ; ou le garder d’ordre un et enrichir l’état, en ajoutant Seasont\mathit{Season}_t ou Pressuret\mathit{Pressure}_t de sorte que la dépendance supplémentaire passe par une variable plutôt que par le temps. Le second est en général meilleur, parce qu’il énonce quelque chose sur le monde plutôt qu’il ne rapièce.

Nous supposons aussi que le processus est stationnaire : les modèles de transition et de capteur sont les mêmes à chaque pas. C’est ce qui permet à deux petites tables de décrire un historique de longueur quelconque. Stationnaire ne veut pas dire statique - le monde change, ce sont les lois qui ne changent pas.

La loi jointe

Avec ces hypothèses, le modèle est un réseau bayésien ordinaire dans lequel le seul parent de chaque état est l’état précédent et le seul parent de chaque observation est son propre état. La sémantique est celle du parcours précédent :

P(X0:t,E1:t)  =  P(X0)∏i=1tP(Xi∣Xi−1) P(Ei∣Xi).P(\mathbf{X}_{0:t}, \mathbf{E}_{1:t}) \;=\; P(\mathbf{X}_0) \prod_{i=1}^{t} P(\mathbf{X}_i \mid \mathbf{X}_{i-1})\, P(\mathbf{E}_i \mid \mathbf{X}_i).

Trois facteurs décrivent un historique de longueur quelconque, et c’est là tout le bénéfice.

Exemple travaillé : la probabilité d’un historique

Supposons qu’il pleuve les deux jours et que le parapluie apparaisse les deux fois. En lisant une entrée par facteur :

P(r1,r2,u1,u2)=∑r0P(r1∣r0)P(r0)⏟0.7×0.5+0.3×0.5 = 0.5×P(u1∣r1)×P(r2∣r1)×P(u2∣r2)=0.5×0.9×0.7×0.9=0.2835.\begin{aligned} P(r_1, r_2, u_1, u_2) &= \underbrace{\textstyle\sum_{r_0} P(r_1 \mid r_0) P(r_0)}_{0.7 \times 0.5 + 0.3 \times 0.5 \,=\, 0.5} \times P(u_1 \mid r_1) \times P(r_2 \mid r_1) \times P(u_2 \mid r_2) \\ &= 0.5 \times 0.9 \times 0.7 \times 0.9 \\ &= 0.2835 . \end{aligned}
Python

S'exécute dans votre navigateur. La première exécution télécharge l'environnement Python (~10 Mo), puis il est mis en cache.

Parce que tout historique a une probabilité, toute question sur le monde a une réponse : sommez les historiques qui s’accordent avec elle. C’est correct et sans espoir - il y en a 2t2^t. La leçon suivante explique comment ne pas les énumérer.

Voici cette chaîne avec ses entrées. Chaque flèche porte l’unique entrée de table qu’elle apporte, et le produit en dessous est l’historique que vous avez choisi : changez un jour, et exactement deux entrées bougent. Le compte à côté est le prix de la réponse honnête, et il double à chaque jour ajouté. Le panneau du bas énonce l’hypothèse de Markov sur le capteur en quatre nombres, car c’est celle que l’on sur-interprète : le parapluie d’hier dit bel et bien quelque chose sur celui d’aujourd’hui, et cesse de rien dire dès que la pluie d’aujourd’hui est connue.

Interactif : une entrée par facteur

Cliquez sur un jour pour changer le temps ou le parapluie.

0.500.90RUJour 10.700.90RUJour 2
Jour 1
Jour 2
Probabilité de cette histoire
0.2835
Histoires de cette longueur
4
Probabilité de ces parapluies
0.3515
Part de cette histoire
80.7%

Chaque flèche apporte exactement une entrée de table, et le produit vaut 0.2835. Trois tables, 2 jours, et rien de plus gros qu’une conditionnelle à quatre entrées. Le coût est juste en dessous : répondre honnêtement à une question quelconque, c’est additionner les 4 histoires de cette longueur, et ce nombre double chaque jour. Il est en outre très déséquilibré : cette seule histoire porte 80.7% du poids que les observations autorisent. La leçon suivante supprime entièrement cette somme. En dessous, l’hypothèse qui le permet, en quatre nombres : le parapluie d’hier dit manifestement quelque chose sur celui d’aujourd’hui, et ne dit plus rien dès que la pluie d’aujourd’hui est connue.

Ce que dit vraiment l’hypothèse de Markov sur le capteur

P(parapluie aujourd’hui)
0.550
sachant le parapluie d’hier
0.639
sachant la pluie d’aujourd’hui
0.900
sachant la pluie et le parapluie d’hier
0.900

Les quatre questions

Tout ce que fait le reste de ce parcours se range dans quatre tâches.

  • Filtrage : P(Xt∣e1:t)\mathbf{P}(\mathbf{X}_t \mid \mathbf{e}_{1:t}), la croyance sur le présent étant donné tout ce qui précède. C’est ce qu’entretient un agent en fonctionnement.
  • Prédiction : P(Xt+k∣e1:t)\mathbf{P}(\mathbf{X}_{t+k} \mid \mathbf{e}_{1:t}) pour k>0k > 0, la croyance sur un état futur.
  • Lissage : P(Xk∣e1:t)\mathbf{P}(\mathbf{X}_k \mid \mathbf{e}_{1:t}) pour k<tk < t, une meilleure estimation d’un état antérieur, obtenue avec le recul.
  • Explication la plus probable : argmax⁡x1:tP(x1:t∣e1:t)\operatorname*{argmax}_{\mathbf{x}_{1:t}} P(\mathbf{x}_{1:t} \mid \mathbf{e}_{1:t}), l’unique historique qui explique le mieux les observations.

Les trois premières partagent une même récursion. La quatrième, de façon trompeuse, non.

Avant le quiz

Sachez séparer l’état de l’évidence, énoncer les deux hypothèses de Markov et dire quel objet chacune contraint, écrire la loi jointe comme un produit de facteurs a priori, de transition et de capteur, et nommer les deux remèdes quand l’hypothèse s’ajuste mal.

Références et lectures complémentaires

  • Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach, Pearson (3rd edition), 2010· Bibliothèque de référence Kudos AI

Les œuvres protégées par le droit d’auteur sont citées à titre de référence uniquement et ne sont pas hébergées ici ; veuillez consulter l’éditeur pour y accéder.

Débloquez tout le parcours

Cette première leçon est gratuite. Inscrivez-vous pour passer le quiz de maîtrise, gagner de l’XP et débloquer tous les modules, avec d’autres exemples interactifs et exécutables.