Support Machine Learning

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 156

Ecole Nationale d'Ingénieurs de Carthage

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.

On parle de l’apprentissage lorsque l’expertise humaine est


absente
Wikipedia: « L’apprentissage est un ensemble de mécanismes menant à
l'acquisition de savoir-faire, de savoirs ou de connaissances. »

6
Problèmes d’apprentissage
Apprendre à classifier
l’apprenant commence par observer une série de champignons classés

comestibles (C) non comestibles (N) toxiques (T) mortels (M).


7
Problèmes d’apprentissage
Apprendre à classifier
l’apprenant cherche a classer les champignons d’une nouvelle série dont
on ignore la classe d’ appartenance

la performance de l’apprenant


est mesurée par sa capacité à
classifier correctement de
nouveaux champignons.

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

la performance de l’apprenant est mesurée par sa capacité


à ordonner correctement de nouveaux films selon le profil
utilisateur.
10
Les composantes de l’apprentissage

• La tâche à résoudre (classifier des champignons, ordonner


des films, etc.)

• Les exemples de la tâche (champignons classés, films


ordonnés selon utilisateur, etc.)

• La mesure de performance (nombre d’erreurs, distance entre


ordres, etc.)

11
Apprentissage automatique

Apprentissage automatique = Apprentissage artificiel


= Machine learning

Wikipedia: « L'apprentissage automatique fait référence au


développement, à l'analyse et à l'implémentation de
méthodes qui permettent à une machine (au sens large)
d'évoluer grâce à un processus d'apprentissage, et ainsi de
remplir des tâches qu'il est difficile ou impossible de remplir par
des moyens algorithmiques plus classiques».
12
Apprentissage automatique
• “A breakthrough in machine learning would be worth
ten Microsofts” (Bill Gates, Chairman, Microsoft)

• “Machine learning is the next Internet”


(Tony Tether, Director, DARPA)

• Machine learning is the hot new thing”


(John Hennessy, President, Stanford)

• “Web rankings today are mostly a matter of machine


learning” (Prabhakar Raghavan, Dir. Research, Yahoo)

• “Machine learning is going to result in a real revolution” (Greg


Papadopoulos, CTO, Sun)
13
Apprentissage automatique
• Le terme a été défini dès 1959 par Arthur Lee Samuel

• Un champ d’études qui donne aux ordinateurs la capacité d’apprendre


des tâches pour lesquelles ils ne sont pas spécifiquement programmés

Doter la machine d’un mécanisme d’apprentissage

Concevoir des programmes pouvant s’améliorer automatiquement


avec l'expérience

14
Apprentissage automatique
Le Machine Learning est un concept qui se base sur le principe qu’il :

• existe des algorithmes génériques

• les algorithmes sont alimentés par les données

• sans avoir besoin de construire ou de développer un code spécifique.

• Ils peuvent à partir des données construire leurs propres logiques et


générer automatiquement des codes

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)

• « L’intelligence artificielle est une branche de l’informatique qui vise à


développer des appareils capables de se comporter intelligemment,
alors que le machine learning est la science permettant aux
ordinateurs d’agir d’eux-même sans être explicitement programmés
pour ce faire » (l’Université de Stanford)

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

•  La qualité de prédiction dépondra de l’expertise du programmeur

•  Le nombre de paramètre à inclure dans le programme est réduit


(exemple: vous ne pouvez pas spécifier tout les quartiers !!!)

•  Si les prix changes, on reprogramme tout !!! L’année prochaine


même estimation ??

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

Comment un agent immobilier peut-il déterminer le prix exacte d’une


maison ?

• Un agent immobilier qui vend des maisons depuis longtemps, peut


déterminer le prix d’une maison par similitude :

• 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 !!! 

• le seul inconvénient est qu'il pleut la plupart du temps.


(plus 145 jours pluvieux / 365)
Risque d’inondation !!!

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

• Google Wind utilise le machine learning pour prédire la pluie et


ensuite orchestrer les moulins à vent néerlandais

• Objectif: contrôler le temps !!!

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.

• En 2017 Dimension Data intègre du machine learning et de


nouveaux algorithmes dans sa plate-forme de données afin de
prédire ce qui va se passer dans chaque étape du parcours et
deviner le vainqueur.

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.

les données de suivi de la course en direct collectés des émetteurs GPS


sous les selles des vélos (la vitesse en temps réel, la localisation précise
de chaque coureur, le pourcentage de la route que le coureur est en train
de gravir lors des étapes de montagne)

des données externes sur le profil du parcours,

 les conditions météorologiques,


 etc.

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.

Exemple: savoir si un coureur pourra rattraper des coureurs


échappés.

 Pour les sept premières étapes, la plateforme a annoncé avec


succès 5 des 7 vainqueurs

34
Tour de France 2017

35
Expedia Hotel Recommendations

•Expedia est une société américaine exploitant plusieurs agences de


voyages en ligne

•La tache d’Expedia consiste à aider les visiteurs à choisir les hôtels
ou carrément les destinations préférées

•Expedia veut fournir des recommandations personnalisées à ses


utilisateurs.

36
Expedia Hotel Recommendations
(-) un site avec des centaines de millions de visiteurs chaque mois!

(-) Des milliers d'hôtels à choisir à chaque destination

(-) il n'y a pas assez de données spécifiques au client pour les


personnaliser pour chaque utilisateur.

il est difficile de répondre aux préférences personnelles de chaque


utilisateur

Objectif: utiliser le machine learning pour prédire des


recommandations d'hôtels pour les visiteurs du site et améliorer le
taux de réservation.

37
Google RankBrain
• Google traite plus de 3 milliards de recherches par jour.

• Seulement 15 % sont des nouvelles recherches (chiffre de 2013)

Donc presque 85 % des requêtes qui se répètent !!

• Google utilise une technologie de Machine Learning appelé


RankBrain pour afficher les résultats les plus pertinents aux
requêtes des internautes parmi des milliards de pages .

• Déployé depuis la fin de l’année 2015.

38
Google RankBrain
• RankBrain est une partie de l’algorithme du classement
général de Google Hummingbird

• Hummingbird est composé de plusieurs programmes comme


le : PageRank, Panda, Penguin, Payday, Pirate, etc..

40
Google RankBrain
Comment RankBrain aide à approfondir les requêtes ?

• Tout ce qu’apprend RankBrain se fait hors-ligne

• Des lots d’historiques de recherches lui sont donnés pour qu’il


apprenne à faire des prédictions.

• Ces prédictions sont testées et si elles s’avèrent exactes, alors


la dernière version de RankBrain est ajoutée

• Puis, le cycle d’apprentissage hors-ligne et les tests sont


répétés.
40
Partie IV:
Format des données en
apprentissage automatique

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

Nom Grade Années Titulaire


David Assistant 3 non
Marie Assistant 7 oui
X Jean Professeur 2 oui
Jim Prof. Associé 7 oui Instances
•n= 6
Pierre Assistant 6 non
•P=4
Anne Prof associé 3 non

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)

• Les variables quantitatives:


– sont des variables représentées par des quantités (l’âge, le
poids, la taille.) souvent mesurées ou comptées
– Elles s’expriment en valeurs

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}.

• Les variables qualitatives ordinales:


– sont des variables qui contiennent un ordre.
– Exemple
Degré de satisfaction : {insatisfait, satisfait, très satisfait}.
Niveau d’étude : {primaire, secondaire, universitaire}.

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

• Les variables quantitatives discrètes:


– Peuvent seulement prendre des valeurs numériques
spécifiques mais ces valeurs numériques ont une
interprétation quantitative claire
– Exemple: le nombre de plaintes de clients, Nombre
d’heures supplémentaires

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

• Unsupervised learning (Apprentissage non supervisé): on


doit chercher les groupes et leur signification (Label).
– Objectif: Organiser et synthétiser
Modélisation descriptive, exploratoire
Learning by observations

• Autres: Semi supervised, Reinforcement learning, deep


learning
51
Apprentissage supervisé

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é

•X: X=(x1|…|xp) variables exogènes


Population Ω:
(objet de l’étude) •Y : variable à prédire (endogène)
ensemble de paires (xi , yi ),

On veut construire une fonction de prédiction telle que


yi = f(xi)

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

• Précision = VP/(VP+FP)= a/(a+c)


• Taux d’erreur = (FP+FN)/n (c+b)/n

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é

• Si f est une fonction continue (variable réponse continue)


– Prédiction

• Si f est une fonction discrète (variable réponse qualitative)


– Classement (catégorisation ou en anglais « classification »)

60
Classement

60
Classement

• Le classement est l’opération qui permet de placer chaque


individu de la population étudiée dans une classe, parmi plusieurs
classes prédéfinies, en fonctions des caractéristiques de l’individu
indiquées comme variables explicatives.

• L’affectation à une classe à partir des caractéristiques explicatives


se fait généralement par une formule, un algorithme ou un
ensemble de règles, qui constitue un modèle et qu’il faut
découvrir.

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

• La classe d’une instance est déterminée par l’attribut ”classe”

• Lƒ’ensemble des instances d’apprentissage est utilisé dans la


construction du modèle

• Le modèle est représenté par des règles de classement, arbres de


décision, formules mathématiques, ...

63
Etape 1: Construction du modèle
Algorithmes de
Classement

Training
Data

Nom Grade Années Titulaire Modèle


David Assistant 3 non
Marie Assistant 7 oui
Jean Professeur 2 oui
Jim Prof. Associé 7 oui
Pierre Assistant 6 non SI Grade = ‘professeur’
OU Années > 6
Anne Prof associé 3 non ALORS Titulaire = ‘oui’
65
Etape 2: Test du modèle
• Vérifier le modèle obtenu en apprentissage sur un autre
échantillon d’individus dont on connait le classement
• Estimer le taux d’erreur du modèle
– la classe connue d’une instance test est comparée avec le
résultat du modèle
– Taux d’erreur = pourcentage de tests incorrectement
classés par le modèle

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.

• Les arbres de décision modélisent la fonction à apprendre par une


succession de critères organisés suivant une structure
arborescente.

• K –plus proche voisins utilise des mesures de distance pour


trouver la classe d’un individus en se basant sur celles de ces
voisins les plus proches

• Les SVM ou machines à vecteurs de supports se base sur le


principe d’une séparation graphique entre les classes
70
Prédiction

71
Prédiction
• la méthode de prédiction la plus utilisée est la régression (
on cherche à trouver une relation entre variables )

– Régression linéaire ( simple/multiple)


– Régression non linéaire

On suppose deux variables X et Y , on peut représenter la


distribution de ces deux variables par un nuage de points ;

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

Deux paramètres à estimer

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 ;

• La droite passe toujours par le point Xmoy. et Ymoy. ;

• L’ordonnée à l’origine «» donne la valeur de Y quand X égale zéro;

• La pente « » mesure les variations de Y par rapport aux variations


de X : la pente peut être nulle, positive ou négative;

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é

Méthode des moindres carrés est la plus utilisée car elle


permet de calculer des estimateurs non biaisés

76
Types des techniques de prédiction et de
classement
Les techniques de prédiction et de classement sont de deux
types:

• Techniques inductives: sont composées de deux phases:


– Phase d’apprentissage (phase d’induction): permet
d’élaborer un modèle, qui résume les relations entre les
variables,

– Phase déduction : au cours de la quelle le modèle est


appliqué à des nouvelles données pour en déduire un
classement ou une prédiction
77
Types des techniques de prédiction et de
classement

• Techniques transductives: ne comprennent qu’une seule


étape au cours de laquelle chaque individu est directement
classé par référence aux autres individus déjà classés. Il n’y a
pas élaboration d’un modèle et pas de détermination de
paramètres. (les méthodes transductives sont non
paramétriques)

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.

• La robustesse: le modèle doit dépendre peu que possible de


l‘échantillon d’apprentissage utilisé et bien se généraliser à
d’autres échantillons

• La concision (parcimonie): les règles du modèles doivent être


aussi simples et aussi peu nombreuses que possible

• Les résultats explicites: les règles du modèles doivent être


accessibles et compréhensibles 80
Les qualités attendues d’une technique de
classement ou de prédiction
• La diversité des types de données manipulées: tous les
algorithmes ne sont pas aptes à manipuler les données
qualitatives, discrètes, continues,….. Et manquantes

• La rapidité de calcul du modèle: le modèle doit donner des


résultats rapidement surtout pour les applications en temps réel

• La possibilités de paramétrage: selon les technique de classement


ou de prédiction il faut donner la possibilité de changer les
paramètres du modèle ( par exemple pondérer les erreurs)

80
Critères de comparaison de classifieurs

1. Taux de précision : capacité à prédire correctement


2. Temps de calcul : temps nécessaire pour apprendre et
tester le modèle
3. Robustesse : précision en présence de bruit
4. Volume de données : efficacité en présence de données
de grande taille
5. Compréhensibilité : Niveau de compréhension et de
finesse

81
Critères de comparaison de classifieurs
– Critères 1 et 2 “mesurables”

– Critère 4 important pour l’extraction de connaissances


dans les bases de données (ECBD)

– Critères 3 et 5 “laissés à l’appréciation” de l’utilisateur-


analyste

82
Apprentissage non supervisé

83
Apprentissage non supervisé
• Étant donné un ensemble d’objets, caractérisés par un certain
nombre de variables,

• La classification automatique cherche à trouver des sous-


ensembles qui soient homogènes et bien séparés.

84
Apprentissage non supervisé

85
Apprentissage non supervisé
• Chaque sous-ensemble est appelé cluster, groupe ou partition.

• Les objets appartenant à un même groupe doivent donc se


ressembler
• Et deux objets appartenant à des groupes distincts doivent être
différents.

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)

• Règles d'association : analyser les relations entre les variables ou


détecter des associations

• re-descreption des données

90
Clustering (segmentation, regroupement)

90
Custering

• Les techniques de clustering cherchent à décomposer un ensemble


d'individus en plusieurs sous ensembles les plus homogènes possibles

• Les méthodes sont très nombreuses, typologies généralement


employées pour les distinguer
– Méthodes de partitionnement / Méthodes hiérarchiques
– Avec recouvrement / sans recouvrement
– Autre : incrémental / non incrémental

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

• Formes arbitraire des clusters : De nombreuses méthodes favorisent


la découverte de formes sphériques

• Minimisation du nombre de paramètres à fixer : Avec certaines


méthodes, il est nécessaire de préciser le nombre de classes
recherchées
• Interprétation et utilisation des résultats: Les utilisateurs doivent
pouvoir donner un sens aux classes découvertes 92
Les qualités attendues d’une technique de
clustering
• Insensibilité à l'ordre de présentation des exemples : Certaines
méthodes ne génèrent pas les mêmes groupes si l'ordre de parcours de
données est modifié

• Résistance au bruit et aux anomalies : La recherche des points isolés


(outliers) est un sujet de recherche en soi

• Problème en grande dimensions : Certaines méthodes ne sont


applicables que si les objets ou individus sont décrits sur deux ou trois
dimensions

• Passage à l'échelle: Certaines méthodes ne sont pas applicables sur de


gros volumes de données 94
Clustering: Méthodes de partitionnement
• L’objectif: Construire une partition en classes d'un ensemble
d'objets ou d'individus

• 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

• Choix d'un critère de distance entre les clusters et d'une


stratégie pour l'agrégation/la division

• Tous les algorithmes sont au moins une complexité de O(N² )


avec N le nombre d‘observations

• Le résultat de la classification hiérarchique est un arbre de


classes représentant les relations d'inclusion entre classes
(dendrogramme) 96
Clustering: Méthodes hiérarchiques
• Les mesures de distance sont nombreuses

– Lien simple : distance des deux objets les plus proches


dans les deux clusters ( Tendance à former des chaines )

– Lien complet : distance des deux objets les plus éloignés


dans les deux clusters (Bonne méthode pour les grappes,
mais sensible aux anomalies)

– Lien des moyennes : la distance entre deux objets est


donnée par la distance des centres ( Faible résistance aux
anomalies) 97
Clustering: Méthodes hiérarchiques
• Les mesures de distance sont nombreuses

– Lien moyen: distance moyenne de toutes les distances


entre un membre d'un cluster et un membre de l'autre (
Plus difficile à calculer)

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

– Approche descendante (ou par division)


• Tous les objets sont initialement dans le même cluster
• Puis division du cluster en sous groupes jusqu'à ce qu'il y ait
suffisamment de niveaux ou que les culsters ne contiennent
plus qu'un seul exemple
100
Clustering: Méthodes à base de densité
Principe de base : Utilisation de la densité à la place de la
distance

– Les clusters sont des régions de l'espace qui ont une


grande densité de points

– Un point est dense si le nombre de ses voisins dépasse un


certain seuil

– 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

– Construction des clusters en assemblant les cellules


voisines en terme de distance

101
Machine Learning
Chap II: Outils logiciel de machine
learning: Weka, R

102
Weka software

Waikato Environment for Knowledge


Analysis
http://www.cs.waikato.ac.nz/ml/weka/
http://www.lifl.fr/~jourdan

103
Weka software
• Logiciel gratuit disponible sur le web:
http://www.cs.waikato.ac.nz/ml/weka/

• Plate forme logicielle en Java tournant sous :


• Windows
• Linux

• Facile à prendre en main

104
WEKA: Le oiseau
WEKA Project

Waikato Environment for


Knowledge Analysis
Weka est une collection
d'algorithmes d'apprentissage
automatique pour des tâches
d'exploration de données
Weka espèce de grands oiseaux
développées par le
de la famille des rallidés qui vit en
Département d'Informatique,
Nouvelle-Zélande
l'Université de Waikato, la
Nouvelle-Zélande. 106
Weka software
Logiciel d’apprentissage automatique :
– Traitement de données
– Fouille de données
– Comparaison d’algorithmes
– Etc.

106
Techniques d’analyse de données

Analyse prédictive:
• Classement
• Régression

Analyse exploratoire des


données:
• Clustering
• Visualisation
• Règles d’association
107
Le projet WEKA
Histoire
•1993 Développement de la version originale de Weka en C,
•1997 la Reconstruction de Weka avec Java,
•2005 Le projet Weka obtiens le prix SIG KDD,
•2006 la Société Pentaho prend une licence exclusive

Weka version 3.7 (2010)


• 76 techniques de prétraitement de données
• 49 méthodes de classement/régression
• 10 méthodes de clustering
• 3 méthodes de règles d’association
• 15 méthodes d’évaluation des variables + 10 méthodes de
recherche pour la sélection des variables
108
Popularité de Weka

110
Débuter avec Weka : Différent mode
d’exécution
Interface graphique standard pour
l’analyse des données

Exécute weka pour comparer


différentes méthodes de classification
avec différentes configurations

Exécute weka comme un système


de Flux de connaissances

Interface en ligne de commande


(Pas d’interface graphique)

110
Explorateur Weka

1. Donne l'accès à tout


Les installations
d'utilisation de Weka

Sélection de menu
Et remplissage de
formulaire

2.Prépare et charge
des données.

111
Explorateur Weka

3. Évalue des modèles


construits sur des
ensembles de données
différents

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…

•Base de données (JDBC):


Mysql
SQLSERVER
ORACLE…

•URL (@ fichier)

•Génère des nouveau


données
114
Exemple : weather.arff
• ARFF (Attribute-Relation File Format) :
– Caractéristiques décrivant la météo:
@relation weather

@attribute outlook {sunny, overcast, rainy}


@attribute temperature real
@attribute humidity real
@attribute windy {TRUE, FALSE}
@attribute play {yes, no}

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”

• Les outils “filters”


serrent à la :
- Discretization,
- Normalization,
-Ré-échantillonnage,
-Sélection des
variables
- Transformati
on
d’instances
119
- Commination des
2. Méthodes de Classement et Régression

• 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

•Site web de WEKA:


http://www.cs.waikato.ac.nz/~ml/weka/index.html
•WEKA Tutoriel:
Machine Learning with WEKA: Une présentation
démontrant toutes les interfaces utilisateur
graphiques (GUI) dans Weka.
http://prdownloads.sourceforge.net/weka/weka.p
pt

•WEKA Data Mining Book:


Ian H. Witten and Eibe Frank, Data Mining: Practical
Machine Learning Tools and Techniques (Third
Edition) 125
R software

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

Liens pour télécharger


(gratuitement) R,
des packages,
de la doc, etc…

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

Base si première installation

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

En cas de difficultés, il est possible d’adresser vos questions à la R


help list http://stat.ethz.ch/R-manual/ 136
Téléchargement de R et tutoriels
De nombreux tutoriels sont également disponibles sur internet, par
exemple :
« R pour les débutants », « An introduction to R »,
Emmanuel Paradis Venables et al (en anglais)

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

3. Statistiques et analyse de données


Dispose d’un grand nombre de méthodes d’analyse de données
(des plus anciennes et aux plus récentes)

138
Fonctionnalités de R

4. Moteur de sorties graphiques


Sorties écran ou fichier

5. Système de modules
Alimenté par la communauté (+ de 2000 extensions !)

6. Interface « facile » avec C/C++, Fortran, JAVA. .

140
Premières instructions avec R

•Pour écrire du code en R: Lancer la console + taper du code.

•R est un langage interactif: en attente d’une instruction signalée par


l’invite « < ».

•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

•Il est indispensable avant tout travail dans R, de spécifier le dossier


de travail dans lequel se trouve le (ou les) fichier(s) de données à
analyser :

File → Change Dir… → sélectionner le dossier*

•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

Les lignes commençant par le symbole dièse (#) sont des


commentaires
142
Premières instructions avec R
Différents types d’objets dans R :
• Vecteurs (vector) •Tableaux de données (data.frame)
myvector=1 > mytab
myvector Echantillon Masse
[1] 1 1 53 0.0273
2 353 0.0586

•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

data2 <- read.table(‘’data1.txt ’’,h=true)

1) La première ligne ne contient pas le nom de la variable: chaque


variable peut être appelée séparément:

> data2$V1 # pour l variable V1


> data2$V2 # pour l variable V2

2) Pour afficher les noms des variables contenues dans un fichier:

> names(data2)

144
Exportation des données

Exporter un objet créé dans R dans un autre logiciel (Excel ou Word),

> write.table(Objet, file=”data2expor’’, quote=FALSE,


row.names=FALSE, col.names=FALSE)
•file=” “: nom du fichier où sera sauvegardé le contenu de l’objet.

•quote= FALSE: les variables et leur contenu ne seront pas


considérés comme caractère  ne seront pas écrits entre ‘’ ‘’

•row.names =FALSE: il ne faut pas créer dans le fichier une colonne


contenant les noms des lignes.

•col.names =FALSE: même chose pour les noms des colonnes.


145
• Chaque variable doit être présentée en colonne

Noms de
colonnes Variable
mesurée
Variable
explicative •Pas de colonne vide à
gauche
• Pas de ligne vide au-
dessus

1. Pas d’espace •Uniquement le tableau


de données!
2. Pas d’accent
Enregistrer le fichier de
3. Pas de caractères
données en format
spéciaux
texte
Privilégier les points (séparateur:tabulation)
comme séparateur de (*.txt) pour Microsoft
décimale Office
texte (*.csv) pour Open
147
Office
Installation des packages

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

Option d’ouverture et d’édition des fichiers de script


151
Menu Statistics avec R Commander

152
Table de contingence

153
Table de contingence

154
Table de contingence

155
Moyenne, variance, ecart-type

156

Vous aimerez peut-être aussi