IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de...

29
IFT 615 IFT 615 Intelligence Artificielle Intelligence Artificielle Jean-François Landry Département d’informatique Université de Sherbrooke Révision – Examen final http://planiart.usherbrooke.ca/ ~jflandry/ift615/

Transcript of IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de...

Page 1: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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/

Page 2: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final 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

Page 3: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 4: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 5: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 6: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 7: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 8: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 9: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 10: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 11: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 12: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 13: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 14: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

Exemple Exemple – fichier PDF

© É. Beaudry & F. Kabanza 14IFT615

Page 15: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 16: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 17: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 18: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 19: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 20: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 21: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

IFT61521

Fonction d’activation sigmoïdeFonction d’activation sigmoïde

f(x) = sign(x)

i=1

nx= Σ wixi f(x) = 1

1+e-λx

Page 22: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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.

Page 23: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 24: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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.

Page 25: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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)

Page 26: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

Réseaux de neurones Exemple – Fichier pdf

© É. Beaudry & F. Kabanza 26IFT615

Page 27: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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

Page 28: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

© É. Beaudry & F. Kabanza 28IFT615

Page 29: IFT 615 Intelligence Artificielle Jean-François Landry Département dinformatique Université de Sherbrooke Révision – Examen final jflandry/ift615

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