Upload
ali-saihi
View
213
Download
0
Embed Size (px)
DESCRIPTION
inteligence artifielle
Citation preview
1Intelligence ArtificielleIntelligence Artificielle
Apprentissage
Alain Boucher
Institut de la Francophonie pour lInformatique (IFI, Vietnam)[email protected]
Cours prpar pour l'Institut de Technologie du Cambodge (ITC)
Cours d'intelligence artificielle 2
Apprentissage automatiqueIntroduction
2Cours d'intelligence artificielle 3
Dfinitions de l'apprentissage
Dfinition 1 (Dictionnaire Larousse)
apprendre = acqurir de nouvelles connaissances savoir, connatre
apprendre = contracter de nouvelles habitudes savoir-faire
Dfinition 2 (Intelligence artificielle - Simon)
Lapprentissage induit des changements dans le systme qui sont adaptatifs dans le sens quils permettent au systme de faire la mme tche une nouvelle fois plus efficacement.
Cours d'intelligence artificielle 4
Apprentissage par observation
Les perceptions ne devraient pas uniquement tre utilises pour choisir une action, mais aussi pour amliorer la capacit de lagent agir dans le futur.
Lapprentissage est essentiel pour des environnements inconnus, o le concepteur ne peut pas tout savoir lavance.
Lapprentissage modifie les mcanismes de dcisionde lagent pour amliorer sa performance.
Souvent, il est trs fastidieux o mme impossible de dfinir le comportement de lagent la conception.
3Cours d'intelligence artificielle 5
Agent apprenant
Souvent, il est trs difficile o mme impossible de dfinir le comportement de lagent la conception.
Lapprentissage permet : De simplifier la conception A lagent davoir plus de flexibilit A lagent dagir dans des environnements inconnus A lagent de devenir meilleur avec le temps
Cours d'intelligence artificielle 6
Agent apprenant
4Cours d'intelligence artificielle 7
Agent apprenant
Module de performance Cest lagent des chapitres prcdents. Il prend les perceptions et choisit les actions.
Module dapprentissage Responsable damliorer le systme. Dtermine comment le module de performance doit tre modifi
pour lamliorer.
Cours d'intelligence artificielle 8
Agent apprenant
Critique Il indique quel point lagent russit bien au module
dapprentissage. Il utilise un standard fixe de performance indiquant ce qui est
bon ou mauvais.
Gnrateur de problmes Suggre des actions dexploration. Suggre des actions qui vont permettre de faire de nouvelles
expriences informatives.
5Cours d'intelligence artificielle 9
Apprentissage pour un agent
Toutes les composantes de lagent peuvent tre apprises laide dun retour appropri
Exemple : conducteur de taxi. chaque fois que linstructeur crie Freine! , lagent peut
apprendre une rgle condition-action. En montrant lagent plusieurs images de camra contenant
des autobus, alors lagent peut apprendre reconnatre des autobus.
Il peut apprendre les effets de ses actions en les essayant. Exemple : freiner brusquement sur une chausse mouille.
Si lagent ne reoit pas de pourboire pour un trajet o les passagers ont t brasss, alors lagent pourrait apprendre une partie de sa fonction dutilit globale.
Cours d'intelligence artificielle 10
Type de retour pour le critique
Trois types dapprentissage :
Apprentissage supervis Le retour dsir est connu.
Apprentissage non supervis Aucun indice. Lagent apprend partir des relations entre les
perceptions. Il apprend prdire les perceptions partir de celles du pass.
Apprentissage par renforcement Le rsultat dsir est inconnu. Lvaluation de laction est faite
par rcompense ou punition.
6Cours d'intelligence artificielle 11
Apprentissaged'arbres de dcision
(induction)
Cours d'intelligence artificielle 12
Arbres de dcision
Une des formes les plus simples dapprentissage, mais tout de mme une de celles qui connaissent le plus de succs.
partir dexemples, le but est dapprendre des structures darbres permettant de prendre des dcisions.
Chaque nud reprsente un test faire. Chaque branche reprsente une valeur possible
rsultant du test. Une feuille correspond la dcision.
7Cours d'intelligence artificielle 13
Les arbres de dcision : exemple
Chaque instance est dcrite par un vecteur dattributs/valeurs.
En entre : un ensemble dinstances et leur classe (correctement associes par un expert)
Lalgorithme dapprentissage doit construire un arbre de dcision pour le diagnostic.
Cours d'intelligence artificielle 14
Les arbres de dcision : exemple
Les arbres de dcision sont des classifieurs pour des instances reprsentes dans un formalisme attribut/valeur Les noeuds de larbre testent les attributs Il y a une branche pour chaque valeur de lattribut test Les feuilles spcifient les catgories (deux ou plus)
8Cours d'intelligence artificielle 15
Description des exemples
Le choix des attributs est trs important ! Si un attribut crucial nest pas reprsent on ne pourra pas
trouver darbre de dcision qui apprenne les exemples correctement.
Si deux instances ont la mme reprsentation mais appartiennent deux classes diffrentes, le langage des instances (les attributs) est dit inadquat.
Langage inadquat : deux cas identiques avec des Langage inadquat : deux cas identiques avec des diagnostics diffrents !!!diagnostics diffrents !!!
Cours d'intelligence artificielle 16
Construire un arbre de dcision
Le but est de trouver le plus petit arbre qui respectelensemble dentranement.
Il ne sagit pas uniquement de mmoriser lesobservations : il faut trouver un arbre qui est capable dextrapoler des exemples quil na pas dj vu.
Larbre doit extraire des tendances ou descomportements partir des exemples.
9Cours d'intelligence artificielle 17
Algorithme
Il construit les arbres de dcision de haut en bas. Il place la racine lattribut le plus important, cest--
dire celui qui spare le mieux les exemples positifs et ngatifs.
Par la suite, il y a un nouveau noeud pour chacune des valeurs possibles de cet attribut.
Pour chacun de ces noeuds, on recommence le test avec le sous-ensemble des exemples d'entranement qui ont t classs dans ce noeud.
Cours d'intelligence artificielle 18
Arbres de dcision : exemple
Source : http://www.damas.ift.ulaval.ca/~coursIA2/
10
Cours d'intelligence artificielle 19
Algorithme
Il construit les arbres de dcision de haut en bas.
Il place la racine lattribut le plus important, cest--dire celui qui spare le mieux les exemples positifs et ngatifs.
Par la suite, il y a un nouveau noeud pour chacune des valeurs possibles de cet attribut.
Pour chacun de ces noeuds, on recommence le test avec le sous-ensemble des exemples d'entranement qui ont t classs dans ce noeud.
Cours d'intelligence artificielle 20
J3,J4,J5,J7,J9,J10,J11,J12,J13J1,J2,J6,J8,J14
+-
J9,J11J1,J2,J8
+-
J4,J5,J10J6,J14
+-
J3,J7,J12,J13+-
Ciel ?
nuageux pluvieux ensolleill
J3,J4,J5,J7,J9,J10,J11,J12,J13J1,J2,J6,J8,J14
+-
J5,J7,J9J6
+-
J4,J10,J11,J13J8,J14
+-
J3,J13J1,J2
+-
Temprature ?
chaude tempre froide
Choix du premier attribut
Attributs :Ciel,Temprature,Humidit,Vent.
Chacun est reprsent par ses valeurs possibles
Spar en exemples (+) contre-exemples (-)
Lequel choisir ?
11
Cours d'intelligence artificielle 21
J3,J4,J5,J7,J9,J10,J11,J12,J13J1,J2,J6,J8,J14
+-
J5,J7,J9,J10,J11,J13J6
+-
Humidit ?
J3,J4,J12J1,J2,J8,J14
+-
leve normal
J3,J4,J5,J7,J9,J10,J11,J12,J13J1,J2,J6,J8,J14
+-
J3,J4,J5,J9,J10,J13J1,J8
+-
Vent ?
J7,J11,J12J2,J6,J14
+-
fort faible
Choix du premier attribut
Attributs :Ciel,Temprature,Humidit,Vent.
Chacun est reprsent par ses valeurs possibles
Spar en exemples (+) contre-exemples (-)
Lequel choisir ?
Cours d'intelligence artificielle 22
Calcul de lentropie des exemples
Pour choisir le premier attribut de larbre, nous allons choisir l'attribut qui a le plus grand gain d'information. Pour calculer le gain d'information, nous devons d'abord
calculer l'entropie des exemples d'entranement. Il y a 9 exemples positifs et 5 exemples ngatifs, donc nous
obtenons une entropie de :
94.0)14/5(log)14/5()14/9(log)14/9(
)(log)()(
22
12
=
+=
==
c
iii ppSEntropie
12
Cours d'intelligence artificielle 23
Gain dinformation
Maintenant, nous allons calculer le gain d'information pour le premier attribut, l'attribut Ciel. Cet attribut a 3 valeurs possibles, donc les exemples
d'entranement seront regroups en 3 sous-ensembles. Nous commenons donc par calculer l'entropie des 3 sous-
ensembles :
971.05/2log)5/2(5/3log)5/3()(04/0log)4/0(4/4log)4/4()(
971.05/3log)5/3(5/2log)5/2()(
22
22
22
=+=
=+=
=+=
pluvieux
nuageux
ensolleill
SEntropieSEntropieSEntropie
Cours d'intelligence artificielle 24
Gain dinformation
Le calcul du gain dinformation pour lattribut Ciel va donc donner :
246.0694.094.0
)971.0)14/5(0)14/4(971.0)14/5((94.0))()14/5()()14/4(
)()14/5((94.0
)()(),()(
=
=
++=
+
+=
=
pluvieux
nuageux
ensolleill
v
CielVv
v
SEntropieSEntropie
SEntropie
SEntropieSS
SEntropieCielSGain
13
Cours d'intelligence artificielle 25
Gain dinformation
On calcule le gain de la mme manire pour les trois autres attributs :
L'attribut qui a la plus grand gain d'information est l'attribut Ciel, donc se sera la racine de l'arbre de dcision.
029.0),(048.0),(151.0),(246.0),(
=
=
=
=
eTempraturSGainVentSGain
HumiditSGainCielSGain
Cours d'intelligence artificielle 26
Choix du premier attribut
En sparant les exemples selon les valeurs de lattributs Ciel, on obtient larbre partiel:
On peut voir que lorsque le ciel est nuageux, il reste uniquement des exemples positifs, donc ce noeud devient une feuille avec une valeur de Oui pour la fonction vise.
Pour les deux autres noeuds, il y a encore des exemples positifs et ngatifs, alors il faut recommencer le mme calcul du gain d'information, mais avec les sous-ensembles restant.
14
Cours d'intelligence artificielle 27
Algorithme
Il construit les arbres de dcision de haut en bas. Il place la racine lattribut le plus important, cest--
dire celui qui spare le mieux les exemples positifs et ngatifs.
Par la suite, il y a un nouveau noeud pour chacune des valeurs possibles de cet attribut.
Pour chacun de ces noeuds, on recommence letest avec le sous-ensemble des exemplesd'entranement qui ont t classs dans ce noeud.
Cours d'intelligence artificielle 28
Arbre de dcision final
Cet arbre est la reprsentation minimale permettant de reprsenter les dcisions possibles du problme.
Lattribut Tempraturenapparat pas dans larbre, car il nest pas discriminant.
15
Cours d'intelligence artificielle 29
Procdure gnrale dapprentissage
1. Faire la collecte dun grand ensemble dexemples.2. Diviser les exemples en deux ensembles : un
dentranement et lautre de test.
3. Utiliser lensemble dentranement comme exemplespour effectuer lapprentissage.
4. Utiliser lensemble de test pour mesurer le pourcentage dexemples qui sont correctement identifis.
5. Rpter les tapes 1 4 pour diffrentes taillesdensembles dentranement et diffrentes slections alatoires dexemples pour chacune des grandeurs.
Cours d'intelligence artificielle 30
Apprentissage base d'instancesk plus proches voisins
16
Cours d'intelligence artificielle 31
Apprentissage base dinstances
Emmagasine toutes les instances Le calcul nest fait que lorsque le programme a une nouvelle instance
classer. Attend davoir classer une nouvelle instance avant de la comparer
aux instances dj acquises
lazy learning vs eager learning apprentissage paresseux vs apprentissage impatient
Comparaison de similarit = proximit calcule Hypothse: les voisinages pertinents seront suffisants
But : viter la complexit associe la production de gnralisations compltes pour tout lensemble dentranement.
Cours d'intelligence artificielle 32
k-voisins les plus proches
Les instances sont des points dans un espace n dimensions o n est le nombre dattributs. exemples + contre-exemples
-
+
+
+
+
-
--
-
17
Cours d'intelligence artificielle 33
Classification dune nouvelle instance
Une instance x est dfinie par son vecteur dattributs :
-
+
+
+
+
-
--
-
x
( ) ( ) ( )xaxaxa n,...,, 21
Cours d'intelligence artificielle 34
Mesure de distance
On utilise la distance Eucldienne pour dterminer les voisins les plus proches.
-
+
+
+
+
-
--
-
x
( ) ( )( )=
=
n
r
jrirji xaxaxxdistance1
2),(
On regarde les exempleset contre-exemples parmi les k plus proches pour dterminer la classe de la nouvelle instance.
18
Cours d'intelligence artificielle 35
Classification d'un nouveau concept
Approximations locales du (des) concept(s) apprendre
Avantages plus facile infrer pas besoin de gnraliser l'ensemble des donnes
utile avec des ensembles de donnes de dpart difficiles
Dsavantages pas ncessairement cohrent avec tout lensemble des donnes temps de classification dune nouvelle instance comment dterminer la pertinence
dune instance ? (index, mesure de distance) des attributs considrer dans cette mesure de distance ?
Cours d'intelligence artificielle 36
Choix du paramtre K
Problme : choisir K, le nombre de voisins requis
-
+
+
+
+
-
--
-
x
19
Cours d'intelligence artificielle 37
k-voisins avec distances pondres
Une amlioration lalgorithme des k-voisins les plus proche est de pondrer la contribution de chacun des k voisins par leur distance par rapport linstance classer.
-
+
+
+
+
-
--
-
x
Cours d'intelligence artificielle 38
Forces de la mthode
mthode robuste aux erreurs insensible au bruit, aux donnes manquantes (valeurs nulles), aux cas extrmes
rapide en entranement applicable pour de larges volumes de donnes
si on indexe correctement les instances, alors rapideen prdiction galement
problme de trouver les bons index !!!
20
Cours d'intelligence artificielle 39
Faiblesses de la mthode
distance calcule sur toutes les dimensions (attributs)
si 20 attributs dont seulement similarit sur 2 est suffisante pour prdire, alors les 18 autres nuisent !
une faon de rgler se problme est de donner un poids chacun des attributs. On donne plus de poids aux attributs plus importants pour la classification.
Plus lent l'excution
Cours d'intelligence artificielle 40
Les rseaux de neurones
21
Cours d'intelligence artificielle 41
Pourquoi les rseaux de neurones ?
Inspiration biologique
Le cerveau naturel : un modle trs sduisant Robuste et tolrant aux fautes Flexible. Facilement adaptable S'accommode dinformations incompltes, incertaines, vagues, bruites ... Massivement parallle Capable dapprentissage
Neurones ~ 1011 neurones dans le cerveau humain ~ 104 connexions (synapses + axones) / neurone Potentiel daction / priode rfractaire / neuro-transmetteurs Signaux excitateurs / inhibiteurs
Cours d'intelligence artificielle 42
Rseau de neurones
Plusieurs neurones interconnects ensemble Chaque neurone a la forme suivante :
Source : http://aima.cs.berkeley.edu/
Entres Fonctiondentre
Fonctiondactivation
Sortie Liens de Sortie
Poids du biais
22
Cours d'intelligence artificielle 43
Modle de base : Perceptron
Source : http://www.damas.ift.ulaval.ca/~coursIA2/
Notez le biais (entre x0 du rseau) : il s'agit d'une constante fixe a priori - une entre qui n'est pas modifi par la suite.
Cours d'intelligence artificielle 44
Perceptron
Source : http://www.damas.ift.ulaval.ca/~coursIA2/
23
Cours d'intelligence artificielle 45
Perceptron
Les perceptrons peuvent reprsenter toutes les fonctions linairement sparables.
Cours d'intelligence artificielle 46
Exemple de perceptron
La fonction ET Les entres prennent les valeurs 1 (vrai) ou -1 (faux)
Pour un OU, il suffirait de poser w0 = 0.3
24
Cours d'intelligence artificielle 47
Rgle d'apprentissage du perceptron
Commencer avec des poids de valeurs alatoires. Traiter tous les exemples d'entranement jusqu' ce que
le perceptron les classifie tous correctement. chaque exemple, les poids sont rviss l'aide de la
rgle suivante:
Cours d'intelligence artificielle 48
Rgle d'apprentissage du perceptron
Pourquoi une telle rgle converge-t-elle vers une bonne hypothse ?
25
Cours d'intelligence artificielle 49
Perceptron multi-couches
Modle du Perceptron multi-couches Ce n'est pas l'unique modle, mais c'est le plus courant Plusieurs couches, disposes en srie, aucun retour arrire des signaux Nombre de neurones d'entres = nombre de donnes du problme Nombre de neurones de sorties = nombre de sorties pour le problme
Cours d'intelligence artificielle 50
RNs 1 couche : cas de plusieurs classes
Chaque sortie correspond une classe possible Assigner la classe de yk maximal
26
Cours d'intelligence artificielle 51
Perceptron multi-couches : propagation
Pour chaque neurone :
wjk : poids de la connexion de la cellule j la cellule k ak : activation de la cellule k g : fonction dactivation
Cours d'intelligence artificielle 52
Apprentissage des poids d'un rseau
Trouver des poids permettant au rseau de raliser une relation entre-sortie spcifie par des exemples de cette relation.
Apprentissage : Minimiser la fonction de cot E(w,{x,u}) en fonction du paramtre w
w : poids des connexions - inconnu x : entres du systme - connu u : solution dsire - connu
Utiliser pour ceci une mthode de descente de gradient (algorithme de rtro-propagation de gradient)
27
Cours d'intelligence artificielle 53
Rtro-propagation du gradient (1) Le problme :
Quelle connexion est responsable, et de combien, de lerreur globale E ?
Principe :
Prsenter des entres et comparer la sortie obtenue avec la sortie dsire.
Calculer lerreur sur une connexion en fonction de lerreur sur la couche suivante
Faire cela avec tous les exemples les uns aprs les autres jusqu' satisfaction
Deux tapes :
1. Evaluation des drives de lerreur par rapport aux poids2. Utilisation de ces drives pour calculer la modification de chaque poids
Cours d'intelligence artificielle 54
Rtro-propagation du gradient (2)
1. Evaluation de lerreur due chaque connexion
28
Cours d'intelligence artificielle 55
Rtro-propagation du gradient (3)
2. Modification des poids On fait remonter l'erreur constate en sortie sur les neurones
prcdents, et en corrigeant d'un gradient (drive de la fonction de transfert) les connexions concernes. En fonction de la valeur du gain, cette correction sera plus ou moins forte.
On recommence jusqu' ce que l'erreur soit acceptable (faible)
Il faut appliquer ces corrections sur tout le rseau, et rpter cette opration plusieurs fois pour obtenir des rponses satisfaisantes (c'est--dire qui minimisent l'erreur).
Cours d'intelligence artificielle 56
Rsum : 1 - passe avant
29
Cours d'intelligence artificielle 57
Rsum : 2 - passe arrire
et on boucle passe avant - passe arrire jusqu' avoir un bon rseau.
Cours d'intelligence artificielle 58
Condition darrt
Le nombre d'itrations est important car : Si trop faible, l'erreur n'est pas suffisamment rduite. Si trop grand, le rseau devient trop spcifique aux donnes
d'entranement.
Il y a plusieurs conditions d'arrt possible : Aprs un certain nombre fixe d'itrations. Lorsque l'erreur dans les sorties des exemples d'entranement
descend en dessous d'un certain seuil. Lorsque l'erreur avec les exemples de validation descend en
dessous d'un certain seuil.
30
Cours d'intelligence artificielle 59
Applications des rseaux de neurones
Automatique : identification et contrle de processus
Commande de robot
Traitement du signal
filtrage, compression de donnes, traitement de la parole (Identification du locuteur, ...)
Traitement dimages, reconnaissance des formes
reconnaissance de lcriture manuscrite, lecture automatique des codes postaux
Prdiction
consommations deau, dlectricit, mtorologie, bourse, ...
Diagnostic
industrie, mdecine, science,
et plus encore ...
Cours d'intelligence artificielle 60
Applications des rseaux de neurones
L'interprtation d'images
La reconnaissance vocale
La reconnaissance de mots crits la main
http://members.aol.com/Trane64/java/JRec.html L'apprentissage de stratgies de contrle pour les robots Une des meilleurs mthodes connues pour
l'interprtation de donnes provenant de capteurs dans le monde rel
31
Cours d'intelligence artificielle 61
Exemple dapplication
Reconnaissance de caractres : ici, un trait est divis en points et les entres du rseau sont les points allums ou non. On aligne les points de la matrice pour en faire un vecteur d'entre.
Cours d'intelligence artificielle 62
Avantages et dsavantages
Avantages complment lAI classique implmentation du paralllisme apprentissage robuste : donnes bruites ou incompltes gnralisation des patterns similaires trouve des solutions certains problmes non linaires
Dsavantages nont pas encore expliqu le fonctionnement du cerveau les poids ne sont pas interprtables lapprentissage nest pas toujours vident ne sont pas extensibles (lajout dune neurone)
32
Cours d'intelligence artificielle 63
Algorithme gntique
Cours d'intelligence artificielle 64
Algorithme gntique
Algorithme gntique est un modle de rsolution de problmes bas sur la gntique et les mcanismes de lvolution.
Particulirement utile pour les problmes qui nont pas de solutions analytiques videntes.
Application des principes naturels volutionnistes (Darwin) la recherche de solutions optimales un problme.
Ils s'appliquent un plus large ensemble de problmes que les mthodes mathmatiques (par convergence fonctionnelle ou probabiliste).
33
Cours d'intelligence artificielle 65
Elments de gntique
L'ADN humain contient 23 paires de chromosomes Chaque chromosome contient plusieurs gnes qui
dfinissent la personne ex: sexe, groupe sanguin, couleur de la peau,
Chaque individu possde de petites diffrences gntiques dues l'volution, aux mutations, etc.
Dans l'volution, les individus les mieux adapts (meilleurs gnes) ont plus de chances de survivre lors de la reproduction
Cours d'intelligence artificielle 66
Elments de gntique
Les algorithmes gntiques reproduisent ce schma
appliqu des problmes informatiques.
Un algorithme bas sur la gntique pour trouver les solutions les plus efficaces chromosome = solution (bonne ou mauvaise) bassin de population (de solutions possibles) on favorise les solutions les plus efficaces, par croisements et
mutations
34
Cours d'intelligence artificielle 67
Reprsentation en chromosome
solution : nimporte quel candidat pour une solution possible exemple :
4 - (x-3)2 = 0 x=2 , x=0 sont des solutions mais seules 1 et 5 sont des solutions correctes
une solution est un chromosome les solutions sont encodes sous forme
de chanes de caractre de graphe de matrice
chaque caractre est un gne du chromosome
Cours d'intelligence artificielle 68
Fonction d'valuation
Le degr dadaptation (fitness) dune solution [Fi ou F(Ai)]
Une fonction qui permet de comparer des solutions afin de dterminer la meilleure le profit, lnergie, le temps souvent un indice compos
Lorsque la solution exacte ne peut tre identifie on regarde si la suite des meilleures valeurs deviennent asymptotiques
et/ou on fixe le nombre ditrations
35
Cours d'intelligence artificielle 69
Algorithme gntique (1)
Il y a plusieurs variantes pour l'algorithme :
population : lensemble des solutions lors dune itration spcifique gnre alatoirement lors de la premire itration
dterminer la probabilit quil y aie croisement (beaucoup) dterminer la probabilit quil y aie mutation (pas beaucoup)
L'ide est d'essayer beaucoup de combinaisons d'utiliser le hasard pour trouver la bonne solution
Cours d'intelligence artificielle 70
Algorithme gntique (2)
Cration dun bassin de reproduction
Croisement et reproduction
Mutation
36
Cours d'intelligence artificielle 71
Algorithme gntique (3)
Cration dun bassin de reproduction valuer le degr dadaptation de chaque solution dans population
et leur probabilit dtre choisie si la solution correcte est trouve alors lalgorithme se termine plus une solution est adapte, plus sa probabilit dtre choisie est grande
choisir au hasard (en respectant la distribution des probabilits) des solutions l'ide est de crer une solution qui nexistait pas au dpart
Croisement et reproduction
Mutation
Cours d'intelligence artificielle 72
Algorithme gntique (4)
Cration dun bassin de reproduction
Croisement et reproduction former une paire de solutions au hasard pour chaque paire, choisir au hasard sil y a croisement
- non : conserver les deux solutions pour le prochain bassin de population
- oui : choisir au hasard le point de croisement effectuer le croisement
recommencer jusqu latteinte du nombre de solutions dans la population originale
Mutation
37
Cours d'intelligence artificielle 73
Algorithme gntique (5)
Cration dun bassin de reproduction
Croisement et reproduction
Mutation choisir au hasard un ensemble de solution modifier au hasard un caractre
l'ide est de crer une solution qui nexistait pas au dpart
Cours d'intelligence artificielle 74
Exemple - dfinition et initialisation
Dfinition du problme simple nous avons 4 machines nous voulons maximiser la production totale une solution est une chane de 4 bits (1 : en fonction ; 0 : arrt)
la meilleure solution est dj connue : 1111 - les quatre machines fonctionnent Mais on ne le sait pas encore
Fonction d'adaptation choisie (F) somme des bits la plus leve
38
Cours d'intelligence artificielle 75
Exemple - dfinition et initialisation
Rgles de reproduction (choix de l'utilisateur) chaque itration
- on conserve les 2 meilleures solutions et on les croise- on rejette les 2 autres
une mutation alatoire d'un bit sur un chromosome- 1 itration sur 10
critres d'arrt- aprs 30 itrations - si on obtient une solution avec F=4
Cours d'intelligence artificielle 76
Exemple - dfinition et initialisation
Cration alatoire d'un bassin de population initialede 4 chromosomes
- 1010 (F=2)- 0100 (F=1)- 1010 (F=2)- 1101 (F=3)
39
Cours d'intelligence artificielle 77
Exemple - itration #1
Croisement et reproduction - itration #1
Population en dbut d'itration 1010 (F=2), 0100 (F=1), 1010 (F=2), 1101 (F=3)
On conserve les deux meilleures solutions et on rejette les deux autres 1010 (F=2) et 1101 (F=3)
Croisement pour obtenir deux autres solutions Choix alatoire d'un point de croisement : k = 3 101:0 et 110:1 => 1011 (F=3) et 1100 (F=2)
Nouvelle population aprs croisement 1010 (F=2), 1101 (F=3), 1011 (F=3), 1100 (F=2)
Mutation alatoire du 2ime bit du 4ime chromosome 1100 => 1000 (F=1)
Nouvelle population la fin de l'itration #1 : 1010 (F=2), 1101 (F=3), 1011 (F=3), 1000 (F=1)
Cours d'intelligence artificielle 78
Exemple - itration #2
Croisement et reproduction - itration #2
Population en dbut d'itration 1010 (F=2), 1101 (F=3), 1011 (F=3), 1000 (F=1)
On conserve les deux meilleures solutions et on rejette les deux autres
1101 (F=3) et 1011 (F=3)
Croisement pour obtenir deux autres solutions Choix alatoire d'un point de croisement : k = 2 11:01 et 10:11 => 1111 (F=4) et 1001 (F=2)
Nouvelle population aprs croisement 1101 (F=3), 1011 (F=3), 1111 (F=4), 1001 (F=2)
On a trouv une solution parfaite en deux itrations : 1111 (F=4)
40
Cours d'intelligence artificielle 79
Pour des cas rels d'utilisation
Evidemment, ceci tait un exemple trs simple on connaissait dj la solution au dpart on a trouv la solution en deux itrations mais cela illustre le principe
Normalement, on utilise cet algorithme pour des problmes complexes solution inconnue au dpart
choix a priori (utilisateur) des rgles de croisement et de mutation population de dpart (alatoire) la plus grande possible (plus de choix) on conserve la mme taille de population tout au long de l'algorithme on fait un trs grand nombre d'itrations (1 000 ou 1 000 000 et +)
Cours d'intelligence artificielle 80
Difficults de l'algorithme
Description du problme sous la forme d'un chromosome nombre de gnes codage de chaque gnes (chiffre, lettre, image, )
Choix des rgles de reproduction, de croisement et de mutation Croisement
Conserve on non les meilleures solutions Proportion de chromosomes (nombre pair) croiser
Mutation oui ou non (si oui, gnralement trs trs peu de mutations)
Choix de la fonction d'adaptation tape la plus difficile le succs de l'algorithme repose sur le choix d'une bonne fonction difficile choisir lorsqu'on ne connat pas la rponse d'avance
41
Cours d'intelligence artificielle 81
Conclusion sur lapprentissage
Cours d'intelligence artificielle 82
Conclusion gnrale sur l'apprentissage
Il existe beaucoup de mthodes d'apprentissage trs diffrentes Apprentissage Baysien Apprentissage par renforcement (Markov) Apprentissage non-supervis par ACP, k-moyennes ...
Pour chaque problme, il faut trouver la bonne mthode Trs difficile : savoir ce qui peut tre appris et comment ? Comment reprsenter un problme sous la forme d'un apprentissage Comment faire en sorte que l'apprentissage converge
Comment trouver une solution et savoir qu'elle est la meilleure ?
Problme de l'entranement du systme et de sa pertinence l'excution Ne pas sur-spcialiser un systme d'apprentissage
42
Cours d'intelligence artificielle 83
Pour en savoir plus...
http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/mitchell/ftp/mlbook.html http://www.iie.cnam.fr/~cornuejols/WEB-ITA/pageita.HTML http://www.dmi.usherb.ca/~amayers/ift724/ http://www.grappa.univ-lille3.fr/~gilleron/dea12.html http://www.iie.cnam.fr/~cornuejols/WEB-ITA/pageita.HTML http://www.ift.ulaval.ca/~mineau/ift-65764A01/ http://www.iro.umontreal.ca/~kegl/ift6266/