Vous êtes sur la page 1sur 75

Plan Partie 1

• Introduction et Mise en contexte


• Modélisation de la prédiction
– Processus supervisés
• K-means et KPPV (k plus proches voisins)
• Arbres de décisions et forêts aléatoires
• SVM (Support Vector machines)
• Modèles linéaires pour la classification
• Réseaux de neurones
– Processus non supervisés
• Classification hiérarchique ascendante (CHA)

1
Introduction
• reconnaissance des formes (pattern recognition)
• analyse de données
• fouille de données (data mining)
• intelligence artificielle
• statistique
• apprentissage automatique (machine learning)
• ...

2
Mise en contexte: un domaine
interdisciplinaire

3
La prédiction
• De manière générale, nous aimerions prédire une
valeur T à partir d’une observation x

T= y(x,w)

• Si T est discret : classification


• Si T est continue : régression

 Apprentissage des paramètres à partir de données.


4
Processus supervisé: K-means
But:
 regrouper n individus en k classes telles que les
individus d’une classe soient semblables et les
classes assez bien séparées.
Approche:
 obtenir une partition en K classes où k est fixé à
priori.
 La plupart des techniques procèdent par
améliorations successives d’une partition de
départ.
5
Processus supervisé: K-means

6
Exemple
• Personnes d'âge 27- 51 - 52 - 33 - 45 - 22 - 28 - 44 - 40 - 38 - 20 - 57
• Ex : K=3
• Les 3 noyaux : les trois premières valeurs
• distance = différence / (amplitude maximum) = différence / 37)

  27 51 52 33 45 22 28 44 40 38 20 57
Noyau 27 0.00 0.65 0.68 0.16 0.49 0.14 0.03 0.46 0.35 0.30 0.19 0.81

Noyau 51 0.65 0.00 0.03 0.49 0.16 0.78 0.62 0.19 0.30 0.35 0.84 0.16

Noyau 52 0.68 0.03 0.00 0.51 0.19 0.81 0.65 0.22 0.32 0.38 0.86 0.14

Minimum 0 0 0 0.16 0.16 0.14 0.03 0.19 0.3 0.3 0.19 0.14

Affectation 1 2 3 1 2 1 1 2 2 1 1 3

noyau 1 (27) : 27 - 33 - 22 - 28 - 38 - 20
noyau 2 (51) : 51 - 45 - 44 - 40
7
noyau 3 (52) : 52 - 57
• calcul des centroïdes : moyenne arithmétique du cluster
– soit 28 pour noyau 1, 45 pour noyau 2 et 54.5 pour noyau 3
– Ces valeurs = positions des nouveaux noyaux
• Recommençons le processus par rapport à ces valeurs
  27 51 52 33 45 22 28 44 40 38 20 57

Noyau 28 0.03 0.62 0.65 0.14 0.46 0.16 0 0.43 0.32 0.27 0.22 0.78

Noyau 45 0.49 0.16 0.19 0.32 0 0.62 0.46 0.03 0.14 0.19 0.68 0.32

Noyau 54.5 0.74 0.09 0.07 0.58 0.26 0.88 0.72 0.28 0.39 0.45 0.93 0.07

Minimum 0.03 0.09 0.07 0.14 0 0.16 0 0.03 0.14 0.19 0.22 0.07

Affectation 1 3 3 1 2 1 1 2 2 2 1 3

8
L'affectation donne la répartition suivante :
noyau 1 (28) : 27 - 33 - 22 - 28 - 20 Moyenne = 26
noyau 2 (45) : 45 - 44 - 40 - 38 Moyenne = 41.75
noyau 3 (54.5) : 51 - 52 - 57 Moyenne = 53.33
 
En réitérant le processus, aucune modification des affectations. STOP.

Les clusters sont finalisés :


Cluster 1: 27 - 33 - 22 - 28 – 20 , Jeunes majeurs - Centroïde = 26
Cluster 2: 45 - 44 - 40 – 38 , Quadragénaires-Centroïde= 41.75
Cluster 3: 51 - 52 - 57 , Quinquagénaires - Centroïde = 53.33
9
Processus supervisé: K-means
Etant donné la représentation graphique suivante, si on devrait
appliquer une classification non hiérarchique des individus A,
B, C, D et E

•Quelle sera la valeur de K que vous proposeriez ?


• Par quels individus commencer pour minimiser le nombre
d’itérations de l’algorithme K-means ? Et pourquoi ?

10
Processus supervisé: K-means

Poids Prix

A 0,1 2000

D 1,8 700

E 1,6 1050

B 0,95 1050

C 0,2 2100

11
Processus supervisé: KNN
• technique de découverte de connaissances dirigée
– utilisée dans un but de classification et de prédiction
– bien adapté aux bases de données relationnelles

• équivalence de l'expérience chez l'homme


– processus : identification des cas similaires puis application de
l'information provenant de ces cas au problème actuel
– principe : on présente un nouvel enregistrement, il trouve les
voisins les plus proches et positionne ce nouvel élément
• s'applique à tous les types de données.

12
Prédiction avec K-PPV
• technique de découverte de connaissances dirigée
• équivalence de l'expérience chez l'homme

• But:
– pour estimer des éléments manquants,
– détecter des fraudes,
– prédire l'intérêt d'un client pour une offre,
– classifier les réponses en texte libre,
– …

13
Véhicule Age Enfants   Véhicule Age Enfants

Clio 25 0 ventes
  Clio 27 1
de voitures
Espace 32 4 Renault
  Megane 30 2
ventilées
Clio 28 1 en
  Laguna 39 0
fonction
Megane 30 2   l'âge et
de Safrane 55 0
du nombre
Safrane 50 1  
d'enfants Clio 24 1
de
Laguna 35 2  
l'acheteur Megane 33 2

Espace 40 3   Laguna 38 2

Clio 30 1   Clio 22 0

Megane 34 2   Megane 35 1

Safrane 52 2   Laguna 39 2

Laguna 38 1   Safrane 54 1

Espace 34 5   14      
Ventes de voitures Renault

60
55
50
45
Age

40
35
30
25
20
0 1 2 3 4 5
Nombre d'enfants

Clio Espace Laguna


15 Megane Safrane
• La consultation du graphique
– des zones bien nettes
– permettant de déterminer, pour un nouveau client dont on
connaît l'âge et le nombre d'enfants, le modèle susceptible de
l'intéresser.
– trois nouveaux clients
• La notion de distance est la distance métrique
• conseil au client 1 une Espace, au 2 une Clio, au 3 une Safrane
Ventes de voitures Renault

60
55 3
50
45
Age

1
40
35
30
25 2

20
0 1 2 3 4 5
Nombre d'enfants
16
Clio Espace Laguna Megane Safrane
Prétraitement: Fonction de distance
• Pour les données numériques
– La valeur absolue de la différence : |A-B|
– Le carré de la différence : (A-B)²
– La valeur absolue normalisée : |A-B| / (différence
maximale)
• avantage : se trouve toujours entre 0 et 1,
supprime les problèmes d'échelles
– libre de créer sa propre fonction.

17
Pré-traitement: Fonction de distance

• Pour les autres types de données

– à l'utilisateur de définir sa propre fonction de distance


– Exemple :
• pour comparer le sexe d'un individu, valeur 1 s'ils sont de sexe
différent ou la valeur 0 s'ils sont identiques
• pour des communes, pourquoi ne pas prendre la distance
entre elles ou affecter une codification en fonction du type
(urbaine, périurbaine, rurale) ou de la région
– toujours préférable d'avoir le résultat entre 0 et 1

18
Prétraitement: Fonction de combinaison
consiste à combiner les n voisins les plus proches
pour obtenir le résultat de la prédiction souhaitée

exemple :
soit une liste de clients ayant déjà répondu à une offre
commerciale (par oui ou non)
l'utilisateur métier estime que les critères les plus
déterminants sont le sexe, l'âge et le salaire net du
dernier semestre

19
Numéro Age Sexe Salaire Acheteur

A 27 F 19000 Non

B 51 M 66000 Oui

C 52 M 105000 Non

D 33 F 55000 Oui

E 45 M 45000 Oui
20
• soit un nouveau client : une femme de 45 ans ayant un revenu de 100000 €
• cette cliente sera-t-elle intéressée par l'offre ?
•  La fonction de distance est définie ainsi :
– il s'agit d'une femme, donc la distance par rapport aux clients connus sera de 1 avec
les hommes et de 0 avec les femmes
– A ce chiffre, on ajoute la distance normalisée du salaire et de l'âge
– D’où le Tableau des distances :

Client Age Sexe Salaire Distance totale


A 0.720 0 0.942 1.662
B 0.240 1 0.395 1.635

– C voisins les plus0.280


Les 1 : D C B E A 0.058
proches sont dans l'ordre 1.338
D 0.480 0 0.523 1.003
E 0.000 1 0.640 1.640

21
• Utilisons maintenant le résultat de la fonction de
combinaison
– nombre de voisins retenus ?

Nombre de voisins 1 2 3 4 5
retenus
Numéro des voisins D DC DCB DCBE DCBEA
Réponses des O O,N O,N,O O,N,O,O O,N,O,O
voisins ,N
Décompte des Oui 1 Oui 1 Oui 2 Oui 3 Oui 3
réponses Non 0 Non 1 Non 1 Non 1 Non 2
Valeur retenue Oui ? Oui Oui Oui
Evaluation 100 % 50 % 66 % 75 % 60 %

22
• Utilisons maintenant le résultat de la fonction de
combinaison
– nombre de voisins retenus ?

•Si 3 voisins, réponse favorable avec une probabilité


(plutôt espérance) de 66%
•possible également de donner un poids à chaque
contribution
•NB:
• Ex: 1er voisin a un poids de 3, 2ème poids de 2, 3ème
un poids de 1
• Possible de pondérer chaque variable utilisée dans la
fonction de distance
23
Exercice KPPV
Individu Grade Sexe Revenu Acheteur
mensuel

I1 D F 4700 Oui

I2 F M 1500 Oui

I3 A M 800 Non

I4 F F 1800 Oui

I5 A M 600 Non
24
Exercice KPPV

• Quelle fonction de distance pour le grade?


• Quelle fonction de distance pour le Sexe?
• Quelle fonction de distance pour le Salaire?
• Quelle fonction de combinaison finale?
• Faire l’étude de voisinage.

25
Arbre de classification
• A chaque nœud d’un arbre,
une valeur du vecteur
est examinée.

• Parcours selon une comparaison


avec un seuil (différent pour chaque sommet)

• Chaque feuille contient une décision (une


classe Ck)
26
Exemple 1 d’arbre

27
Exemple 2

Comment représenter y en fonction de x


dans un plan?

28
Exercice Arbre de décision

• On considère le
graphique suivant
contenant les trois
partitions ,  et .
Modéliser l’arbre de
décision correspondant
en fonction des valeurs
indiquées sur les axes
du repère.
29
Réponse

30
Données d’apprentissage
• Les données utilisées pour construire le modèle final proviennent
généralement de plusieurs jeux de données . En particulier, trois ensembles
de données sont couramment utilisés à différentes étapes de la création du
modèle.

• Le modèle est initialement adapté à un ensemble de données


d'apprentissage [3], qui est un ensemble d'exemples utilisés pour ajuster les
paramètres (par exemple, le poids des connexions entre neurones dans
des réseaux de neurones artificiels ) du modèle.

• Le modèle (par exemple, un réseau de neurones ou un


classificateur naïf de Bayes ) est formé sur l'ensemble de données
d'apprentissage à l'aide d'une méthode d' apprentissage supervisé (par
exemple, descente de gradient ou descente de gradient stochastique ).

31
Données d’apprentissage
• En pratique, le jeu de données d'apprentissage consiste souvent en des
paires d'un vecteur d’entrée (ou scalaire) et du vecteur de sortie
correspondant (ou scalaire), ce qui est communément désigné comme cible
(ou étiquette ).

• Le modèle actuel est exécuté avec le jeu de données d'apprentissage et


produit un résultat, qui est ensuite comparé à la cible , pour chaque vecteur
d'entrée du jeu de données d'apprentissage. En fonction du résultat de la
comparaison et de l'algorithme d'apprentissage spécifique utilisé, les
paramètres du modèle sont ajustés.

• L'ajustement du modèle peut inclure une sélection de variables et une


estimation de paramètres.

32
Données d’apprentissage
• Le modèle ajusté est ensuite utilisé pour prédire les réponses des
observations dans un deuxième jeu de données appelé jeu de données de
validation . L'ensemble de données de validation fournit une évaluation
non biaisée d'un ajustement de modèle sur l'ensemble de données
d'apprentissage tout en ajustant les hyperparamètres du modèle (par
exemple, le nombre d'unités cachées dans un réseau de neurones ).

• Les jeux de données de validation peuvent être utilisés pour la


régularisation en arrêtant tôt : arrêtez la formation lorsque le nombre
d'erreurs sur le jeu de données de validation augmente, car il s'agit d'un
signe de surajustement par rapport au jeu de données de formation.

33
Données d’apprentissage
• Cette procédure simple est compliquée dans la pratique par le fait que
l'erreur de l'ensemble de données de validation peut fluctuer pendant la
formation, produisant plusieurs minima locaux. Cette complication a conduit
à la création de nombreuses règles ad-hoc pour décider du moment où la
suréquipement a réellement commencé.

• Enfin, l' ensemble de données de test est un ensemble de données utilisé


pour fournir une évaluation non biaisée d'un ajustement final du modèle sur
l'ensemble de données d'apprentissage.

• Lorsque les données du jeu de données test n'ont jamais été utilisées dans la
formation (par exemple, lors de la validation croisée ), le jeu de données test
s'appelle également un jeu de données de réserve .

34
Exemple

35
Les forêts aléatoires
• Les forêts aléatoires sont une combinaison d'ensachage et de
modification aléatoire de la sélection d'attributs pour les
apprenants de la base d'arborescence binaire.

36
L'agrégation Bootstrap
Elle, également appelée ensachage , est un méta-algorithme d'
ensemble d'apprentissage automatique conçu pour améliorer
la stabilité et la précision des algorithmes d'
apprentissage automatique utilisés dans la classification et la
régression statistiques .

Cela aide à éviter les surajustements . Bien qu‘elle soit


généralement appliquée aux méthodes de l' arbre de décision ,
elle peut être utilisée avec n'importe quel type de méthode.

37
Le Bagging
• En 1996 Breiman introduit le Bagging, une des
premières méthodes d’ensemble qui consiste à
agréger une collection de classifieurs pour obtenir
un meilleur classifieur
• En classification, on agrège les prédictions par
vote majoritaire.
• Bagging=Boostrap aggregating : principe non
limité aux arbres de classification mais CART est
le classifieur de base le plus couramment utilisé.
38
La méthode

39
Classification hiérarchique
ascendante
Présentation intuitive : arbre généalogique et arbre
hiérarchique (dendrogramme)

Analogie avec un arbre généalogique : à chaque branche


correspond une filiation vis-à-vis des branches situées en-
dessous.

40
Dendrogramme

41
Construction

Rechercher les individus le plus proches en termes de


parenté.

Lesrelier entre eux par un "U" dont la hauteur décrit la


proximité entre ces individus.

Répéter avec les individus restants, jusqu'à ce que toute la


famille soit regroupée.

42
Construction
Appliquée à un nuage de point (projeté ou non),
cela donne :

43
Projection sur plan

On effectue ensuite


une représentation
plane et synthétique
de cet "arbre
hiérarchique" (ou
"dendrogramme") :

44
Commentaires
l'ordredans lequel se présentent les individus dans le
dendrogramme est déterminé par les distances qui les séparent;

ladistance qui sépare les individus est représentée par la


hauteur des "" ou "", et non par la distance qui sépare les
bouts de branches ;

effectuer une classification, c'est construire cet arbre ;

effectuer une partition, c'est couper cet arbre à un niveau


donné (à chaque niveau de coupure correspond une partition).

45
Commentaires
Une partition est définie comme l'ensemble des sous-
ensembles d'une population, telle que tous les éléments de la
population soient dans un sous-ensemble et un seul ;

En conséquence : 
 Il n'existe pas d'élément n'appartenant à aucun sous-

ensemble (ou "classe") ;


 Un élément ne peut appartenir à deux sous-ensemble en

même temps (les intersections des sous-ensembles sont


vides)

46
Conséquence
Une partition sera d'autant meilleure que :
 chaque inertie intra sera faible (la somme des
distances entre les éléments d'une classe sera petite,
i.e. les éléments d'une même classe se ressembleront
beaucoup) ;
l'inertie extra sera forte (la somme des distances entre
les barycentres sera grande, i.e. les classes seront
différentes).

47
Méthode de Ward
Dans un nuage de n points, il faut donc:
 mesurer les distances interindividuelles (calcul

des distances selon une métrique),


déterminer la plus petite d'entre elles (calcul du

minimum),
regrouper ces deux individus entre eux (calcul du

barycentre),
recalculer les distances interindividuelles sur n-2

individus plus 1 groupe, et ainsi de suite.

48
Distance utilisée
La distance utilisée dans l'algorithme de Ward est
la suivante :

49
Distance utilisée
Les ² (x, y) s'appellent aussi indice de niveau.
les x et y désignent les centres de gravité de deux
classes (qui, à une étape donnée, peuvent ne
comporter qu'un élément) et mx, my la somme des
poids des éléments de chaque classe (qui, à une étape
donnée, peut ne comporter qu'un élément)
²(x, y) mesure l'augmentation de l'inertie intra suite
au regroupement des éléments x et y. On choisit donc
à chaque pas le regroupement de classes qui
augmente le moins l'inertie intra.
50
Distance utilisée

Cela conduit à regrouper :

les classes proches, telles que d²(x, y) soit faible;

les classes de faible poids (si on divise les poids

par 10, est aussi divisé par 10).

51
La détermination du niveau de
coupure de l'arbre
Elle peut être empirique ; trois règles possibles :
"couper les branches longues", c'est-à-dire là où est
constaté un "saut" des indices de niveau, c'est-à-dire là
où le regroupement de classes conduit à une forte
augmentation de l'inertie intra ;
rechercher un nombre de classe égal à log
10 (n)
rechercher un nombre de classe dépendant du nombre

d'individus
Bilan : nous avons ramené l'analyse de n individus à

celle de k classes, avec k<<<n.


52
Application

53
Résultats: calcul de distance
entre individus

54
Résultats

55
Résultats

56
Résultats

57
Résultats

58
Activité CHA:
On souhaite classifier hiérarchiquement les PCs retenus
dans le tableau ci-dessus, selon le critère de Ward et en considérant
équitablement tous les ordinateurs.

Poids Prix

PC1 0,1 2
PC2 1,8 0.7
PC3 1,6 0.8
PC4 1 1.2
PC5 0,95 1.05
PC6 0,2 2.1
Regression et
Classification
Enrégression, typiquement, L(.) est l'erreur
quadratique. On cherche donc à minimiser la fonction
coût des moindres carrés :

En classification, typiquement, L(.) est le taux


d'erreur. On cherche donc à minimiser :

60
La Régression linéaire

f(x)=ax+b+μ où μ0 est l’erreur à minimiser


0

On calcule a et b /

61
Exemple de Régression:

App1 App2 App3 App4 App5 App6 App7 App8 App9 App10

Surfac 28 50 55 60 48 35 86 65 32 52
e
Prix 130 280 268 320 250 250 350 300 155 245

Point de gravité
(d’inertie)
Avg(prix)= 254,8
Droite des Avg(surface)= 51,1
moindres carrés
y=ax+b+u
y=3,524x + 74,707
62
La Régression

r est le coefficient de corrélation linéaire ayant pour


signe la pente de la droite.
Si r=0, la droite est horizontale
Si
|r|=1, la prévision est parfaite car les écarts sont
nuls

63
La Régression

lecoefficient est d’autant plus grand que la valeur


d’un caractère implique celle de l’autre à condition
que la relation entre caractère soit linéaire.
Dans l’exemple des appartements, r = 0,89

r peut être défini par la covariance:


r(x,y) = Sxy / SxSy

où Sxy = ∑ pi (xi -Avg(x)) (yi -Avg(y))

64
Exercice
Appliquer la
régression linéaire sur
le modèle suivant.

Faireles
commentaires
nécessaires.

65
SVM lineaires, (cnam.fr)

66
SVM lineaires, (cnam.fr)

67
Séparateurs à vaste marge

68
Séparateurs à vaste marge

69
Séparateurs à vaste marge

70
Séparateurs à vaste marge

71
Séparateurs à vaste marge

72
En Général avec les SVM

73
En Général avec les SVM

74
TAF:
Appliquer SVM sur un exemple qui vous choisissez
sous python pour le jeudi 25 Avril 2019:

*Proposez les données en input,


*Appliquer SVM,
*Et faire les interprétation prévisionnelles adéquates.

75