Title: Apprentissage%20automatique%20et%20notions%20connexes
1Apprentissage automatiqueet notions connexes
- ARTC - ESIEA 4ème année
- Intervenant Paul MUNTEANU
- Centre de Recherche du Groupe ESIEA
2Objectifs du module
- Présenter les bases de l'apprentissage
automatique - Introduire, par ce biais, des nouveaux concepts
de l'IA - une nouvelle stratégie de recherche les
algorithmes génétiques - des nouveaux formalismes de représentation des
connaissances les réseaux de neurones et les
réseaux bayésiens - Thématique commune
- importance accordée aux aspects numériques en IA
- importance accordée aux sources d'inspiration
biologiques de l'IA, en complément des maths et
de l'informatique
3Bibliographie (facultative)
- T.M. Mitchell,  Machine Learning , McGraw-Hill,
1997 - un bouquin sur l'AA écrit récemment, avec le
recul de quelques dizaines d'années de carrière
scientifique brillante, par un des pères
fondateurs du domaine - S. Russel, P. Norvig, Â Artificial Intelligence
A Modern Approach , Prentice Hall, 1995 - une vraie encyclopédie de l'IA actuelle
- le livre de référence le plus utilisé dans
l'enseignement de l'IA dans le monde
4Plan du cours
- Introduction à l'AA
- Notions théoriques d'AA
- Notions algorithmiques d'AA
- Exemples d'algorithmes d'AA
- basés sur des algorithmes génétiques
- basés sur des réseaux de neurones
- basés sur des réseaux bayésiens
5Introduction à l'AA
- Définition de l'AA
- Relation avec d'autres disciplines
- Intérêt pratique et applications de l'AA
- Typologie de l'AA
6Définition de l'AA
- Tâche non-triviale, comme pour toutes les
disciplines scientifiques - Pas de définition consensuelle
- Solution de facilité
- renvoyer la balle dans le champ des psychologues
 automatisation des activités qui, si elles
étaient réalisées par des êtres vivants,
s'appelleraient apprentissageÂ
7Définitions plus opérationnelles
- L'apprentissage est la construction ou la
modification des représentations de ce dont on
fait l'expérience ( Learning is constructing or
modifying representations of what is being
experienced - Michalski, 1986) - L'apprentissage automatique est l'étude des
méthodes informatiques d'acquisition de nouvelles
connaissances, de nouvelles aptitudes et de
nouvelles façons d'organiser les connaissances
existantes(Â Machine Learning is the study of
computational methods for acquiring new
knowledge, new skills, and new way to organise
existing knowledge - Carbonell, 1987)
8Définitions plus opérationnelles (2)
- On dit qu'un programme informatique apprend de
l'expérience E, par rapport à un ensemble de
tâches T et à une mesure de performance P, si ses
performances dans l'accomplissement des tâches de
T, telles qu'elles sont mesurées par P,
s'améliorent avec l'expérience E ( A computer
program is said to learn from experience E with
respect to some class of tasks T and performance
measure P, if its performance at tasks in T, as
measured by P, improves with experience EÂ -
Mitchell, 1997)
9Relation avec d'autres disciplines
- AA Ì IA Ì Informatique
- Influencé par un grand nombre d'autres
disciplines - algorithmique, résolution de problème
- probabilités, statistiques, théorie de
l'information - reconnaissance des formes, automatique,
traitement du signal - génétique, neurophysiologie, éthologie,
psychologie - philosophie
10Intérêt pratique de l'AA
- on le fait une seule fois (à la différence des
humains, les programmes peuvent partager les
connaissances apprises par simple copie) - même si c'est lent ça peut être plus rapide que
la programmation (plus le recueil d'expertise) - parfois, on ne peut pas faire autrement !
(comment écrire un programme pour réaliser une
tâche que nous ne savons pas réaliser nous-mêmes
?)
11Applications pratiques de l'AA
- systèmes experts
- méthode d'acquisition de connaissances
alternative ou complémentaire au recueil
d'expertise - traitement automatique du langage naturel (écrit)
- traitement (synthèse et reconnaissance) de la
parole - reconnaissance d'images
12Applications pratiques de l'AA (2)
- planification, robotique
- personnalisation de logiciels
- lecteurs de news ou de mail
- bureautique
- jeux
- activités beaucoup plus terre-à -terre industrie
chimique, agriculture, zootechnie, ...
13Extraction de Connaissances à partir des Données
(ECD)
- Regroupe la partie la plus importante des
applications de l'AA à l'heure actuelle - L'AA est utilisé pour la fouille des données
historiques accumulées par les entreprises - ECD Ë AA, AA Ë ECD !
- l'ECD combine l'AA avec des techniques issues des
bases de données, des statistiques, de la
visualisation, etc. - l'AA ne se réduit pas à la fouille de données
14Applications de l'ECD
- Analyse de risque
- assurances caractéristiques des clients à haut
risque - banques décider si un crédit peut être accordé
à une certaine personne - Marketing
- publipostage caractéristiques de la population
à cibler - grande distribution profils des consommateurs,
effet des soldes ou de la publicité, modèles
d'achat ( panier de la ménagère )
15Applications de l'ECD (2)
- Analyse financière
- maximiser le retour sur investissement des
portefeuilles d'actions - Gestion des stocks
- quand commander un produit
- quelle quantité demander
- Maintenance et contrôle de qualité
- détection et diagnostic des pannes ou des défauts
- choix des solutions à appliquer
16Applications de l'ECD (3)
- Détection des fraudes
- informatique
- cartes bancaires
- télécommunications, distribution d'eau et
d'énergie - Recherche scientifique
- médecine diagnostic, choix des traitements
- astronomie analyse des données recueillies par
satellite, catégorisation des étoiles
17Typologie de l'AA
- Selon la provenance de l'expérience exploitée par
l'apprentissage - fournie apprentissage à partir d'exemples
- acquise d'une manière autonome, par interaction
avec l'environnement apprentissage par
renforcement
18Les exemples
- Exemple un objet, une situation, etc.
- La représentation la plus simple
attribut-valeur - Les exemples sont caractérisés par les valeurs de
leurs attributs (champs, variables, etc.) - Tous les exemples sont décrits par les mêmes
attributs - Un ensemble d'exemples peut donc être représenté
comme une table à deux dimensions - les lignes correspondent aux exemples
- les colonnes correspondent aux attributs
19Les attributs
- Caractérisent les différents aspects (traits,
facettes, paramètres) des exemples - Extrêmement hétérogènes
- Pour un traitement informatique on doit les
répartir dans des types qui partagent (pour un
système donné) - le même encodage
- les mêmes opérations inter- et intra-type
- Certains types  usuels pour l'AA
20Les types d'attributs
- atomiques
- nominaux valeurs identifiées par des noms, sans
autre relation entre elles que l'exclusion
réciproque - numériques valeurs identifiées par des nombres
- discrets (ÃŽ Z)
- continus (ÃŽ R)
- binaires 2 valeurs qui peuvent être vues comme
- nominales (vrai/faux)
- numériques (0/1)
21Les types d'attributs (suite)
- hiérarchiques relation d'ordre partiel
- structurés
- multimédia (textes, images, sons, films),
séquences d'événements, etc.
couleur
froide
chaude
jaune
rouge
vert
bleu
22Typologie de l'AA Ã partir d'exemples
- Selon le degré de guidage de la part de
l'instructeur - apprentissage supervisé
- l'instructeur indique un attribut particulier que
l'algorithme devra apprendre à prédire à partir
des autres attributs - apprentissage non-supervisé
- tous les attributs sont traités de la même
manière - inventer de nouveaux concepts (proposer des
partitions  naturelles des exemples) - découvrir des relations entre les attributs
23Plan du cours
- Introduction à l'AA
- Notions théoriques d'AA
- Notions algorithmiques d'AA
- Exemples d'algorithmes d'AA
24Aspects théoriques de l'AA
- Les principales méthodes d'inférence de l'AA
- la déduction
- l'induction
- Le biais d'induction
- Formalisation du biais d'induction
- logique
- probabilités
- théorie de l'information
25La déduction
- la méthode d'inférence la plus étudiée d.p.d.v.
théorique (logique formelle) et la plus utilisée
pour automatiser le raisonnement en IA - garantit le préservation de la vérité à partir
de prémisses vraies on obtient toujours des
conclusions vraies - est utilisée dans certaines formes
d'apprentissage (analytique) pour organiser d'une
manière plus opérationnelle des connaissances
qu'on possède déjà - généralement utilisée pour exploiter les
résultats de l'apprentissage
26La déduction (2)
- La déduction nous permet de formaliser des
raisonnements comme -  Tous les éléphants sont grisÂ
-  Clyde est un éléphantÂ
- Â Clyde est grisÂ
- Ça marche très bien quand on raisonne du général
vers le particulier !
27Limites de la déduction
- Mais pas dans l'autre sens (du particulier vers
le général) -  Clyde est un éléphant  Clyde est grisÂ
-  Dimbo est un éléphant  Dimbo est grisÂ
- ...
-  Tous les éléphants sont grisÂ
- Dans un certain sens cette inférence est
incorrecte (tant qu'on n'ait pas vu tous les
éléphants on ne pourra jamais être certains de la
conclusion)
28L'induction
- Et pourtant on utilise tous ce type d'inférence
très souvent ! - après avoir vu suffisamment d'images d'éléphants
n'importe quel enfant apprend qu'ils sont tous
gris - Elle est donc indispensable dans la plupart des
formes d'apprentissage (empirique) - Elle est même utilisée intensément dans les
sciences expérimentales - Ce type d'inférence s'appelle induction
29Exemple d'induction
Y
X
Quelle est la relation entre X et Y ?
30Exemple d'induction (2)
Y
X
La déduction nous permet de rejeter une infinité
d'hypothèses celles qui sont en désaccord avec
les exemples
31Exemple d'induction (3)
Y
X
Mais il reste encore une infinité d'autres
hypothèses entre lesquelles la déduction ne peut
pas discerner !
32Exemple d'induction (4)
Y
X
Et pourtant la meilleure solution nous paraît
évidente la plus  simple des hypothèses en
accord avec les exemples
33Le biais d'induction
- Dans la plupart des cas la seule adéquation aux
exemples (critère imposé par la déduction) ne
suffit pas pour choisir entre les hypothèses
possibles - Tout autre critère de sélection ou de préférence
que l'adéquation aux exemples s'appelle biais
d'induction - Le biais d'induction peut être plus ou moins
explicite dans un algorithme d'apprentissage -
mais il existe toujours ! - Le biais d'induction le plus utilisé le rasoir
d'Occam -  Toutes choses égales par ailleurs, préfère
l'hypothèse la plus simpleÂ
34Généralisation du rasoir d'Occam
y
x
Ce biais est si fort qu'il nous pousse parfois Ã
négliger certaines imperfections des hypothèses,
pourvu qu'elles soient simples (on peut penser
dans ce cas que les imperfections sont causées
plutôtpar le bruit de mesure que par une
relation plus complexe entre x et y)
35Formalisation du biais d'induction
- Logique ramener l'induction à la déduction
- restreindre suffisamment la classe des hypothèses
acceptables afin d'obtenir une solution unique en
accord avec les exemples - cas précédent la classe des fonctions linéaires
yf(x) - formuler un critère de préférence parmi les
hypothèses qui sont en accord avec les exemples - cas précédent la fonction polynomiale de degré
minimal
36Formalisation du biais d'induction (2)
- Probabilités
- les critères statistiques  orthodoxes tels que
le maximum de vraisemblance, P(DH), ne suffisent
généralement pas - cas précédent P(DH) 1 pour toutes les
hypothèses en accord avec les exemples - approche  bayésienne des probabilités
critère du maximum a posteriori P(HD)
37Théorie bayésienne des probabilités
- Théorème de Bayes
- La probabilité a priori va biaiser
l'apprentissage envers les hypothèses les  moins
surprenantes dans l'état actuel de nos
connaissances (avant avoir vu les données) - La théorie des probabilités traite dans un cadre
unitaire la déduction et l'induction
38Formalisation du biais d'induction (3)
- Théorie de l'information (principe de la
description de longueur minimale MDL Minimum
Description Length) - L'apprentissage est vu comme un problème de
compression de l'information - La meilleure théorie est celle qui minimise la
longueur totale du message transmis DL(H)
DL(DH)
Théorie
DonnéesThéorie
0111000110
111000101000111001110101
DL(H)
DL(DH)
39Formalisation du biais d'induction (4)
- La quantité d'information portée par un message
de probabilité p est -log2(p) - en conséquence, le nombre optimal de bits
nécessaires pour le coder est -log2(p) - Justification intuitive
- un message de probabilité 1 n'apporte aucune
information - ça ne sert à rien de gaspiller de la bande
passante pour informer notre interlocuteur que la
nuit il fait noir - un message de probabilité approchant 0 apporte
une information qui tend vers l'infini - feriez-vous des économies pour être le premier Ã
annoncer que des extraterrestres ont atterris Ã
Laval ?
40Formalisation du biais d'induction (5)
- Donc
- le critère MDL est conceptuellement identique au
critère du maximum a posteriori mais évite
l'explicitation des probabilités (ce qui plaît
aux informaticiens) - la méthode de codage adoptée spontanément par les
informaticiens tient intrinsèquement compte des
probabilités, par simple souci d'économie
41Plan du cours
- Introduction à l'AA
- Notions théoriques d'AA
- Notions algorithmiques d'AA
- Exemples d'algorithmes d'AA
42Notions algorithmiques d'AA
- Une fois qu'on a défini ce qu'on cherche (en
acceptant un certain biais d'induction) le
problème n'est pas résolu pour autant ! - Théoriquement on pourrait évaluer toutes les
hypothèses afin de trouver la meilleure - Pratiquement la recherche exhaustive est
impossible à réaliser (l'espace des hypothèses
possibles est très grand, souvent infini)
43AA comme recherche heuristique
- la plupart des algorithmes d'AA réalisent donc
une recherche heuristique de la  meilleureÂ
hypothèse - l'espace de recherche est défini par le
formalisme utilisé pour la représentation des
hypothèses - la qualité des hypothèses est calculée par une
fonction d'évaluation - au cours de la recherche, l'affinement des
hypothèses est réalisé par certains opérateurs
de transformation
44Illustration
Espace de recherche
Opérateur de transformation
Hypothèse initiale
Score de l'hypothèse calculé par la fonction
d'évaluation
Hypothèse finale
Trajectoire déterminée par la stratégie de
recherche
45Algorithme générique d'AA
- Initialisation une (ou plusieurs) hypothèse(s)
initiale(s) - Recherche d'une (ou plusieurs) hypothèse(s)
améliorée(s) - Tant que non condition d'arrêt
- Choix du (des) opérateur(s) à appliquer sur la
(les) hypothèse(s) courante(s) en vue de
l'amélioration de la fonction d'évaluation - Obtention d'une (de plusieurs) hypothèse(s) par
l'application du (des) opérateurs choisi(s) - Post-traitement de la  (des) hypothèse(s)
obtenue(s)
46Stratégies de recherche  classiquesÂ
- Par escalade (hill-climbing)
- par descente du gradient
- Avec liste tabou
- Par recuit simulé
- Avec retour-arrière (backtracking)
- En faisceau (beam-search)
- par algorithmes génétiques
47Recherche par escalade
- une seule hypothèse courante
- on choisit à chaque itération l'opérateur qui
réalise l'amélioration maximale de la fonction
d'évaluation - avantage la plus rapide
- désavantage
- dépendante de l'hypothèse initiale
- facilement piégée par les optima locaux
- cas particulier descente du gradient
48Recherche par descente du gradient
- Les hypothèses sont des fonctions d'un ensemble
de paramètres numériques - La fonction d'évaluation
- E est dérivable en
- L'opérateur de transformation est selon qu'on
veut maximiser ou minimiser - Paramètre taux d'apprentissage h (qui diminue
généralement au cours du temps)
49Descente du gradient
Min local
Min global
50Amélioration de la recherche par escalade
- L'optimum retrouvé dépend du point de départ de
la recherche - multiples départs avec point initial aléatoire
- Pour sortir d'un optimum local on peut accepter
de dégrader la qualité de l'hypothèse courante - liste tabou
- recuit simulé
51Recherche avec liste tabou
- Extension directe de la recherche par escalade
- On applique toujours l'opérateur qui produit
l'hypothèse de qualité maximale (même si celle-ci
est d'une moins bonne qualité que l'hypothèse
courante) - Pour éviter les risques de cyclage, on maintien
une liste des k derniers agents évalués (k Ã
déterminer par l'utilisateur) - Subsiste encore des risques de blocage
52Risques de blocage
Si klt2 alors situation de cyclage
Si kgt3 alors situation de blocage
53Recherche par recuit simulé
- Autre extension directe de la recherche par
escalade - Afin d'éviter les optima locaux on accepte
parfois de modifier l'hypothèse courante dans un
sens qui diminue la fonction d'évaluation (afin
d'explorer de nouvelles régions de l'espace de
recherche) - La probabilité d'accepter une telle hypothèse est
contrôlée par un paramètre T ( température )
qui décroît au cours du temps
54Recherche par recuit simulé
- A chaque itération
- on choisit au hasard un opérateur de
transformation que l'on applique à l'hypothèse
courante HC afin de produire une nouvelle
hypothèse HN - soit Df la différence entre les valeurs de la
fonction d'évaluation de HN et HC - si Df gt 0 alors la nouvelle hypothèse devient
l'hypothèse courante - sinon, la nouvelle hypothèse devient l'hypothèse
courante avec la probabilité
55Recherche avec retour-arrière
- Les stratégies de recherche précédentes sont des
stratégies irrévocables - La recherche avec retour-arrière est une
stratégie tentative - Si la recherche par escalade aboutit à un optimum
local inacceptable - on remet en cause un des choix de transformation
qui ont été faits - on recommence la recherche avec l'hypothèse la
plus prometteuse qui n'a pas encore été poursuivie
56Recherche en faisceau
- Contrôlée par un paramètre b la taille du
faisceau - Au lieu de garder uniquement la meilleure
hypothèse, on garde un  faisceau des b
meilleures hypothèses - A chaque itération on applique tous les
opérateurs de transformation à toutes les
hypothèses du faisceau et on sélectionne les b
meilleures
57Les stratégies de recherche "bio"
- Toutes les méthodes précédentes sont des
solutions génériques, assez peu surprenantes,
données par des informaticiens à des problèmes de
recherche NP-complets - La proximité entre l'IA et les sciences de la vie
a donné naissance à des approches plus exotiques
et qui ont reçus des noms bizarres algorithmes
génétiques, systèmes à fourmis, etc.
58Les stratégies de recherche "bio" (2)
- La nature résout souvent des problèmes de
recherche - trouver les caractéristiques génétiques idéales
d'une population biologique dans un certain
écosystème - trouver le chemin optimal vers la nourriture par
une colonie d'animaux sociaux (comme les fourmis) - Les stratégies de recherche "bio" abstraient les
caractéristiques des solutions naturelles afin de
les intégrer dans des stratégies techniques de
recherche
59Recherche par algorithmes génétiques
- Cas particulier de la recherche en faisceau
- Utilise des codages particuliers des hypothèses
( génomes ) - suite de bits (approche classique)
- programmes représentés par leur arbre syntaxique
( programmation génétique ) - Utilise des opérateurs de transformation
particuliers, inspirés de l'évolution naturelle
des espèces biologiques sélection, croisements
et mutations
60Opérateurs génétiques
Sélection
11101001000
11101001000
11101001000
11101010101
Croisement
00001010101
00001001000
Mutation
11101001000
11101011000
61Algorithme génétique  génériqueÂ
- Génère p hypothèses au hasard, pour former la
population initiale P - Pour chaque HiÃŽP
- Calcule la valeur de la fonction d'évaluation
Eval(Hi) - Tant que la condition d'arrêt n'est pas remplie
(max(Eval(Hj))ltSeuil) - Génère la population suivante, PS, par
sélection, croisement et mutation à partir de P - PPS
- Pour chaque HiÃŽP
- Calcule la valeur de la fonction d'évaluation
Eval(Hi) - Retourne argmax(Eval(Hj))
62Génération de la population suivante
- Initialise la population suivante
- Pour chaque HiÎP Calcule sa probabilité de
sélection - Sélection
- Choix aléatoire, en accord avec prob, de (1-r)p
hypothèses de P pour faire partie de PS - Croisement
- Choix aléatoire de rp/2 paires d'hypothèses de
P, en accord avec prob, croisement de ces paires
d'hypothèses et rajout de leurs descendants à PS - Mutation
- Choix aléatoire de mp hypothèses de PS, avec une
probabilité uniforme, et inversion, pour chacune
de ces hypothèses, d'un bit choisi aléatoirement -
63Discussion
- p, r, m sont des paramètres fournis par
l'utilisateur - un bon fonctionnement nécessite un subtil dosage
de croisements et mutations - pour éviter trop de consanguinité maintien de
plusieurs sous-populations relativement autonomes
64Plan du cours
- Introduction à l'AA
- Notions théoriques d'AA
- Notions algorithmiques d'AA
- Exemples d'algorithmes d'AA
65L'apprentissage supervisé
- Les exemples des énoncés de problèmes déjÃ
résolus accompagnés de leurs solutions - Le but apprendre à résoudre des problèmes du
même type - La solution est représentée comme un attribut
particulier (éventuellement structuré), qu'il
faut apprendre à prédire à partir des autres
attributs
66L'apprentissage supervisé (2)
- Soit X1, X2, , Xn les attributs prédictifs et Y
l'attribut à prédire - La relation entre Y et X1, X2, , Xn peut être
exprimée - de manière déterministe Y f(X1, X2, , Xn)
- de manière probabiliste P(Y X1, X2, , Xn)
- Selon le type de Y on parlera de
- discrimination ou classification supervisée (Y
est nominal la classe) - régression (Y est numérique)
67L'apprentissage supervisé (3)
- Algorithmes  symboliques (issus de l'IA)
- induction d'arbres de décision
- induction de règles
- programmation logique inductive
- Algorithmes connexionnistes (réseaux de neurones)
- réseaux multi-couches à retro-propagation du
gradient - Algorithmes  paresseux (l'induction est
retardée) - la méthode des K plus proches voisins
- le raisonnement à partir des cas
68L'induction de règles
- Les règles de production le formalisme
traditionnel de représentation des connaissances
en IA classique - Si prémisses Alors conclusion
- En apprentissage supervisé
- les prémisses des règles portent sur les valeurs
des attributs - la conclusion détermine la classe
- La méthode d'induction la plus utilisée (séparer
pour régner) - construction des règles une par une
- recherche heuristique (par escalade ou en
faisceau) des meilleures prémisses de chaque
règle
69Induction de règles avec des algorithmes
génétiques
- A la différence de la méthode  séparer pour
régner , les règles sont apprises toutes en même
temps - 2 grandes familles d'approches
- Pittsburgh individu paquet de règles
- Michigan individu règle, population paquet
de règles - Un des algorithmes les plus connus (Pittsburgh)
- GABIL (DeJong, Spears, Gordon, Using genetic
algorithms for concept learning, Machine
Learning, 13, 1993)
70Représentation des hypothèses
- Attributs
- Classe
- Une règle
- Principe d'encodage des règles
- un bit par valeur d'attribut (ou de classe) 0
valeur interdite, 1 valeur permise - groupes de bits de longueur et position fixe pour
chaque attribut et pour la classe - Codage de la règle 1001 01 111 10
71Représentation des hypothèses (2)
- Problèmes
- l'AG risque de produire des génomes
inintéressants (1 pour plusieurs valeurs de la
classe) - règles indépendantes il faut prévoir une
stratégie de résolution des conflits - Dans GABIL
- restriction à l'apprentissage des concepts
(classes binaires exemples positifs et négatifs
d'un concept) - apprentissage de règles uniquement pour les
exemples positifs (si aucune règle applicable,
l'exemple est classé négatif) - il n'est plus nécessaire d'encoder la conclusion
de la règle
72Représentation des hypothèses (3)
- Principe d'encodage des paquets de règles
- juxtaposition des codes des règles qui
constituent le paquet - les génomes des paquets de règles ont une
longueur variable - Exemple
- codage 1001 01 111 1111 11 001
73Opérateurs génétiques
- Opérateurs de sélection et mutation standard
- Opérateur de croisement modifié
- Ã deux points de coupure
- problème génomes de longueur variable
- solution les points de coupure du deuxième
parent sont choisis à des endroits avec la même
sémantique que ceux du premier parent0101 11
101 0001 01 111 1111 11 1011001 01 111
1111 11 001 1101 11 001
74Fonction d'évaluation
- Récompense non-linéaire de la précision des
paquets de règles - la précision d'une hypothèse H la proportion
d'exemples bien classés par cette hypothèses
parmi les exemples d'apprentissage - éval(H) précision(H)2
- Observation
- pas de traitement du bruit
- pas de biais en faveur des hypothèses simples
- amélioration possible
75Réseaux de neurones
- Apprentissage de fonctions à valeurs réelles,
discrètes ou vectorielles - Robustes aux bruits et aux erreurs
- Inspiration biologique
- homme 1011 neurones connectés chacun à 104
autres - Fonctionnement complexe obtenu par
l'interconnexion d'unités de traitement très
simples ? connexionnisme
76Applications
- Traitement du signal
- reconnaissance de la parole
- reconnaissance de bruits de termites
- Interprétation de scènes visuelles
- Stratégies de contrôle
- véhicule autonome (70 mph sur 90 miles)
77Caractéristiques générales
- L'apprentissage peut être long
- La relaxation est par contre très rapide
- Approximateur de fonctions type  boite noire ,
i.e. perte de lisibilité par rapport à d'autres
approximateurs comme les arbres de décisions ou
les règles
78Le plus simple des réseau le perceptron
x01
w0
x1
w1
Perceptron
x2
w2
s
S
s 1 si gt 0 -1 sinon
wp
xp
79Le perceptron
- Séparation linéaire des classes
- ET, OU, !ET, !OU mais pas OUX
- exemple du ET w1 w2 0.5 et w0 -0.8
- exemple du OU w1 w2 0.5 et w0 -0.3
80Règle d'apprentissage LMS
- L'espace de recherche est caractérisé par le
vecteur de poids à valeurs réelles - recherche dans ?p
- Règle d'apprentissage LMS (règle delta) wi wi
Dwi Dwi ? (t-s) xi - Convergence après multiples applications si les
exemples sont linéairement séparables
81L'unité linéaire
x01
w0
x1
w1
Unité linéaire
x2
w2
s
S
wp
xp
82Descente du gradient
- Unité linéaire perceptron sans fonction de
seuillage - Lerreur d'apprentissage, i.e. le critère Ã
optimiser, est définie par - La direction permettant de descendre le long de
la surface d'erreur est défini par le gradient de
E par rapport Ã
où
83Règle d'apprentissage delta
- La descente de gradient s'effectue par
avec - La version incrémentale (stochastique) diminue le
risque d'obtenir un minimum local en utilisant
plusieurs erreurs, une pour chaque donnée
84Algorithme de descente de gradient pour unités
linéaires
- Initialise les poids avec des petites valeurs
aléatoires (entre -0,05 et 0,05) - tant que la condition d'arrêt n'est pas remplie
- pour chaque exemple d'apprentissage
- calcule la sortie s du neurone
- pour chaque poids du réseau wi
-
85Réseau de neurones multi-couches et
rétro-propagation du gradient
- Le perceptron ne modélise que des fonctions
linéaires (même si plusieurs en cascade) - Un réseau multi-couches peut exprimer une variété
très riche de fonctions non linéaires - neurones avec sorties non linéaires en fonction
des entrées - les sorties des neurones sont dérivables en
fonction de leurs entrées
86Neurone artificiel avec fonction de seuillage
sigmoïdale
x01
w0
x1
w1
Neurone
x2
w2
s
S
wp
xp
87Les réseaux multi-couches
x1
s1
x2
s2
x3
xn
sm
Sorties
Entrées
Couche(s) cachée(s)
88Définition du critère à optimiser
- Le réseau multi-couches calcule une fonction
non-linéaire des entrées et des poids - Le réseau pouvant avoir plusieurs sorties,
l'erreur sur l'ensemble des données est redéfinie
par - L'erreur pour la version stochastique
89Retro-propagation du gradient
- Comment calculer ?
- Notations (on omet l'indice d)
- eji l'entrée i du neurone j
- wji le poids de l'entrée i du neurone j
- activj (l'activation du neurone
j) - sj la sortie du neurone j
- Alors
- où ?j est le  terme d'erreur du neurone j
90Retro-propagation du gradient (2)
- La structure du réseau nous permet de calculer
les termes d'erreur à partir de la couche de
sortie vers la couche d'entrée - Après plusieurs calculs on obtient
- pour les neurones de sortie (numérotés de 1 à m,
correspondant aux variables à prédire) - pour les neurones des couches cachées
91Remarques
- La rétro-propagation est assez similaire aux
règles LMS et delta ? (t-s) xi - Le terme (t-s) est remplacé par le terme dk plus
complexe, intégrant le passage par la sigmoïde - Pour dh, les exemples ne fournissant pas
directement l'erreur, on la calcule en sommant
les dk pour chaque unité de sortie influencée par
h, pondérés par wkh,  responsabilité de h dans
dk
92Algorithme de rétro-propagation du gradient
- Initialise les poids avec des petites valeurs
aléatoires (entre -0,05 et 0,05) - tant que la condition d'arrêt n'est pas remplie
- pour chaque exemple d'apprentissage
- calcule su pour chaque neurone u
- pour chaque neurone de sortie k
- calcule son terme d'erreur
- pour chaque neurone caché h
- calcule son terme d'erreur
- pour chaque poids du réseau wji
-
93Critères d'arrêt
- convergence de l'erreur sur l'ensemble
d'apprentissage - risque de sur-apprentissage
- minimisation de l'erreur sur un ensemble
indépendant
94Minima locaux
- Pour éviter certains minima locaux, il est
possible d'ajouter un terme d'inertie dans la
mise à jour des poids - permet la sortie de petits minima locaux
- permet la sortie de plateaux
- augmente la grandeur du pas si la direction du
gradient ne change pas et accélère ainsi la
convergence
95Sur-apprentissage
- Réduction du risque de sur-apprentissage par
réduction des poids (weight decay) - la réduction des poids s'effectue en modifiant le
terme d'erreur - biaise l'apprentissage contre les surfaces trop
complexes
96Modification dynamique de la structure
- Ajout incrémental de neurones dans la couche
cachée - Elagage
- élimination des neurones ayant des poids très
faibles - élimination des neurones dont une faible
variation de poids ne change pas beaucoup
l'erreur (optimal brain damage), i.e. mesure de
l'importance de la connexion avec
97L'apprentissage non-supervisé
- Invention de nouveaux concepts (Clustering)
- Découverte de relations entre les attributs
98Clustering
- Classification non-supervisée, catégorisation,
segmentation - Objectif
- trouver des regroupements  naturels (clusters)
des exemples - inventer un nouvel attribut C dont les valeurs
c1, c2,, ck indiquent le cluster auquel un
exemple appartient - à la différence de la discrimination, les valeurs
de C ne sont pas fournies avec les exemples
d'apprentissage - critère pour réaliser les regroupements
- maximiser la similarité inter-cluster
- minimiser la similarité intra-cluster
- Exemple d'application
- segmentation de la clientèle en groupes homogènes
99Cartes auto-organisatrices de Kohonen
- Transformation de l'espace n-dimensionnel des
exemples en un espace bi-dimensionnel (une carte) - Préservation du voisinage deux exemples qui
sont similaires dans l'espace original seront
également proches dans la carte - La carte est matérialisée par un réseau de
neurones - Idée de base chaque neurone apprend Ã
reconnaître un cluster d'exemples
100Le réseau
- Neurones
- les sorties des neurones représentent les
distances entre le vecteur des entrées et le
vecteur des poids - sous certaines conditions de normalisation
- Réseau
- une seule couche de neurones
- les attributs des exemples sont distribués sur
tous les neurones par des connexions adaptatives - chaque neurone a une influence sur ses voisins
par des connexions d'un type spécial les
connexions récurrentes
101Structure du réseau de Kohonen
Voisinage carré de dimension 1
connexion récurrente
connexion adaptative
x1
x2
xn
102Principe de l'algorithme de Kohonen
- Chaque neurone se spécialise dans la
reconnaissance d'un cluster d'exemples similaires - Les neurones voisins dans le réseau représentent
des clusters proches dans l'espace des exemples - Après la présentation d'un exemple , les
vecteurs des poids du neurone le plus actif et de
ceux de son voisinage se déplacent vers - L'apprentissage est contrôlé par un paramètre h
qui décroît au cours de l'apprentissage - Le voisinage des neurones se rétrécit également
au cours de l'apprentissage
103Algorithme de Kohonen
- tant que la condition d'arrêt n'est pas remplie
- présenter un exemple au réseau et calculer
les sorties des neurones -
- rechercher le neurone de sortie maximale i et
son voisinage I - adapter les poids des neurones k Î I Èi
selon la règle -
104L'apprentissage non-supervisé
- Invention de nouveaux concepts (Clustering)
- Découverte de relations entre les attributs
105Apprentissage de réseaux bayésiens
- Réseaux bayésiens le formalisme de
représentation des connaissances incertaines le
plus utilisé actuellement - Hybridation réussie entre
- la compréhensibilité des résultats des méthodes
symboliques - les fondements probabilistes rigoureux des
méthodes statistiques - la structure en réseau de composants simples des
approches connectionnistes
106Applications des réseaux bayésiens
- Réalisation de systèmes experts par recueil
d'expertise - aide au diagnostic médical, technique, logiciel
- assistants "intelligents" (Office 97)
- (selon Bill Gates, l'avantage compétitif à terme
de Microsoft serait son expertise dans les
réseaux bayésiens Los Angeles Times, octobre
1996) - applications militaires de pilotage automatique
des systèmes de défense - etc.
- Plus récemment Data Mining par apprentissage
automatique de réseaux bayésiens
107Inférence probabiliste
- Le domaine étudié est représenté par un ensemble
de variables (attributs) X1, X2,, Xn - On dispose des valeurs d'un sous-ensemble de ces
variables (variables observées) - On veut caractériser les valeurs possibles d'un
autre sous-ensemble de variables (variables
requises) sous la forme de leurs distributions de
probabilités
108Représentation des connaissances
- La distribution des probabilités jointes (DPJ)
P(X1 x1, X2 x2,, Xn xn) ? P(x1, x2,, xn)
pour toutes les combinaisons possibles des
valeurs des variables - La connaissance de la DPJ est suffisante pour
mener à bien toute inférence portant sur
l'ensemble des variables - La représentation de la DPJ nécessite un nombre
de paramètres exponentiel par rapport au nombre
de variables (plus d'un milliard pour 20
variables binaires)
109Indépendance conditionnelle
- Soit A, B et C des ensembles de variables et a, b
et c des combinaisons de valeurs pour ces
ensembles de variables - Si P(A aC c) P(A aB b, C c) ? a, b,
c alors on dit que les variables A sont
indépendantes des variables B si on connaît les
variables C - La relation d'indépendance conditionnelle entre
les variables A et B est symétrique - Idée exploiter les indépendances
conditionnelles entre les variables afin de
représenter la DPJ d'une manière plus compacte
110Exploitation des indépendances conditionnelles
- Règle du ET
- Soit Pai ? Xi-1, Xi-2,, X1 tels que pour
toutes les valeurs possibles - Formulation équivalente
- la variable Xi est indépendante des variables
Xi-1, Xi-2,, X1\Pai si on connaît les
variables Pai
111Représentation compacte de la DPJ
- Alors on peut écrire la DPJ sous la forme
- notation plus compacte
- Au lieu d'un nombre de valeurs exponentiel par
rapport au nombre de variables, on a besoin, pour
chaque variable, d'un nombre de valeurs
exponentiel par rapport au nombre de ses parents
112Réseaux bayésiens (RB)
- Graphe orienté sans cycle
- les nœuds représentent les variables du domaine
- les arcs représentent les influences directes
entre les variables - Tables de probabilités conditionnelles (TPC)
attachées à chaque nœud Xi - soit Pai les parents du nœud Xi
- la TPC du nœud Xi contient les probabilités P(Xi
xi Pai pai) pour toute valeur xi de Xi et
toute combinaison de valeurs pai de Pai
113Exemple - l'histoire
- Stuart Russell, AI - A Modern Approach
- une personne habitant Los Angeles (tremblements
de terre fréquents) installe chez elle une alarme
contre les cambriolages - elle demande à ses amis John et Mary (qui restent
chez eux dans la journée) de l'appeler au travail
s'ils entendent l'alarme - John appelle toujours quand il croît entendre
l'alarme mais la confond parfois avec la sonnerie
du téléphone - Mary aime écouter de la musique forte et, donc,
n'entend pas toujours l'alarme
114Exemple - le réseau bayésien
115Construction de RB
- Algorithme théorique
- Choix d'un ordre sur les variables
- Pour i de 1 Ã n
- création du nœud correspondant à la variable Xi
- recherche d'un ensemble minimal de variables Pai,
parmi les variables déjà traitées, tels que la
variable Xi est indépendante des variables Xi-1,
Xi-2,, X1\Pai si on connaît les variables Pai - création d arcs orientés entre les variables Pai
et la variable Xi - création de la TPC correspondant à la variable Xi
- La complexité du réseau obtenu est très
dépendante de l'ordre des variables - Dans la pratique, on s'appuie sur les relations
de causalité directe entre les variables
116Inférence à partir des RB
- La connaissance de la DPJ est suffisante pour
mener à bien toute inférence probabiliste portant
sur les variables du domaine - L'inférence dans les réseaux bayésiens est
NP-difficile - Il existe cependant des algorithmes d'inférence
suffisamment rapides pour la plupart des
applications pratiques - inférence exacte la méthode des arbres de
jonction - inférence approximative méthodes type
Monte-Carlo
117Exemple - types d'inférence possibles
- Diagnostique P(CJ) ?
- Inférence causale P(JC) ?
- Inférence inter-causale P(CA,T) ?
- Inférence mixte
- P(AJ,T) ? combinaison de diagnostic et
d'inférence causale - P(CJ,T) ? combinaison de diagnostic et
d'inférence inter-causale
118Méthodes d'apprentissage des RB
- Plusieurs catégories de méthodes selon que
- la structure du réseau est connue ou non
- apprentissage de paramètres
- apprentissage de structure
- les valeurs de tous les attributs sont
disponibles ou non - on va s'intéresser uniquement à la première
catégorie - pour les cas où certaines valeurs des variables
sont absentes d'une manière aléatoire (valeurs
manquantes) ou systématique (variables cachées)
des méthodes d'apprentissage de type
échantillonnage de Gibbs ou EM (Expectation-Maximi
sation) ont été développées
119Apprentissage des paramètres
- La méthode la plus simple le comptage
- Risque certaines combinaisons parents-enfant
peuvent être peu ou pas du tout représentées - Méthodes plus sophistiquées
- estimation bayésienne avec prise en compte des
probabilités a-priori - utilisation de modèles locaux (arbres de
décision) pour représenter la dépendance
parents-enfant
120Apprentissage de la structure
- Définir une fonction d'évaluation des différentes
structures possibles et utiliser une stratégie de
recherche heuristique pour trouver la structure
 optimale - Deux méthodes génériques en apprentissage pour
définir les fonctions d'évaluation - le principe de la description minimale (MDL
Minimum Description Length) - l'approche bayésienne qui passe par le calcul des
probabilités a posteriori
121Codage de la théorie
- Théorie réseau bayésien R
122Codage des données
- Données somme des descriptions des exemples
- Les paramètres qui minimisent cette expression
sont - Donc
123Exemple de codage des données
- Soit le réseauet deux exemples à transmettre
e1 (v, v, v) et e2 (v, f, v) - PR(Av, Bv, Cv) PR(Av).PR(Bv).PR(CvAv,
Bv) - PR(Av, Bf, Cv) PR(Av).PR(Bf).PR(CvAv,
Bv) - Le nombre de bits nécessaires est donc DL(DR)
-(2 log2(PR(Av)) log2(PR(Bv))
log2(PR(Bf)) log2(PR(CvAv, Bv))
log2(PR(CvAv, Bf)))
124Le score MDL
- Le score se décompose donc en une somme de
sous-scores locaux à chaque nœud (propriété
importante pour l'optimisation)
125L'approche bayésienne
-
-
- P(G) réalise une pénalisation des structures
dissemblables à une structure a priori ou, en
absence d'une telle structure, des structures
complexes (rasoir d'Occam) - P(DG) doit prendre en compte toutes les valeurs
possibles des TPC
avec P(D) indépendant de G
le score "Bayésien"
126Le score BD
- Si
- on accepte certaines hypothèses qui peuvent être
résumées sous la forme "chaque distribution
P(XiPai) peut être apprise indépendamment des
autres" - les a priori sur les paramètres peuvent être
représentés sous une certaine forme analytique
(loi de Dirichlet) - Alors
- l'intégrale de la vraisemblance peut être
calculée analytiquement - le score résultant porte le nom de "Bayésien
Dirichlet" (BD)
127Le score BDe
- Problème avec le score BD
- demande l'obtention des a priori pour tous les
paramètres de toutes les structures évaluées
infaisable ! - Si en plus des hypothèses déjà acceptées
- on accepte que la vraisemblance ne puisse pas
départager des structures qui représentent les
mêmes relations d'indépendance conditionnelle
(structures "équivalentes") - Alors
- on aboutit à une formule analytique et à une
méthode d'élicitation des a priori sur les
paramètres qui définissent le score Bde - Les scores BD et BDe sont décomposables sur les
nœuds
128Optimisation des scores
- La recherche de la structure optimale d.p.d.v. de
ces scores (et de la plupart des autres) est
NP-difficile - Recherche heuristique
- Le plus souvent recherche gloutonne, tabou ou
recuit simulé - Ses stratégies de recherche demandent la
définition d'un ensemble d'opérateurs de
transformation qui permettent l'exploration de
l'espace de recherche
129Opérateurs de transformation
A
B
Rajoute un arc
C
A
B
D
C
Enlève un arc
Renverse un arc
D
A
B
A
B
C
C
D
D
130Détails algorithmiques
- Le point de départ de la recherche
- le réseau totalement déconnecté
- un réseau a priori fourni par l'utilisateur
- un réseau à structure contrainte qui peut être
obtenu rapidement (l'arbre de recouvrement
maximal) - La décomposabilité du score
- facilite le calcul du score des hypothèses
transformées au plus deux scores locaux Ã
actualiser - peut être utilisée pour optimiser les calculs Ã
l'aide d'une mémoire  cacheÂ
131Interprétation causale des réseaux bayésiens
- Contestée par certains chercheurs peut-on
vraiment apprendre des causalités à partir des
données (sans faire des expériences) ? - Ses partisans s'appuient sur des hypothèses qui,
selon eux, permettent de donner à certains arcs
la sémantique de liens de causalité directe entre
les variables - A l'origine d'une famille de méthodes
d'apprentissage de structure reposant directement
sur des tests d'indépendance conditionnelle - plus efficaces que les méthodes fondées sur un
score - capables dans certains cas de découvrir la
présence de variables cachées - très sensibles aux erreurs faites par les tests
d'indépendance conditionnelle et à leur
paramétrage
132Conclusion
- Il est difficile d'imaginer l'IA sans l'AA
- L'AA a déjà prouvé son intérêt pratique par un
grand nombre d'applications - Avec la Fouille de Données (Data Mining), l'AA
connaît une nouvelle jeunesse et une approche
plus pragmatique - En FD, le "tout automatique" et "les expériences
de laboratoire" sont remplacés par une
collaboration directe avec les experts humains et
une confrontation sans merci avec les tâches
pratiques à résoudre.