42
1 Intelligence Artificielle Intelligence Artificielle Apprentissage Alain Boucher Institut de la Francophonie pour l‘Informatique (IFI, Vietnam) [email protected] Cours préparé pour l'Institut de Technologie du Cambodge (ITC) Cours d'intelligence artificielle 2 Apprentissage automatique Introduction

08-Apprentissage

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/