Notions d'apprentissage - automatique machine learning

La page est créée Helene David
 
CONTINUER À LIRE
Notions d'apprentissage - automatique machine learning
Notions d’apprentissage
automatique machine learning

zQu’est-ce que l’apprentissage
   y généralités

   y apprentissage inductif

zUn exemple : apprentissage de chroniques (ECGs)

                                 Marie-Odile Cordier, le 11 septembre 2003,
                                 projet SACADEAU
                                 Inspiré de V. Claveau + V. Masson + …
Notions d'apprentissage - automatique machine learning
Une définition

z« Un programme est capable d’apprendre à
 partir d’une expérience E, p.r. à un ensemble T
 de taches et selon une mesure de performance
 P, si sa performance à effectuer T mesurée par
 P, s'améliore avec E. »              T. Mitchell
zExemple : apprendre à jouer aux dames
  yT : jouer et gagner aux dames
  yP : pourcentage de victoires parmi les parties jouées
  yE : « entraînement » avec un humain
                                                           2
Exemples de pb d’apprentissage

zApprentissage de compétence - apprendre à agir
  yapprendre a nager en observant un expert
zApprentissage de formes - apprendre à discriminer
  ycontrôle qualité

zApprentissage de concept – apprendre à classer
  ydétection de fraudes de carte de crédit
zApprentissage de fonction - apprendre a prédire
  yprévisions météo

                                                   3
Types d’apprentissage
Une donnée (un exemple) est un couple  ou x est la valeur d'entrée
et f(x) la valeur de sortie (inconnue si apprentissage non-supervisé)

  z Supervisé vs. non-supervisé
      ysupervisé :
          x les données sont composées d’exemples et de contre-exemples
          (entrées et sortie de la fonction / appartenance ou non à la classe)
          x besoin d’un expert pour caractériser les exemples
          (donner la valeur de la sortie – donner la classe de la donnée)
      ynon supervisé :
          x recherche de similarités dans les données : on ne connaît pas les classes
           a priori

  z Caractérisation explicite ou non
      ydescription de la classe vs. boîte noire                                  4
Apprentissage inductif (supervisé)

  zBut : induire une règle générale à partir d’un
   ensemble d’observations
                                         Objet
                                        inconnu

Exemples              Système          Description
d’apprentissage    d’apprentissage     du concept

                                          Classe
                                        (+ action)
                                                     5
Apprentissage et inférence

zSyllogisme
a) Tout homme est mortel      mortel(X) :- homme(X).
b) Or Socrate est un homme    homme(socrate).
c) Donc Socrate est mortel    mortel(socrate).

    Inférence déductive : avec a et b on trouve c
    Inférence abductive : avec a et c on trouve b
    Inférence inductive : avec b et c on trouve a
                                                    6
Apprentissage inductif
z Le système d’apprentissage (ou apprenant ou apprenti) cherche
  à trouver une description du concept qui
   y« explique » les instances données en exemples
   y« n’explique pas » les instances données en contre-exemples

          Instances               Concepts (espace des hypothèses)
                                                              7
PLI : programmation logique inductive

z Recherche du « meilleur » f parmi un ensemble
  (espace) d'hypothèses H
à apprentissage = pb de recherche dans un espace

Attrait majeur de la PLI:
  recours à un langage des hypothèses expressif (logique du premier
  ordre) et pratique (les exemples, les hypothèses possibles et
  l’expertise du domaine ont la même représentation)
Inconvénient :
  la richesse de ce langage implique une combinatoire forte —> il est
  important de décrire des biais d ’apprentissage qui limitent
  l’exploration de l ’ensemble des hypothèses possibles
                                                                      8
Exemple jouet
On veut apprendre à découvrir quels animaux
 volent : f(x) = vole ou f(x) = vole_pas

zExemples positifs (e+) : canard, pie, chauve-souris
zExemples négatifs (e-) : chien, chat, pingouin
zattributs décrivant les e+ et e- : oiseau,
 a_des_ailes, mammifère, à_plumes, à_poils, gros,
 petit, poids, ...
                                                    9
Exemple jouet - version PLI
On veut apprendre un prédicat vole(X)
z Informations sur le « monde »      z E+ :
(background knowledge) :
                                     vole(canard).
oiseau(canard). oiseau(pie).         vole(pie).
                                     vole(chauve-souris).
mammifère(chauve-souris).
mammifère(chien).                    z E- :
mammifère(chat).
                                     vole(chien).
                                     vole(chat).
   à Résultat de l’apprentissage :
   vole(X) :- oiseau(X).
   vole(chauve-souris).                                     10
Biais inductifs
z Recherche du « meilleur » f parmi un ensemble (espace)
  d'hypothèses H
à apprentissage = pb de recherche dans un espace

z Un biais est une connaissance rajoutée au système qui
  permet de choisir plus efficacement un meilleur f parmi H
z Biais restrictifs : « f doit avoir telles propriétés » =>
  restreint H
z Biais de préférence : détermine un ordre sur l’ensemble
  des solutions possibles ~ heuristiques

                                                              11
Exemple jouet - Biais de
  langage
On veut apprendre un prédicat vole(X)
 z background knowledge :
                                    z E+ :
 oiseau(canard). oiseau(pie).
                                    vole(canard).
 mammifère(chauve-souris).          vole(pie).
 mammifère(chien).                  vole(chauve-souris).
 mammifère(chat).
                                    z E- :
 a_des_ailes(X) :- oiseau(X).
 a_des_ailes(chauve_souris).        vole(chien).
                                    vole(chat).
  à Résultat de l’apprentissage :
  vole(X) :- a_des_aile(X).                                12
Généralisation vs spécialisation

zOrganiser l’espace des hypothèses de manière
 hiérarchique -> parcours intelligent

zh1 est plus générale que h2 si h1 « explique » les
 mêmes exemples (positifs ou négatifs) que h2 (plus
  éventuellement d’autres)
  ySi h ne couvre pas (n’explique pas) un exemple, on généralise h

zh1 est plus spécifique que h2 si h1 couvre un sous-
 ensemble des exemples couverts par h2
  ySi h couvre (explique) un contre-exemple, on spécialise h
                                                                     13
Choisir la « meilleure » hypothèse

Si aucune hypothèse n’est complètement
   satisfaisante, on teste chaque hypothèse par
   rapport aux biais et aux exemples e+ et contre-
   exemples e- -> notion de score
zRefuser les hypothèses couvrant bcp d’e+
 et très peu d’e- ?
zSi non, quels poids leur accorde-t’on ?
 -> notion de bruit
                                                 14
Exemple jouet - Bruit
On veut apprendre un prédicat vole(X)
 z background knowledge :              z E+ :
 oiseau(canard). oiseau(pie).          vole(canard).
 oiseau(pingouin).
 mammifère(chauve-souris).             vole(pie).
 mammifère(chien).                     vole(chauve-souris).
 mammifère(chat).
                                       z E- :
 a_des_ailes(X) :- oiseau(X).
 a_des_ailes(chauve_souris).           vole(chien).
                                       vole(chat).
 à Résultat de l’apprentissage :       vole(pingouin).

 vole(canard). vole(pie). vole(chauve-souris).
               Juste mais pas intéressant !                   15
Exemple jouet - Bruit
On veut apprendre un prédicat vole(X)
 z background knowledge :              z E+ :
 oiseau(canard). oiseau(pie).          vole(canard).
 oiseau(pingouin).                     vole(pie).
 mammifère(chauve-souris).             vole(chauve-souris).
 mammifère(chien).
 mammifère(chat).                      z E- :
 a_des_ailes(X) :- oiseau(X).          vole(chien).
 a_des_ailes(chauve_souris).           vole(chat).
                                       vole(pingouin).
 à Résultat de l’apprentissage avec bruit :
 vole(X) :- a_des_ailes(X).                                   16
Choisir la meilleure
hypothèse
Après la phase d’apprentissage
zComment savoir que l’hypothèse trouvée se
 comportera bien avec les nouvelles
 données ?
zComment éviter l’overfitting (apprentissage
 par cœur) ?
zSéparer les données d’apprentissage en un
 ensemble d’apprentissage et un ensemble
 de test -> cross-validation
                                          17
PLI et Sacadeau

z Simuler par le modèle biophysique des scénarios
  temporels « représentatifs » des différentes classes de
  situations possibles
zAssocier aux résultats de ces simulations (dits
 signatures temporisées) un degré d’acceptabilité
 en termes de qualité des eaux
zutiliser un système de PLI qui permette d’inférer
 des corrélations de variables influant sur la
 qualité des eaux (et non une « simple
 classification » des différentes situations)

                                                            18
Utilisation de la PLI

zSignatures temporisées jugées « polluantes » :
 exemples (d ’observations)
zSignatures temporisées jugées « non
 polluantes » : contre-exemples
zInférence d ’hypothèses (symboliques)
 expliquant les observations: ici apprentissage de
 variables (caractéristiques de pratiques
 agricoles, de climats, etc) qui influent sur la
 qualité des eaux
zNB: importance ici des données temporelles
                                                 19
Un mot sur l’apprentissage
par coeur

zL’apprentissage par cœur peut servir
 comme technique d’apprentissage
zOn parle de case-based learning, memory-
 based learning, apprentissage par
 analogies, à base d’instances…
zOn stocke tous les exemples et quand une
 donnée inconnue arrive, on regarde de
 quel exemple connu elle est le + proche et
 on lui assigne la même valeur de sortie 20
Quelques techniques
utilisées
zRéseaux de neurones
zAlgorithmes génétiques
zArbres de décision
zProgrammation logique inductive
zApprentissage bayesien
zApprentissage par renforcement
zInférence grammaticale
z...                               21
22
Notions d’apprentissage
automatique

Plan du cours

zQu’est-ce que l’apprentissage
zUn exemple : l’inférence grammaticale
(source : François Coste)
   yReprésentation
   yEspace des hypothèses

                                         23
Inférence grammaticale

Rappel théorie des langages
zmot : séquence de symboles s1s2…sp
zlangage : ensemble de mots {m1,m2,…}
zgrammaire : ensemble de règles de
 production des mots d’un langage
zexemples de séquences : langage naturel
 (syntaxe), séquences biologiques (ADN,
 ARN, protéines, …), ...                24
Inférence grammaticale
Une définition

zInférence grammaticale : apprentissage
 inductif d’un langage à partir d’un
 échantillon de mots du langage

  Instances (mots)      Concepts (grammaires)25
Inférence grammaticale
Représentation

zPlutôt que de décrire les exemples par
 des attributs, on s’intéresse à la
 séquencialité des instances
zQuelle représentation pour décrire les
 concepts sur les séquences ?
à Grammaires, machines à états finis (e.g.
 automates, transducteurs), arbres,
 expressions, HMM, ...
                                          26
Inférence grammaticale
Représentation

Rappel hiérarchie de Chomsky
classification des grammaires :
zà structure de phrase         (type 0)

                                          expressivité
zcontextuelles                 (type 1)
zalgébriques                   (type 2)
zrégulières (automates)        (type 3)
                                                27
Inférence grammaticale
Représentation

Apprendre un langage régulier

    Instances (mots)               Concepts (automates)
                                           b
                                               a
{aaa,bba,baaa}         inférence
                                               a          28
Notions d’apprentissage
automatique

Plan du cours

zQu’est-ce que l’apprentissage
zUn exemple : l’inférence grammaticale
(source : François Coste)
   yReprésentation
   yEspace des hypothèses

                                         29
Inférence grammaticale
Espace des hypothèses

Organisation de l’espace des concepts :
zen bas l’automate le + spécifique :
                           a         a       a
 MCA (maximum
 cannonical                    b         b   a

 automaton)
                               b         a   a   a

zEn haut l’automate le + général :
                                   a,b
UA (universal Automaton)
                                                     30
Inférence grammaticale
Espace des hypothèses
Parcours de l’espace des concepts :
zopérateur de généralisation : fusion d'états
  ysi l’automate A explique x séquences,
   l’automate résultant de la fusion de deux états
   de A explique au moins les x mêmes mots
zopérateur de spécialisation : fission d'états
  ysi l’automate A explique x séquences,
   l’automate résultant de la fission d’un état de A
   explique un sous-ensemble des x mêmes mots
                                                  31
Inférence grammaticale
Espace des hypothèses
Fusion d'états
zChoisir deux états de l’automate et les
  fusionner
zChoix basé sur critères heuristiques
          a       a     a

              b    b     a

              b    a     a     a

                                           32
Inférence grammaticale
Espace des hypothèses
Fusion d'états
zChoisir deux états de l’automate et les
  fusionner
zChoix basé sur critères heuristiques
          a       a     a

              b
                   b    a

              b    a           a
                        a

                                           33
Inférence grammaticale
Espace des hypothèses
Fusion d'états
zChoisir deux états de l’automate et les
  fusionner
zChoix basé sur critères heuristiques
          a       a     a

              b
                   b    a

              b    a           a
                        a

                                           34
Inférence grammaticale
Espace des hypothèses
Fusion d'états
zChoisir deux états de l’automate et les
  fusionner
zChoix basé sur critères heuristiques
                  a
          a
                  a
              b
                      b   a

              b       a        a
                          a

                                           35
Inférence grammaticale
Espace des hypothèses
Espace de recherche
zC’est un treillis d’automates
                                 UA
         En rouge : parcours
         par fusion

z Pb : comment
éviter la sur-
généralisation (i.e.
éviter qu’on monte trop          MCA
haut dans le treillis)                 36
Inférence grammaticale
Espace des hypothèses

Limiter la généralisation => ajout d’un
  critère supplémentaire :
zLimitation à une sous-classe d’automate
zCritère statistique d’arrêt des fusions (les
  états restants sont trop dissemblables)
zUtilisation d’exemples négatifs : arrêt dès
 qu’un e- est accepté par l ’automate
                                                37
Inférence grammaticale
Espace des hypothèses

Limiter la généralisation avec des e- :
          UA
                          e- acceptés

                          Border set : ensemble des
                          automates les plus généraux
                          n’acceptant pas d’e-

          MCA    à Rasoir d’Occam : recherche de
                 l’automate minimale dans le border set
                                                    38
Inférence grammaticale
Exemple

Promoteurs de B. Subtilis
zdonnées initiales :
  y1 248 616 états, 131 e+, 55 062 e-
zsolution :
  y95 états, 347 transitions, 8h de calcul

                                             39
40
Questions IA1

                41
Vous pouvez aussi lire