IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de...
-
Upload
angelique-thomas -
Category
Documents
-
view
131 -
download
7
Transcript of IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de...
IFT 615IFT 615Intelligence ArtificielleIntelligence Artificielle
Jean-François Landry
Département d’informatique
Université de Sherbrooke
Révision – Examen finalhttp://planiart.usherbrooke.ca/~jflandry/ift615/
Sujets principauxSujets principaux
Réseaux bayésiens
Réseaux de neurones
Réseaux bayésiens dynamiques
Logique du premier ordre
Systèmes experts à base de règles
IFT615 2
RB - SyntaxeRB - Syntaxe
Un RB est un graphe
orienté,
acyclique,
dont les nœuds sont des variables (le plus souvent aléatoires) et
les arcs représentent
» des dépendances (causalités) probabilistes entre les variables et
» des distributions de probabilités conditionnelles (locales) pour
chaque variable étant donné ses parents.
IFT615 3
ExempleExemple La topologie du RB modélise la
connaissance causale. Un arc d’un nœud X vers un nœud Y
signifie que la variable X influence la variable Y.
Un cambriolage peut déclencher l’alarme.
Un séisme aussi. L’alarme peut inciter Jean à appeler. Idem pour Marie à appeler.
Pour chaque nœud, une table de probabilité conditionnelle (TPC) donne la probabilité pour chaque valeur du nœud étant donné les combinaisons des valeurs des parents du nœud.
Cambriolage Séisme
Alarme
JeanApelle MarieAppelle
C S P(A|C,S)
T T .95T F .94 F T .29 F F .001
A P(J|A)T .90F .05
A P(M|A)T .70F .01
P(C)
.001
P(S)
.002
IFT615 4
DéfinitionsDéfinitions S’il y a un arc d’un nœud X vers un
nœud Y, cela signifie que la variable X influence la variable Y. X est appelé le parent de Y. Parents(X) est l’ensemble des
parents de X. Si X n’a pas de parents, sa distribution
de probabilités est dite inconditionnelle ou à priori.
Si X a des parents, sa distribution de probabilités est dite conditionnelle (par rapport aux parents) ou à postériori.
Deux variables sont indépendantes si
Si X est une variable observée, ont dit que c’est une évidence.
Cambriolage Séisme
Alarme
JeanApelle MarieAppelle
C S P(A|C,S)
T T .95T F .94 F T .29 F F .001
A P(J|A)T .90F .05
A P(M|A)T .70F .01
P(C)
.001
P(S)
.002
IFT615 5
Rappel de notions de base en Rappel de notions de base en probabilitésprobabilités
P(X,Z) = P(X|Z)P(Z). P(Z,X) = P(Z|X)P(X).
On en déduit
P(X|Z) = P(X,Z) / P(Z) P(X|Z) = P(Z|X)P(X) / P(Z) Règle de Bayes
Si on a une distribution conjointe pour P(Z,Y) on peut calculer la distribution P(Z) par la somme des probabilités pour toutes les valeurs possibles de Y (marginalisation): P(Z) = Σy P(Z, Y = y).
Si on a une distribution conditionnelle P(Z|Y), on peut « conditionner » : P(Z) = Σy P(Z | Y = y)P(Y=y).
P(Z) peut donc être considéré comme un facteur constant, α
IFT615 6
Rappel de notions de base en Rappel de notions de base en probabilitésprobabilités
Ceci nous donne
P(X|Z) = α P(X,Z) α est une constante de normalisation pour s’assurer que la somme des
probabilités de la distribution P(X,Z) soit égale à 1.
De manière générale, soit X, l’ensemble de variables pour laquelle on fait l’interrogation, E, les variables d’évidences (qu’on peut observer) et Y, les variables cachées (qu’on ne peut pas observer). e, les valeurs observées pour les variables dans E.
P(X|E=e) = α P(X,E=e) = Σy P(X, E=e, Y = y)
Noté aussi P(X|e) = α Σy P(X, e, y)
IFT615 7
Inférence par énumérationInférence par énumération
On a vu que : P(X|e) = α Σy P(X, e, y) où e=evidence, et y=variables
cachées.
On a vu aussi que selon la sémantique d’un RB
P(X1, … ,Xn) = π i = 1 P (Xi | Parents(Xi))
Les termes P(X, e, y) peuvent donc s’écrire comme le produit des
probabilités conditionnelles du réseau.
En d’autre termes, on peut calculer la réponse à une interrogation
P(X|e) sur un RB, simplement en calculant les sommes des produits
des probabilités conditionnelles du RB. Algorithme Figure 14.9, Page 506 du livre.
n
IFT615 8
ExempleExemple P(Cambriolage | JeanApelle = T, MarieAppelle = T )
Noté P(C | j, m)
Les variables cachées sont Séisme et
Alarme.
P(C | j, m) = α Σs,a P(C, s, a, j, m)
Note : s et a veulent dire, toutes les
valeurs possibles de S=s et A=a variables.
Ne pas confondre avec j et m qui sont des
évidences fixes (J=j et M=m).
Cambriolage Séisme
Alarme
JeanApelle MarieAppelle
C S P(A|C,S)
T T .95T F .94 F T .29 F F .001
A P(J|A)T .90F .05
A P(M|A)T .70F .01
P(C)
.001
P(S)
.002
IFT615 9
ExempleExemple P(C | j, m) = α Σs,a P(C, s, a, j, m)
On calcule pour C = true
P(c | j, m)
= α Σs,a P(c)P(s)P(a|c,s)P(j|a)P(m|a)
=0.001*0.002*0.95*0.90*0.70+
0.001*0.998*0.94*0.90*0.70+
0.001*0.02*0.05*0.05*0.01+
0.001*0.998*0.06*0.05*0.01
=α (0.00059224) Et C = false
P(c | j, m)
= α Σs,a P(┐c)P(s)P(a| ┐c,s)P(j|a)P(m|a)
= α (0.0014919)
α = 1/(0.00059224+ 0.00059224) Donc, P(C | j, m) = [0.284, 0.716]
Cambriolage Séisme
Alarme
JeanApelle MarieAppelle
C S P(A|C,S)
T T .95T F .94 F T .29 F F .001
A P(J|A)T .90F .05
A P(M|A)T .70F .01
P(C)
.001
P(S)
.002
IFT615 10
Apprentissage d’un RBApprentissage d’un RB
La structure d’un RB (le graphe) est le plus souvent spécifiée à l’aide d’un
expert.
Dans d’autres applications, la structure est générée automatiquement à
partir des données statistiques.
C’est un des problèmes d’apprentissage machine.
Dans d’autres problèmes, on connaît la structure du RB, mais on ne connaît
pas les TPC.
Là aussi, on peut les apprendre à partir des données statistiques.
C’est un autre problème d’apprentissage machine.IFT615 11
Diagrammes d’influenceDiagrammes d’influence
Un diagramme d’influence (DI) est une extension d’un RB avec des nœuds
de décision et des nœuds d’utilité.
Les nœuds habituels d’un RB sont appelés des nœuds chances.
On ajoute :
» Des nœuds de décision représentant une prise de décision
» Des nœuds d’utilité représentant l’utilité (coût ou degré de
désirabilité) des nœuds chances influencés par les actions.
Ainsi on peut modéliser des prises des décisions simples Pour des décisions complexes (séquentielles), les processus de décision de
Markov sont généralement préférables.
IFT615 12
RésuméRésumé
Un RB est un graphe orienté, acyclique, représentant des connaissances
causales, et reflétant les dépendances conditionnelles entre des variables.
La topologie du réseau (arcs entres les variables) et les TPC donnent une représentation compacte de la distribution conjointe des probabilités.
Les connaissances du réseau (liens de causalité et probabilités) sont généralement obtenus avec l’aide d’un expert.
Pour des applications concrètes, ceci peut être très laborieux.
Un diagramme d’influence est un réseau bayésien avec des nœuds de
décision et des nœuds d’utilité.IFT615 13
Exemple Exemple – fichier PDF
© É. Beaudry & F. Kabanza 14IFT615
Réseaux bayésiens dynamiques (RBD) Comment modéliser des situations dynamiques?
Les changements dynamiques peuvent être vues comme une séquence d’états, chaque état représentant la situation à un instant donné.
Xt : Ensemble des variables non observables décrivant l’état au temps t.
Et : Ensembles de variables observées (évidence) au temps t.
Le terme dynamique réfère au dynamisme du système qu’on veut modéliser et la structure du réseau.
IFT615 15
Problème: Il faudrait spécifier un nombre infini de tables de probabilité
conditionnelle: une pour chaque variable, dans chaque état. Chaque table pourrait impliquer un nombre infini de parents.
Solution:
1. Supposer que les changements dynamiques sont causées par un processus stationnaire - les probabilités ne changent pas dans le temps: P(Xt | Parent(Xt)) est la même pour tous les t.
2. Supposer que les changements dynamiques sont causées par un processus markovien – l’état courant dépend seulement d’un nombre fini d’états précédents. Processus markoviens du premier ordre:
• P(Xt | X0:t-1) = P(Xt | Xt-1) modèle pour les transitions
3. Supposer que l’évidence dépend uniquement de l’état courant.
• P(Et | X0:t ,E0:t-1) = P(Et | Xt) modèle pour les
• observations/capteurs
RBD - Représentation
IFT615 16
RBD - Illustrations
2tX 1tX 2tX1tXtX
2tX 1tX 2tX1tXtX
RBD du second ordre
Réseau bayesien dynamique (RBD) du premier ordre avec une seule variable X, répliquées dans les différents états pour modéliser la
dynamique du système.
IFT615 17
RBD Comment rendre un RBD plus précis?
1. Augmenter l’ordre du modèle markovien. Par exemple, Raint aurait comme parents, non seulement Raint-1 mais aussi Raint-2 pour un processus markovien du second ordre. Ceci donnerait des prédictions plus précises.
2. Augmenter le nombre de variables d’états. Par exemple, on pourrait ajouter:
» Une variable Seasont pour tenir compte des statistiques historiques sur les temps de pluie selon les saisons.
» Des variables Temperaturet , Humidityt and Pressuret pour tenir compte de la physique des conditions de pluie.
IFT615 18
Types d’inférence dans un RBD
Filtrage (filtering) ou monitorage/surveillance (monitoring) Prédiction, lissage Explication la plus plausible (séquence d’états)
Des algorithmes pour des RBD générales existent pour chaque type
d’inférence.
Des algorithmes plus efficaces existent pour des cas particuliers de RBD:
Chaînes cachées de Markov Filtres de Kalman Filtres de particules
IFT615 19
IFT61520
RRéseaux de neuronneséseaux de neuronnes
net = Σ wixi
f(net)= +1 si net ≥ 0, -1 sinon.
C.à-d. : f(net) = sign(net)
[McCulloch-Pitts, 1943]
i=1
n
IFT61521
Fonction d’activation sigmoïdeFonction d’activation sigmoïde
f(x) = sign(x)
i=1
nx= Σ wixi f(x) = 1
1+e-λx
IFT61522
Comment un RNA apprend ?Comment un RNA apprend ?
Les liens entre les neurones ont des poids numériques.
Un poids reflète la force, l’importance, de l’entrée correspondante.
La sortie de chaque neurone est fonction de la somme pondérée de ses
entrées.
Un RNA apprend en ajustant ses poids itérativement jusqu’à ce que les
sorties soient en accord avec les entrées.
IFT61523
Est-ce qu’un seul neurone peut Est-ce qu’un seul neurone peut apprendre ?apprendre ?
Paramètres
xi : entrée
wi : poids (nombre réel)
c : pas(step) d’apprentissage:0 ≤ c ≤1
d : sortie désirée
• Oui.
Perceptron [Rosenblatt, 1958]
y=f(net)= sign(net)
Algorithme d’apprentissage
Pour chaque donnée d’entraînement,
incrémenter le poids wi par :
wi = c(d-y)xi
i=1
nnet = Σ wixi
IFT61524
ExempleExemple
y=f(net)= sign(net)
1
i=1
nnet = Σ wixi
c = 0.2
wi = c (d-y)xi
x1 x2 d
1.0 1.0 1
9.4 6.4 -1
2.5 2.1 1
8.0 7.7 -1
0.5 2.2 1
7.9 8.4 -1
7.0 7.0 -1
2.8 0.8 1
1.2 3.0 1
7.8 6.1 -1
1. Initialisation : w = [w1, w2, w3] = [.75, .5, -.6]
2. f(net) = sign(.75×1+.5×1-.6×1)=sign(.65)=1;
w = 0.2(1-1)X= 0; donc w est inchangé.
3. f(net) = sign(.75×9.4+.5×6.4-.6×1)=sign(9.65)=1;
w = -.4X; donc w = w -.4 [9.4, 6.4, 1] = [-3.01, -2.06, -1]
…
500. w = [-1.3, -1.1, +10.9].
Équation de la ligne séparant les données : -1.3x1 + -1.1x2+10.9 = 0.
IFT61525
Apprentissage d’un perceptron avec une Apprentissage d’un perceptron avec une fonction d’activation sigmoïdefonction d’activation sigmoïde
oi : sortie du neurone i
di : sortie désirée pour le neurone i
c : pas d’apprentissage : 0 ≤ c ≤1
wji : ajustement du poids de
l’entrée j au neurone i.
f ’(neti)= λ× f(neti) × (1-f(neti))
Algorithme d’apprentissage
Pour chaque donnée d’entraînement, incrémenter le poids wji par :
wji = c(di-oi)f ’(neti)xji
oi=f(neti) =1
1+e-λneti
n
j=1neti = Σ wjixji
x1i
xni
f(neti)
Réseaux de neurones Exemple – Fichier pdf
© É. Beaudry & F. Kabanza 26IFT615
Logique du premier ordre Mettre sous forme clausale
Eliminer implications Distribuer les négations Standardiser les variables Skolemisation (on enlève les quantificateurs existentiels pour
les remplacer par une fonction) On enlève les quantificateurs universels On distribue les OU au lieu des ET
© É. Beaudry & F. Kabanza 27IFT615
© É. Beaudry & F. Kabanza 28IFT615
Systèmes experts Base des connaissances Moteur d'inférence - chaînage avant Moteur d'inférence - chaînage arrière
© É. Beaudry & F. Kabanza 29IFT615