3Tiers-ApprentissageAutoV2

publicité
Apprentissage
automatique
L’apprentissage
automatique
Plan de présentation
 Comment
apprendre?
 Exemple simple d’application
 Comprendre la magie
 Voir un exemple simple d’application
Mais qu’est-ce que l’IA et où
on va dans ce cours?


L’intelligence artificielle tente de reproduire le
comportement humain à l’aide d’un ordinateur.
Mais qu’est-ce qu’on cherche à reproduire:






La représentation des connaissances
L’apprentissage (voir le film à 40 minutes)
Le raisonnement(inférence)
L’intelligence émotionnelle
La personnalité
Etc.
Comparaison avec l’humain


Le cerveau utilise un
réseau très complexe
ayant un grand nombre de
cellules de base
interconnectées. Il y a
∼100 milliards de neurones
et 1015 connexions.
Aujourd’hui, nous
essaierons de stimuler un
neurone pour le faire
apprendre.
Comment apprendre? Dans la
vrai vie



L’apprentissage se fait
grâce à l’interaction entre
les données et la
conception de
l’apprenant.
L’apprennant essait de
trouver un modèle(pattern)
à travers les données pour
en déduire une conclusion.
Si l’apprenant fait une
erreur, il ajuste sa
conception en fonction du
résultat.
Apprentissage automatique
 Certain
scientifiques affirme que le
hasard n’existe pas et que tout
phénomène peut être calculé à
l’avance si on a suffisamment de
données.
Apprentissage automatique
 Toute
question peut être reformulée
sous la forme d’une question
booléenne.
 L’objectif sera de conditionner un
neurone pour détermine les règles qui
régissent une réponse à une question
booléenne.
Le perceptron
 Dans
ce cours, nous allons utiliser un
classificateur linéaire de type perceptron.
 Le perceptron peut être vu comme le type
de réseau de neurones le plus simple. Il possède
un vecteur de données en entrées et une valeur
booléenne en sortie.
 Le perceptron a été inventé en 1957 par Frank
Rosenblatt au Cornell Aeronautical Laboratory.
Le perceptron
 L’objectif
de l’algorithme est de construire une
“bonne” fonction h(x) à partir de l’observation
d’un échantillon d’exemples S. Idéalement, nous
aurions h(x) =y pour tout exemple (xi; y)non
observé par l’algorithme. i.e., h(x) est une
“bonne” fonction ssi elle prédit bien la valeur de
sortie des exemples à venir.
Apprentissage automatique sur
un échantillon d’apprentissage



Un algorithme d’apprentissage est un
algorithme qui a pour fonction d’apprendre à
répondre à une question à partir d’un
ensemble S de données contenant un
nombre fini m d’exemples de la tâche à
apprendre.
Cet ensemble S se nomme l’échantillon
d’apprentissage (“training set”)
Chaque exemple est constitué d’un “objet”
d’entrée xi et d’une valeur de sortie y
L’idée
 Modéliser
un ensemble de données dans
un plan cartésien.
 Essayer de tracer une droite qui séparera
correctement les éléments.
 Voir le document Excel

La question est de savoir si un étudiant
passera son cours de programmation 1?
Limite du perceptron
• Le perceptron est incapable de distinguer les
patterns non séparables linéairement
P
input P
input Q
ET
XOR
0
1
0
1
1
0
0
1
0
0
0
0
1
1 0
1
1
0
0 0
0
fonction ET logique
fonction XOR (ou exclusi
P
1
1
0
1
0 0
0
Q
patterns séparables linéairement
1
0
1
1
Q
patterns non séparables linéairemen
Comment s’opère la magie
maintenant?
Algorithme d’apprentissage
Algorithme d’apprentissage
Rétropropagation du gradient
(Descente en gradient)
http://www.iro.umontreal.ca/~bengioy/ift6266/H12/html/gradient_fr.html
https://fr.wikipedia.org/wiki/R%C3%A9tropropagation_du_gradient
Algorithme d’apprentissage
Principales étapes :
1. Initialiser aléatoirement les poids
synaptiques
2. Faire passer les observations unes à unes


3.
Calculer l’erreur de prédiction pour
l’observation
Mettre à jour les poids synaptiques si
nécessaire
Jusqu’à convergence du processus
Algorithme d’apprentissage
1- Valeur des poids
2- Équation
3- Descente en gradien
http://www.iro.umontreal.ca/~bengioy/ift6266/H12/html/gradient_fr.html
Algorithme d’apprentissage
Ancienne frontière :
Ancienne frontière :
Algorithme d’apprentissage
Entrée :un échantillon S
Pour i = 0. . . n initialiser aléatoirement les poids wi
Faire
Pour chacun des exemples dans S
Prendre un exemple(x, yvrai ) dans S
Calculer la sortie yestimé pour l'entrée x
Si yvrai != yestimé Alors
Pour i= 0. . . n
wi ←wi + ConstanteApprentissage × (yvrai−yestimé)× xi
Fin Pour
Fin Répéter
Jusqu’à obtention de la convergence
Sortie :Un perceptron P défini par(w0, w1, . . . , wn)
La tolérance à l’erreur
Il peut être avantageux d’être tolérant à
l’erreur plutôt que de ne pas trouver de
solution… à vous de trouver la bonne
méthode de convergence.
Selon vous quels sont les possibilités de
critère de convergence?
Regardons un peu plus creux
 Ouvrons
Visual Studio et regardons ce qui
se passe avec un exemple un peu plus
volumineux.
Pour aller plus loin …

Nouvelle discipline (~2008)

Educationnal Data Mining


Article intérresant


Entre autre, consiste à prédire les performance
des étudiants aux cours inscrits à partir des
données antérieures.
Prediction Accuracy of Academic Performance
Logiciel existant

Weka Explorer
Conclusion
 L’objectif
du perceptron est de
définir un vecteur de valeur qui
permet de définir si oui ou non
un vecteur d’entré appartient à
un groupe ou non.
Période de questions
 Vous
avez des questions?
Téléchargement