50
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

Cours Apprentissage 1 : Introduction

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cours Apprentissage 1 : Introduction

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

Page 2: 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

Page 3: 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

Page 4: Cours Apprentissage 1 : Introduction

Intelligence Artificielle

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 5: Cours Apprentissage 1 : Introduction

Apprentissage Automatique

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 6: 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

Page 7: 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

Page 8: 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

Page 9: 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

Page 10: Cours Apprentissage 1 : Introduction

Exemple

Exercice

Ecrivez un programme JAVA permettant de ....

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 11: Cours Apprentissage 1 : Introduction

Exemple

Exercice

Ecrivez un programme JAVA permettant de ....

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 12: Cours Apprentissage 1 : Introduction

Exemple

Exercice

Ecrivez un programme JAVA permettant de ....

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 13: Cours Apprentissage 1 : Introduction

Exemple

Exercice

Ecrivez un programme JAVA permettant de ....

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 14: Cours Apprentissage 1 : Introduction

Exemple

Exercice

Ecrivez un programme JAVA permettant de ....

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 15: Cours Apprentissage 1 : Introduction

Exemple

Exercice

Ecrivez un programme JAVA permettant de ....

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 16: Cours Apprentissage 1 : Introduction

Exemple

Exercice

Ecrivez un programme JAVA permettant de ....

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 17: Cours Apprentissage 1 : Introduction

Exemple

Exercice

Ecrivez un programme JAVA permettant de ....

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 18: Cours Apprentissage 1 : Introduction

Exemple

Exercice

Ecrivez un programme JAVA permettant de ....

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 19: Cours Apprentissage 1 : Introduction

Exemple

Exercice

Ecrivez un programme JAVA permettant de ....

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 20: Cours Apprentissage 1 : Introduction

Exemple

Exercice

Ecrivez un programme JAVA permettant de ....

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 21: Cours Apprentissage 1 : Introduction

Exemple

Exercice

Ecrivez un programme JAVA permettant de ....

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 22: 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

Page 23: 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

Page 24: 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

Page 25: 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

Page 26: 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

Page 27: 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

Page 28: 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

Page 29: 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

Page 30: 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

Page 31: 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

Page 32: 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

Page 33: 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

Page 34: Cours Apprentissage 1 : Introduction

La classification : Ensemble d’apprentissage

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 35: Cours Apprentissage 1 : Introduction

La classification : Frontiere de decision

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 36: Cours Apprentissage 1 : Introduction

La classification : Processus

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 37: 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

Page 38: 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

Page 39: Cours Apprentissage 1 : Introduction

La classification

Question 1

Quelle fonction fθ utiliser ?

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 40: Cours Apprentissage 1 : Introduction

La classification

Question 1

Quelle fonction fθ utiliser ?

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 41: 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

Page 42: 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

Page 43: 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

Page 44: 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

Page 45: 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

Page 46: Cours Apprentissage 1 : Introduction

Descente de Gradient

Question 2

Comment trouver les valeurs de θ les meilleures ?

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 47: Cours Apprentissage 1 : Introduction

Descente de Gradient

Question 2

Comment trouver les valeurs de θ les meilleures ?

Ludovic DENOYER - [email protected] Cours Apprentissage 1 : Introduction

Page 48: 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

Page 49: 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

Page 50: 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