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 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.réseau de neurones Le perceptron a été inventé en 1957 par Frank Rosenblatt au Cornell Aeronautical Laboratory.1957Frank RosenblattCornell 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 (x i ; 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 x i 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 perceptronperceptron Le perceptron est incapable de distinguer les patterns non séparables linéairement input P0101 input Q1001 ET0001 XOR1100
Comment s’opère la magie maintenant?
Algorithme d’apprentissage
Rétropropagation du gradient ( Descente en gradient)
Algorithme d’apprentissage Principales étapes : 1. Initialiser aléatoirement les poids synaptiques 2. Faire passer les observations unes à unes Calculer l’erreur de prédiction pour l’observation Mettre à jour les poids synaptiques si nécessaire 3. Jusqu’à convergence du processus
Algorithme d’apprentissage
3- Descente en gradien 1- Valeur des poids 2- Équation
Algorithme d’apprentissage Ancienne frontière :
Algorithme d’apprentissage Entrée :un échantillon S Pour i = 0... n initialiser aléatoirement les poids w i Faire Pour chacun des exemples dans S Prendre un exemple(x, y vrai ) dans S Calculer la sortie y estimé pour l'entrée x Si y vrai != y estimé Alors Pour i= 0... n w i ←w i + ConstanteApprentissage × (y vrai −y estimé )× x i Fin Pour Fin Répéter Jusqu’à obtention de la convergence Sortie :Un perceptron P défini par(w 0, w 1,..., w n )
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 Educationnal Data Mining Entre autre, consiste à prédire les performance des étudiants aux cours inscrits à partir des données antérieures. Article intérresant Prediction Accuracy of Academic Performance Prediction Accuracy of Academic Performance Logiciel existant Weka Explorer 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?