Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
Cours Apprentissage 1 : Introduction
Ludovic DENOYER - [email protected]
Signup Link: https://piazza.com/upmc.fr/spring2013/li351
21 janvier 2016
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Rappel
Les differents aspects de l’Intelligence Artificielle :
3 Cours sur la resolution de problemes
Processus de DecisionAlgorithme de recherche (A∗)Jeu a 2 joueurs (Alpha-Beta / Minimax)
3 Cours sur l’apprentissage
Introduction a l’apprentissageLes perceptronsLes arbres de decisions
2 Cours de Logique et representation des connaissances
Logique et DeductionLogique Floue
3 Cours d’ouverture (Robotique, Sytemes Multi-agents, DataMining)
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Rappel
Une mise en pratique des notions vues :
Pacman
Algorithmes de rechercheSystemes Multi-agentsRobotique
Plateforme d’apprentissage
KNNLes perceptronsLes arbres de decisions
Retour a Pacman
Mini-projetTout ensemble (2 dernieres semaines)
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Intelligence Artificielle
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Apprentissage Automatique
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Plusieurs Definitions
Learning is making useful changes in mind - [Marvin Minsky,1985]
Learning is any change in a system that allows it to performbetter the second time on repetition of the same task oranother task drawn from the same population - [HerbertSimon, 1983]
Learning is the organization of experience - [Scott, 1983]
Learning is constructing or modifying representations of whatis being experienced - [Riszard Michalski, 1986]
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
l’Apprentissage
Plusieurs definition (ecoles) de l’apprentissage :Cognitivistes :
Postulat : Assimilation de l’organisme a un ordinateur, a unemachine a traiter des informationsApprentissage : L’apprentissage vise a creer un nouveauprogramme
Theories ecologiques :
Postulat : Le comportement dynamique traduit l’adaptationdu systeme aux contraintes qui pesent sur luiApprentissage : Integrer de nouveaux etats stables
Allez voir les specialistes....
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Apprentissage
C’est quoi la science de l’apprentissage ?
On etudie les apprentissage :
naturelsartificiels
Des theories
Des modeles
Des Algorithmes
Differentes ecoles :
Les Symbolistes
Les Connexionnistes (rejoint par les statisticiens)
Statistical Machine Learning
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Ordinateurs intelligents (par apprentissage)
Problematique :
Nous souhaitons avoir des ordinateurs
intelligentsadaptatifsavec un comportement robuste
Programmer de tels comportement est souvent impossible
Par exemple : Intelligence artificielle dans les jeux (scripts)
Solution :
Faire un ordinateur capable de se programmer lui-meme
a partir d’exemples (apprentissage classique / par imitation)
a partir de son ”experience” (apprentissage par renforcement)
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Exemple
Exercice
Ecrivez un programme JAVA permettant de ....
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Exemple
Exercice
Ecrivez un programme JAVA permettant de ....
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Exemple
Exercice
Ecrivez un programme JAVA permettant de ....
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Exemple
Exercice
Ecrivez un programme JAVA permettant de ....
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Exemple
Exercice
Ecrivez un programme JAVA permettant de ....
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Exemple
Exercice
Ecrivez un programme JAVA permettant de ....
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Exemple
Exercice
Ecrivez un programme JAVA permettant de ....
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Exemple
Exercice
Ecrivez un programme JAVA permettant de ....
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Exemple
Exercice
Ecrivez un programme JAVA permettant de ....
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Exemple
Exercice
Ecrivez un programme JAVA permettant de ....
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Exemple
Exercice
Ecrivez un programme JAVA permettant de ....
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Exemple
Exercice
Ecrivez un programme JAVA permettant de ....
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Quand utiliser l’apprentissage ?
Il n’y a pas d’expert humain
L’utilisation d’un expert humain est trop couteuse ou trop peuperformante
La quantite de donnees est telle qu’une analyse manuelle estimpossible
Les donnees evoluent rapidement dans le temps
Les modeles doivent etre adaptes a l’utilisateur
Les systemes doivent s’adapter facilement a des conditionsoperationnelles differentes
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Apprentissage automatique (Machine Learning)
Differents contextes d’apprentissage :
L’apprentissage supervise : un expert est employe pouretiqueter correctement des exemples.
L’apprentissage non-supervise : Aucun expert n’estdisponible. L’algorithme doit decouvrir par lui-meme lastructure des donnees.
L’apprentissage par renforcement : l’algorithme apprend uncomportement.
Exemples de modeles :
les machines a vecteur de support
les reseaux de neurones
les arbres de decision
les modeles graphiques
les algorithmes genetiques et la programmation genetique
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Un exemple illustratif - Leon Bottou 2010
Problematique
Quelles sont les lois explicatives du mouvement des etoiles ?
Observation des etoiles
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Un exemple illustratif - Leon Bottou 2010
Problematique
Quelles sont les lois explicatives du mouvement des etoiles ?
Emission d’hypotheses - Systeme de Tycho
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Un exemple illustratif - Leon Bottou 2010
Problematique
Quelles sont les lois explicatives du mouvement des etoiles ?
Emission d’hypotheses - Systeme de Kepler
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Un exemple illustratif - Leon Bottou 2010
Problematique
Quelles sont les lois explicatives du mouvement des etoiles ?
Validation
Validation par Galillee poru la planete Venus en 1610
Explication donnee par Newton en 1687
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Apprentissage supervise : Notation
On considere :
Un espace de representation XUn espace de sortie YUn ensemble d’apprentissage X = ((x1, y1), ..., (xn, yn))
On cherche a apprendre a partir de X une fonction fθ telle que :
fθ : X → Y
θ est l’ensemble des parametres (a apprendre) de la fonction
fθ(x) predit l’etiquette y associee a x
sur l’ensemble d’apprentissagesur l’ensemble des x qui n’appartiennent pas a X(generalisation)
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Apprentissage supervise : Formalisation
On considere :
Un espace de representation XUn espace de sortie YUn ensemble d’apprentissage X = ((x1, y1), ..., (xn, yn))
Observation des etoiles
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Apprentissage supervise : Formalisation
On cherche a apprendre a partir de X une fonction fθ telle que :
fθ : X → Y
Quelle fonction f ? Quelle parametres θ ?
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Apprentissage supervise : Formalisation
fθ(x) predit l’etiquette y associee a x
sur l’ensemble d’apprentissagesur l’ensemble des x qui n’appartiennent pas a X(generalisation)
Validation
Validation par Galillee poru la planete Venus en 1610
Explication donnee par Newton en 1687
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Les deux problemes clef de l’apprentissage
Les modeles d’apprentissage posent deux problemes principaux :
Inference : Comment calculer fθ(x) connaissant x(efficacement si possible) ? Quel modele utiliser ?
Apprentissage : soit un ensemble de n exemples notes{x1, x2, .....xn} i.i.d selon une distribution inconnue (appeleensemble d’apprentissage). Quels sont les valeurs desparametres θ qui permettent la meilleure prediction (sur desdonnees inconnues) ?
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
La classification
Hypotheses
On va considerer maintenant que :
x est un vecteur de taille n - taille 2 dans nos illustrations
y est une categorie : soit −1, soit +1
On appelle cela de la classification binaire :
Classification de Spam dans les emailsClassification a la hausse ou a la baisse de la bourseLe bien, le mal...
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
La classification : Ensemble d’apprentissage
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
La classification : Frontiere de decision
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
La classification : Processus
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
La classification
Apprentissage
1 Transformer les donnees etiquetees en vecteurs (etiquetes)
2 Trouver une frontiere de decision fθ
Inference
Pour chaque nouvelle donnee, regarder de quelle cote de la barriereelle se trouve en calculant fθ(x)
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
La classification
Question 1
Quelle fonction fθ utiliser - quelle hypothese ?
Question 2
Comment trouver les valeurs de θ les meilleures ?
Question 3
Quelle est la qualite du modele trouve ?
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
La classification
Question 1
Quelle fonction fθ utiliser ?
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
La classification
Question 1
Quelle fonction fθ utiliser ?
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
La classification
Question 1
Quelle fonction fθ utiliser ?
Sous-apprentissage
Le sous-apprentissage est le fait qu’un modele n’a pas la capacite abien modeliser les donnees d’apprentissage
Sur-apprentissage
Le surapprentissage ou overfitting (apprentissage par coeur)provient du fait que de par sa trop grande capacite a stocker desinformations, une structure dans une situation de surapprentissageaura de la peine a generaliser les caracteristiques des donnees.
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Sur/Sous apprentissage
Question 1
Quelle fonction fθ utiliser ?
Theorie de Vapnik-Chervonenkis
La theorie de Vapnik-Chervonenkis (egalement connue sous le nomde theorie VC) est une theorie mathematique et informatiquedeveloppee dans les annees 1960-1990 par Vladimir Vapnik etAlexey Chervonenkis : Theorie du controle de la capacited’apprentissage automatique
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Apprentissage
Question 2
Comment trouver les valeurs de θ les meilleures ?
Critere d’apprentissage
Principe : Trouver les parametres qui, sur l’ensembled’apprentissage minmisent/maximisent un critere donne (problemed’optimisation).
θ∗ = argmin/maxF (θ,X )
Quel critere ?
Maximum de vraisemblanceRisque empiriqueRisque empirique regularise...
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Apprentissage
Question 2
Comment trouver les valeurs de θ les meilleures ?
Pleins de modeles existent
Reseaux de neurones
Machines a vecteurs de support
HMM
Reseaux Bayesiens
KNN
Arbres de decision
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Apprentissage
Question 2
Comment trouver les valeurs de θ les meilleures ?
Pleins de modeles existent
Les differences entres les modeles existants sont :
Complexite (memoire / CPU)
Type d’entree/sortie (vecteur, sequences, structures,...)
Methode d’optmisation sous-jacente (optimisation convexe,omptimisation non-convexe)
Performance
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Descente de Gradient
Question 2
Comment trouver les valeurs de θ les meilleures ?
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Descente de Gradient
Question 2
Comment trouver les valeurs de θ les meilleures ?
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Evaluation
Question 3
Commnet evaluer la qualite de fθ ?
Probleme non trivial
Evaluation sur les donnees d’apprentissage ? NON
Evaluation sur des nouvelles donnees etiquetees :
Prendre la base d’apprentissageLa couper en deuxentrainer sur une partieTester sur une autre
Probleme : reduction du nombre d’exemples d’apprentissage
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Evaluation
Question 3
Commnet evaluer la qualite de fθ ?
Validation croisee
La validation croisee (”cross-validation”) est une methoded’estimation de fiabilite d’un modele fonde sur une techniqued’echantillonnage
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction
Conclusion
Vous avez quelques notions d’apprentissage (j’espere)
Concretement qu’est ce que tout ca veut dire ? ...
....attendez le TD/TP
Implementation et Etude d’un algorithme simpled’apprentissage : l’algorithme KNN
La semaine prochaine : les reseaux de neurones
Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction