Support Machine Learning
Support Machine Learning
Support Machine Learning
Machine Learning
Haythem Ghazouani
1
Machine Learning
Chap I: Concepts de base de
l’apprentissage automatique
2
Plan
• Les concepts de l’apprentissage et de l’apprentissage
automatique
• Programmation Vs apprentissage automatique
• Les applications de l’apprentissage automatique
• Format des données en apprentissage automatique
• Les approches d’apprentissage automatique (supervisé/non
supervisé)
3
Partie I:
Les concepts de l’apprentissage et
de l’apprentissage automatique
4
C’est quoi
L’Apprentissage
5
Apprentissage
Acquérir de nouvelles connaissances.
6
Problèmes d’apprentissage
Apprendre à classifier
l’apprenant commence par observer une série de champignons classés
8
Problèmes d’apprentissage
Apprendre à ordonner
•l’apprenant commence par observer un ensemble d’utilisateurs et une
liste de films
•chaque utilisateur ordonnant les films par ordre décroissant de
préférence
10
Problèmes d’apprentissage
Apprendre à ordonner
l’apprenant cherche à ordonner les préférences en terme de film d’un
nouvel utilisateur
11
Apprentissage automatique
14
Apprentissage automatique
Le Machine Learning est un concept qui se base sur le principe qu’il :
15
Apprentissage automatique et Jardinage
• Grains Algorithmes
• Eau Données
• Jardinier Vous
• Plantes Programmes
16
Quelle est la différence entre l’intelligence
artificielle et l’apprentissage
automatique ?
• L’intelligence artificielle est la science qui rend les machines
intelligentes, tandis que le machine learning est l’exécution des
méthodes qui la soutiennent, comme les algorithmes » (Chappell,
responsable du machine learning chez Intel)
17
Partie III:
Programmation Vs apprentissage
automatique
18
Programmation traditionnel
Ordinateur
Données
Résultat
Programme
Apprentissage automatique
Ordinateur
Données
Programme
Algorithme
d’apprentissage
20
Problème: Estimation du prix d’une maison
Ecrire un programme qui permet d’estimer le prix d’une maison.
Prix ?? Prix ??
20
Programme estimation prix maison !!
Fonction estimation_prix_vente_maison(nombre_de_chambres, superficie,
quartier)
prix = 0
# A côté de chez moi, le prix moyen au m² est de 1800 dinars
prix_par_metre_carre = 1800 if quartier == ‘Ezzahra’
# mais quelques quartiers sont plus chers...
prix_par_metre_carre = 3000 elseif quartier== ‘Lac2’
# ...et d'autres moins
prix_par_metre_carre= 500
# commençons avec un prix estimé à partir de la superficie du lieu
prix = prix_par_metre_carre * superficie
# ajustons maintenant notre prix en fonction du nombre de chambres
if nombre_de_chambres == 0:
# les studios sont moins chers (moins de murs)
prix = prix—20000
else:
# les lieux avec plus de chambres ont en général plus de valeurs
prix = prix + (nombre_de_chambres * 1000)
……….
………..
return prix
21
Programme estimation prix maison !!
• Le programmeur doit être connaisseur du domaine de vente des
maisons
22
Programme estimation prix maison !!
Il faut d’apprendre à la machine la manière dont un agent immobilier
détermine le prix d’une maison
• Exemple: il sait qu’une maison dans le même quartier ayant les mêmes
caractéristiques a été vendu à un tel prix. Donc la maison vaut le même
prix
On doit reprendre ce principe pour la machine
23
Partie III:
Les applications de l’apprentissage
automatique
24
Applications classique de l’apprentissage
automatique
• Traitement du langage naturel (fouille de textes),
• reconnaissances des formes,
• moteurs de recherche,
• diagnostic médical,
• bioinformatique,
• finance (détection de fraude (à la carte bancaire), …)
• Analyse des marchés boursiers,
• Jeux,
• robotique, …
25
Applications de
l’apprentissage automatique
26
Google Wind
• La Hollande est l’un des plus beau pays où on peut vivre !!!
27
Google Wind
• les Néerlandais ont construit des moulins à vent et des moulins à
eau
• pour assécher des centaines de lacs et marais et protéger le pays
contre les inondations
28
Google Wind
• l'équipe Google Netherlands Cloud Platform lance Google Wind
30
Google Wind
30
Google Wind
Mécanisme pour faire échapper les nuages !!!
31
Tour de France 2017
• Depuis 2015, le groupe Amaury, l’organisateur du Tour de France ,
fait appel à la société Dimension Data pour fournir des données
détaillées sur la tenue de l’événement.
32
Tour de France 2017
• Plate-forme de données : 198 coureurs cyclistes répartis dans 22 équipes
qui vont générer plus de 150 millions de données géospatiales et
environnementales relevées le long du parcours de 3 540 km.
33
Tour de France 2017
Objectif: converger les informations de la journée en cours avec les
étapes précédentes pour prédire les potentiels vainqueurs
d’étape.
34
Tour de France 2017
35
Expedia Hotel Recommendations
•La tache d’Expedia consiste à aider les visiteurs à choisir les hôtels
ou carrément les destinations préférées
36
Expedia Hotel Recommendations
(-) un site avec des centaines de millions de visiteurs chaque mois!
37
Google RankBrain
• Google traite plus de 3 milliards de recherches par jour.
38
Google RankBrain
• RankBrain est une partie de l’algorithme du classement
général de Google Hummingbird
40
Google RankBrain
Comment RankBrain aide à approfondir les requêtes ?
41
Format des données en apprentissage
Variables, caractères, attributs, descripteurs, champs, etc.
décrit quantité ou une qualité observée d’une instance
instances , Individus,
observations, objets,
enregistrements, etc
L’ ensemble de valeurs
pris par x.
L’espace de toutes
p le nombre de variables
les observations
n le nombre d’instances
possibles est noté X
42
Format des données en apprentissage
Variables
Ensemble d’enseignants
43
Format des données en apprentissage
On veut savoir qui sont les enseignants titulaires
Nom Grade Années Titulaire
David Assistant 3 non
Marie Assistant 7 oui
Jean Professeur 2 oui
Jim Prof. Associé 7 oui Variable à prédire
Pierre Assistant 6 non Attribut classe
Anne Prof associé 3 non Variable endogène
Variables prédictives
Descripteurs
Variables exogènes
44
Format des données en apprentissage
Continu
Variable
quantitatives
Discrète
Catégories de
variables
Nominal
Variable
qualitatives
Ordinal
45
Format des données en apprentissage
• Les variables qualitatives:
– sont des variables représentées par des qualités (sexe, état
civil, travail)
– s’expriment en modalités ( sexe = femme\homme)
46
Format des données en apprentissage
• Les variables qualitatives nominales:
– il n’y a aucun ordre précis.
– Exemple:
Sexe {féminin, masculin}.
Saveur de crème glacée {chocolat ,vanille, pistache}.
47
Format des données en apprentissage
• Les variables quantitatives continues:
– Peuvent prendre n'importe quelle valeur numérique dans
un intervalle.
– Exemple: Taille, Température
48
Format des données en apprentissage
Exercice: les variables suivantes sont-elles quantitatives ou
qualitatives
• Les marques des voitures garées sur un parking de supermarché
Qualitative nominale
• Les nationalités des touristes se rendant au festival de Carthage.
Qualitative nominale
• L'âge des auditeurs de Radio Mosaïque.
Quantitative continu
• Les températures matinales relevées chaque jour sous abri à
Nabeul
Quantitative continu
50
Partie V:
Approches d’apprentissage
automatique
50
Approches d’apprentissage automatique
• Supervised learning (Apprentissage supervisé ): les classes
sont connues a priori
– Objectif: Modéliser et prévoir
Modélisation prédictive
Learning by examples
52
Apprentissage supervisé
• On cherche à produire automatiquement des règles à partir d'une
base de données d'apprentissage contenant des « exemples » (en
général des cas déjà traités et validés).
Modèle
Training
Data
SI Grade = ‘professeur’
OU Années > 6
Nom Grade Années Titulaire
ALORS Titulaire = ‘oui’
David Assistant 3 non
Marie Assistant 7 oui
Jean Professeur 2 oui
Jim Prof. Associé 7 oui
Pierre Assistant 6 non
Anne Prof associé 3 non
53
Apprentissage supervisé
L’objectif de l’apprentissage:
Trouver une bonne approximation h de f en utilisant un
échantillon de Ω telle que l ’on minimise l ’erreur
55
théorique.
Évaluation de l’apprentissage
Matrice de confusion
Quelques indicateurs :
•Vrais positifs VP = a •Taux VP = VP/(VP+FN)= a /(a+b)
•Faux positifs FP = c = Sensibilité = Rappel
•Vrai négatifs VN = d •Taux FP = FP/(VP+FN)= c /(a+b)
•Faux négatifs FN = b •Taux VN = VN/(VN+FP)= d/(d+c) 56
•Taux FN = FN/(VN+FP) = b /(d+c)
Évaluation de l’apprentissage
Matrice de confusion
56
Évaluation de l’apprentissage
Matrice de confusion
Exercice: Calculer les indicateurs suivants: TVP, TFP, TVN,TFN
•Taux VP = 40/(40+10)
•Taux FP =20/(40+10)
•Taux VN =30/(20+30)
•Taux FN =10/(20+30)
57
Évaluation de l’apprentissage
Matrice de confusion
Exercice: Calculer les indicateurs suivants: TVP, TFP, TVN,TFN
80 100 180
40 60 100
120 160 280
•Taux VP =80/(80+100)
•Taux FP = 40/(80+100)
•Taux VN =60/(60+40)
•Taux FN = 100/(60+40)
58
Types d’apprentissage supervisé
60
Classement
60
Classement
61
Processus de classement
• Etape 1 :
Construction du modèle à partir de l’échantillon d’apprentissage
• Etape 2:
Tester le modèle: vérifier la performance du modèle sur un échantillon
test
• Etape 3:
• Validation du modèle: (facultative) : vérification sur un troisième
échantillon
• Etape 4 :
Utilisation du modèle: utiliser le modèle dans le classement de
nouvelles données
62
Etape 1: Construction du modèle
• Chaque instance est supposée appartenir à une classe prédéfinie
63
Etape 1: Construction du modèle
Algorithmes de
Classement
Training
Data
65
Etape 2: Test du modèle
Estimation des taux d’erreur:
Méthode 1 (Partitionnement):
utilisée pour les ensembles de données important
– On divise l’ensemble de données en apprentissage et test
(Utiliser 2 ensembles indépendants)
– Exemple ensemble d’apprentissage(2/3), ensemble test
(1/3)
Dans la pratique les échantillons peuvent se trouver dans le
même fichier physique ou dans des fichiers distincts
66
Etape 2: Test du modèle
Estimation des taux d’erreur:
Nom Grade Années Titulaire
David Assistant 3 non
Marie Assistant 7 oui Échantillon
Jean Professeur 2 oui d’apprentissage (70%)
Jim Prof. associé 7 oui Utilisé pour la
Pierre Assistant 6 non construction du modèle
Anne Prof. associé 3 non
Paul Assistant 8 oui
Rose Assistant 1 non Échantillon test 30%
Adam Prof. associé 2 non Utilisé pour
Jack Prof. associé 5 oui l’évaluation du
modèle
67
Etape 2: Test du modèle
Estimation des taux d’erreur:
Méthode 2 (Validation croisée)
utilisée pour les ensembles de données modéré.
• Diviser les données en k sous-ensembles
• Utiliser k-1 sous-ensembles comme données
d’apprentissage et un sous-ensemble comme données test
68
Etape 2: Test du modèle
Estimation des taux d’erreur:
Méthode 3 (Bootstrapping):
utilisée pour les ensembles de données réduits.
– n instances test aléatoires
70
Algorithmes de classement
• Les réseaux de neurones, très utilisés dans les années 80-90, sont
inspirés à l’origine du fonctionnement du cerveau humain.
71
Prédiction
• la méthode de prédiction la plus utilisée est la régression (
on cherche à trouver une relation entre variables )
73
Régression
Comment représenter ce nuage de points ou diagramme de dispersion
par une droite représentative qui décrit les rapports entre ces deux
variables
Nuage de points:
X
Cette droite s’appelle droite d’ajustement
73
Régression linéaire simple
Modèle :On suppose: y = f(x) = + X
X = variable explicative
(« indépendante »), contrôlée
Y = variable expliquée Y
(dépendante ), aléatoire
X
74
Propriétés d’une droite de régression
• L’équation peut être utile pour prédire une valeur de Y pour
n’importe quelle valeur de X ;
75
Régression linéaire simple
estimation des paramètres
Il y a plusieurs méthodes d’estimation des paramètres:
- Méthode des moindres carrés «Least square»
- Méthode du maximum de vraisemblance
- Méthode du meilleur estimateur linéaire non biaisé
76
Types des techniques de prédiction et de
classement
Les techniques de prédiction et de classement sont de deux
types:
78
Les qualités attendues d’une technique de
classement ou de prédiction
• La précision: le taux d’erreur, proportion d’individus mal classés
doit être le plus bas possible.
80
Critères de comparaison de classifieurs
81
Critères de comparaison de classifieurs
– Critères 1 et 2 “mesurables”
82
Apprentissage non supervisé
83
Apprentissage non supervisé
• Étant donné un ensemble d’objets, caractérisés par un certain
nombre de variables,
84
Apprentissage non supervisé
85
Apprentissage non supervisé
• Chaque sous-ensemble est appelé cluster, groupe ou partition.
86
Format des données en apprentissage non
supervisé
• object-by-variable structure: Matrice X(n × p) qui contient la
description de n objets par p variables
87
Format des données en apprentissage non
supervisé
• object-by-object structure : Matrice M(n × n) qui contient les
ressemblances d(i, j) entre les pairs d’objets
88
tâches sont associées à l'apprentissage
non supervisé
• Clustering (segmentation, regroupement) : construire des classes
automatiquement en fonction des observations disponibles
(L'apprentissage non supervisé est très souvent synonyme de
clustering)
90
Clustering (segmentation, regroupement)
90
Custering
91
Les qualités attendues d’une technique de
clustering
• Prise en compte de données de différents types : catégorique,
numérique, matrice de similarité, données mixtes
Exemple: Comment comparer des objets caractérisés à la fois par des
attributs numériques et catégoriques
• Principe:
– Création d'une partition initiale de K classes,
– Puis itération d'un processus qui optimise le
partitionnement en déplaçant les objets d'un cluster à
l'autre
94
Clustering: Méthodes de partitionnement
• Solutions
– Méthode exacte : Par évaluation de toutes les partitions
possibles (non réalisable )
– Méthodes approchées/heuristiques :
– K-moyennes (centres mobiles) : un cluster est
représenté par son centre de gravité
– K-medoids : une cluster est représenté par son
élément le plus représentatif
95
Clustering: Méthodes hiérarchiques
• Les clusters sont organisés sous la forme d'une structure
d'arbre
98
Clustering: Méthodes hiérarchiques
• Deux familles d'approches hiérarchiques
– Approche ascendante (ou agglomération)
• Commence avec un objet dans chaque cluster
• Puis fusionne successivement les 2 clusters les plus proches
• S'arrête quand il n'y a plus qu'un cluster contenant tous les
exemples
– Un point est voisin d'un autre point s'il est à une distance
inférieure à une valeur fixée
100
Clustering: Méthodes à base de grille
• Principe : basée sur le découpage de l'espace des
observations suivant une grille
– Après initialisation, toutes les opérations de clustering sont
réalisées sur les cellules, plutôt que sur les données
101
Machine Learning
Chap II: Outils logiciel de machine
learning: Weka, R
102
Weka software
103
Weka software
• Logiciel gratuit disponible sur le web:
http://www.cs.waikato.ac.nz/ml/weka/
104
WEKA: Le oiseau
WEKA Project
106
Techniques d’analyse de données
Analyse prédictive:
• Classement
• Régression
110
Débuter avec Weka : Différent mode
d’exécution
Interface graphique standard pour
l’analyse des données
110
Explorateur Weka
Sélection de menu
Et remplissage de
formulaire
2.Prépare et charge
des données.
111
Explorateur Weka
4.visualise graphiquement
les résultats des modèles
et les données
112
Techniques de Data Mining avec Weka
1. Prétraitement
2. Classement
3. Clustering
4. Règles
d’association
5. Sélection des
variables
6. Visualisation 113
2D
1. Pré-traitement: Chargement des données
• Types de fichier:
ARFF
CSV
C4.5
Matlab
String Text
Binary…
•URL (@ fichier)
115
Exemple : weather.arff
• ARFF (Attribute-Relation File Format) (suite) :
– Ensemble de données :
@data
sunny,85,85,FALSE,no
sunny,80,90,TRUE,no
overcast,83,86,FALSE,yes
rainy,70,96,FALSE,yes
rainy,68,80,FALSE,yes
rainy,65,70,TRUE,no
overcast,64,65,TRUE,yes
sunny,72,95,FALSE,no
sunny,69,70,FALSE,yes
rainy,75,80,FALSE,yes
sunny,75,70,TRUE,yes
overcast,72,90,TRUE,yes
overcast,81,75,FALSE,yes
rainy,71,91,TRUE,no
116
1. Pré-traitement: statistiques sur les
attributs
•Propriétés
statistique
Min
Max
Moyenne
écart-type
•Visualisation
de la
distribution des
instances /
classes
117
1. Pré-traitement: Filters
• Les outils de pré-
traitement en Weka
sont appelées
“filters”
• Organisé par
approche pour la
construction de
modèle de
classement/Régressi
on:Bayes, trees,
rules, META, …
• WEKA contient 49
méthodes de
classement/régressi
on
119
3. Méthodes de Clustering
• WEKA contient
10 méthodes de
clustering
-EM
-K-means
-COBWEB
-Hierarchical…
120
4. Règles d’association
• WEKA contient
3 méthodes de
règles d’association
121
5. Sélection des variables
• WEKA contient
8 méthodes de
sélection des
variables
122
6. Visualisation des données
• Graphique de
matrice
• Configurer:
- Taille de point
- Attributs à
affichier
- Couleur de
classe
123
Références pour l’extraction des données
avec weka
http://www.r-project.org/
125
Généralités sur R
• R est :
• un langage,
• un environnement,
• un projet open source (projet GNU),
• un logiciel multiplateforme (Linux, Mac, Windows),
• un outil des représentations graphiques.
• R est qualifié de dialecte du langage S.
126
Généralités sur R
• R est un logiciel de développement:
• Scientifique,
• Spécialisé dans le calcul statistique,
• Spécialisé dans l’analyse de données (Data mining).
• Créé par R. Ihaka et R. Gentleman
127
Téléchargement de R et tutoriels
• Pour installer R:
– Téléchargeable depuis : http://www.r-project.org/
– Télécharger l'exécutable correspondant au système d'exploitation
souhaité.
– Pour Windows:
http://www.cran.r-project.org/bin/windows/base/
128
Téléchargement de R et tutoriels
130
Moteur de recherche
Documentation
Téléchargement de R et tutoriels
Liens pour
télécharger R
131
Téléchargement de R et tutoriels
Ensemble de miroirs
Choisir votre
miroir
132
•un miroir: est une copie du site situé en un lieu différent.
•Afin de bénéficier de la meilleure vitesse de téléchargement, il est
préférable de sélectionner un miroir situé à proximité de chez vous.
•Quelque soit le lien choisi, le site et son contenu seront identiques.
Téléchargement de R et tutoriels
Version système
d’exploitation
132
Téléchargement de R et tutoriels
133
Téléchargement de R et tutoriels
135
Téléchargement
Téléchargement de R et tutoriels
Pour vous guider, vous disposez de nombreux sites d’aide et
d’exemples sur internet, par exemple :
http://zoonek2.free.fr/UNIX/48_ http://pbil.univ-
R/all.html lyon1.fr/R/enseignement.html
http://cran.r- http://cran.r-
project.org/doc/contrib/Paradis- project.org/doc/manuals/R-intro.pdf
rdebuts_fr.pdf
D’autres sont disponibles sur le site de R-project : http://cran.r-project.org (cliquer sur
137
« Manuals » dans la sous-partie « Documentation »)
Téléchargement de R et tutoriels
137
Fonctionnalités de R
1. Gestionnaire de données
Lecture, manipulation, stockage.
2. Algèbre linéaire
Opérations classiques sur vecteurs, tableaux et matrices
138
Fonctionnalités de R
5. Système de modules
Alimenté par la communauté (+ de 2000 extensions !)
140
Premières instructions avec R
•R dispose d’une aide en ligne très complète utile pour la plupart des
fonctions de R ayant plusieurs arguments et options.
140
Premières instructions avec R
•Pour vérifier que vous travaillez bien dans le bon dossier, vous
pouvez contrôler votre working directory par la commande : getwd()
141
Premières instructions avec R
R comme une calculatrice:
Toutes les opérations élémentaires peuvent être exécutées à l’invite
de R validation avec la touche entrée.
> #(Addition)
> 4+8
> 12
> #(Les opérateurs imbriqués)
> (6+5*2)/2
>8
> #(puissance)
> 2^2
>4
•Matrices (matrix)
• Listes (list): collection d’objets
> mymatrix
[,1] [,2] [,3] [,4]
[1,] 1 1 2 2
[2,] 3 4 5 6
[3,] 6 6 6 7
143
Chargement des données
pour manipuler le contenu d’un fichier on le stocker dans un objet
> names(data2)
144
Exportation des données
Noms de
colonnes Variable
mesurée
Variable
explicative •Pas de colonne vide à
gauche
• Pas de ligne vide au-
dessus
147
Installation des packages
148
R Commander
• Installer R Commander
Packages -> Install Packages -> Cran Mirror Selection ->
Rcmdr
•Charger R commander
Packages -> Load Packages ->
Rcmdr
À partir du console
> library(Rcmdr)
150
chargement des données avec R Commander
• Data -> Load data
150
Menu File avec R Commander
152
Table de contingence
153
Table de contingence
154
Table de contingence
155
Moyenne, variance, ecart-type
156