Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données &...

66
Science des Données Rémi Eyraud (avec l’aide inégalable de l’équipe QARMA) Chapitre 2 Classification Supervisée Master 1TSI – 2018-2019

Transcript of Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données &...

Page 1: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Science des Données

Rémi Eyraud (avec l’aide inégalable de l’équipe QARMA)

Chapitre 2Classification Supervisée

Master 1TSI – 2018-2019

Page 2: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Plan du chapitre

1. Introduction 2. k-plus proches voisins3. Mesures de performance4. Arbres de décision et forêts aléatoires

Page 3: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Introduction

Page 4: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Schéma global

Page 5: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Science des Données &Apprentissage Automatique

● Apprentissage machine : le moteur de la SD● Pour aller plus loin que les statistiques descriptives● But : extraire automatiquement des données la connaissance

permettant de prendre des bonnes décisions à l’avenir (sur d’autres / de nouvelles données)

● Moyen : inférer un modèle (mathématique…) qui capture les régularités observables dans les données d’apprentissage : principe de Généralisation

Page 6: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Un exemple introductif

Alors que vous venez juste d'atterrir au Groland pour la première fois, vous apercevez un mouton noir. Quelles conclusions en tirer ?

Page 7: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Un exemple introductif

Alors que vous venez juste d'atterrir au Groland pour la première fois, vous apercevez un mouton noir. Quelles conclusions en tirer ?● Il y a un et un seul mouton noir au Groland (apprentissage

par coeur, sous-généralisation)● Certains moutons sont noirs au Groland● Tous les moutons du Groland sont noirs (sur-généralisation)

Page 8: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Sous-, Sur-, Correcte Généralisation

Page 9: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Classification supervisée : De vrais exemples

But : écarter automatiquement les SPAM et autres messages non sollicités. Données : des messages dont on sait s'ils sont des SPAMs ou non.Objectif : construire un classifieur, capable d'attribuer une de ces deux classes à un nouveau message.

But : reconnaissance de chiffres manuscrits.Données : des chiffres écrits sur une rétine de 16x16 pixels, associés à une classe parmi {0, 1, ... , 9} Objectif : attribuer la bonne classe (pattern recognition).

Page 10: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Modélisation de la classification supervisée

Rappel : les données● Attributs(=variables=colonnes) : un ensemble X = X1 x X2...x Xd où

chaque Xi est le domaine d'un attribut Ai symbolique ou numérique.○ Ex.: A1= age, X1= [0; 122], A2= fumeur, X2= {oui, non}

● Classes(=cible=target=label=etiquettes) : Un ensemble fini de classes Y. ○ Ex.: Y = {patient_à_risque, patient_sans_risque}

● Une variable aléatoire Z=(X,Y) à valeurs dans X x Y. ○ Ex: le risque cardiaque est lié à l'âge et au fait de fumer

Page 11: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Modélisation de la classification supervisée

● Les exemples/données sont des couples (x,y) de X x Y tirés selon la distribution jointe :

P(Z=(x,y)) = P(X=x)P(Y=y|X=x).

● Un échantillon S = {(x1,y1), ... , (xn,yn)} est un ensemble fini d'exemples i.i.d. selon P.

Page 12: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Modélisation de la classification supervisée

Exemple d'échantillon d'apprentissage

Age Fumeur Risque cardio

35 oui risque

40 non pas risque

60 oui risque

20 oui pas risque

Ensemble des attributs

X = X1 x X2 avecX1 = age et X2 = Fumeur

Classes Y Valeurs

possibles :{risque, pas

risque}

Page 13: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Classifieur

● Classifieur : f : X Y→ Y○ Ex.: f1(x) = Si fumeur='oui' et age > 59

alors 'risque' sinon 'pas risque'

● Fonction de perte (loss function) :L(yi, f(xi)) égale à 0 si yi = f(xi) et à 1 sinon.○ Ex.: L('risque', f1((35, 'oui'))) = 1

et L('risque', f1((65, 'oui')) = 0

Page 14: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Modélisation de la classification supervisée (fin)

● Classifieur : f : X Y→ Y● Fonction de perte (loss function) :

L(yi, f(xi)) égale à 0 si yi = f(xi) et à 1 sinon

● La fonction risque (ou d'erreur) : espérance mathématique de la fonction de perte :

R(f) = ∫ L(y,f(x))dP(x,y) = ∫y≠ f(x) dP(x,y) = P(y≠f(x))

● Le problème général de la classification supervisée s’écrit : Etant donné un échantillon S={(x1,y1), ..., (xn,yn)} trouver un classifieur f

dont le risque R(f) est le plus petit possible

Page 15: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

k plus proches voisins

Page 16: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

k plus proches voisins : principeObjectif : pouvoir prédire la classe d'un nouvel exemple en utilisant les exemples déjà connusPrincipe :

1. regarder la classe des k exemples les plus proches 2. Affecter la classe majoritaire dans le voisinage au nouvel

exempleExemple : 2 classes, dimension 2

Page 17: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

k plus proches voisins : algorithme

Entrée : S ={(x, y) | x X R∈ X ⊆ R ⊆ R d, y Y} l’échantillon d’apprentissage, ∈ X ⊆ R xtest l'exemple à classerDébut

Initialiser à 0 le nombre d'occurrences de chacune des classespour chaque exemple (x, y) dans S :

Calculer la distance D(x, xtest)pour chaque x’ dans k-voisinage(xtest) :

Ajouter 1 au nombre d'occurrences de y’Retourner la classe la plus fréquente à partir du nombre d’occurrences de chaque classe

Page 18: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Que faire en cas d’égalité ?

Et si 2 classes ou plus sont aussi fréquentes dans le k-voisinage ?

On peut :● Augmenter k de 1● Tirer une classe au hasard parmis les plus fréquentes● Attribuer la classe majoritaire dans les données● Pondérer les exemples par leur distance à la donnée à classer

Page 19: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Limite des k-ppv (k-nn)● Nécessite une notion de distance pertinente pour la classification● Pas de réelle phase d’apprentissage : calcul pour chaque nouvelle

donnée à classer● Complexité en O(kdn) ne passant pas à l’échelle :

○ Réduction de l’échantillon d’apprentissage a priori○ Réduction de la taille des données (ACP, …)○ Organiser les données dans des structures permettant

d’accélérer la décision

Page 20: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Validation d'un apprentissage Mesures de qualité

Page 21: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

L’apprentissage en pratique

● On dispose d'un échantillon d'apprentissage S qu'on suppose i.i.d.● On recherche une fonction h de classification (ou de régression)

dont le risque est le plus faible possible.

● Il existe toujours une fonction fmin de risque minimal... inaccessible !

Page 22: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Validation empirique d’un apprentissage

● Plusieurs méthodes permettent de valider (ou d'infirmer) la qualité d'un processus d'apprentissage.

● Une des approches consiste à n'utiliser qu'une partie des données pour apprendre et à se servir des autres données pour tester le résultat.

● Différentes mesures permettent alors de comparer des processus (taux d’erreur, F-score, etc.)

Ensemble de test

DONNEESEnsemble

d’apprentissage (d’entraînement)

Page 23: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Validation croisée (cross-validation)● La cross-validation est une généralisation de la méthode

précédente.● Elle consiste à diviser les données en c folders, à en enlever

un pour l'apprentissage puis à l'utiliser pour la phase de test.● Le processus est ensuite réitéré sur chaque folder● L'erreur moyenne tend alors vers l'erreur en généralisation

(estimateur non-biaisé).

Page 24: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Mesure de qualité : classification binaire supervisée● Matrice de confusion :

● Taux d’erreur = 1 - taux de réussite(accuracy) =

● L'erreur (ou taux d'erreur) ne fait pas de distinction entre les erreurs : pas toujours une bonne mesure de qualité d'un apprentissage

Page 25: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Mesure de qualité : classification binaire supervisée● Erreur = ● F-score :

○ Précision =

○ Rappel =

○ F-score = 2

● F-score : qualité d'une classification en fonction d’une classe, mais ne tient pas compte de l'éventuel déséquilibre entre les classes.

Page 26: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Mesure de qualité : classification binaire supervisée● Quand un classifieur nous donne la probabilité qu'un exemple soit

dans une classe, on peut faire varier le seuil de confiance et donc obtenir plusieurs matrices de confusion.

● La courbe ROC fait varier le seuil et met en ○ abscisse : le taux de faux positifs : TFP =

○ Ordonnée : le rappel : TVP =

● L'aire sous la courbe ROC est une mesure de la qualité d'un classifieur.

Page 27: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Mesure de qualité : classification binaire supervisée

Interprétation de l'AUC : ● l'aire sous la courbe (AUC) indique la probabilité qu'un exemple

négatif ait une probabilité d'être classé + supérieur à un exemple positif.

● Si la classification est parfaite : AUC = 1

● Si la classification est aléatoire : AUC = 1/2

Page 28: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Arbres de Décision &Forêts aléatoires

Page 29: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Les arbres de décision

Un arbre de décision est un arbre orienté dont :● Les noeuds internes sont étiquetés par un test applicable à tout

individu, généralement sur un attribut de description● Les arcs contiennent les résultats du test● Les feuilles sont étiquetés

par une classe par défaut

Page 30: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Les arbres de décision

● Un arbre de décision est donc un classifieur organisé de manière arborescente.

● Ce classifieur a une traduction immédiate en terme de règles de décision, mutuellement exclusives et ordonnées (si ... alors ... sinon ...).

● 2 qualités principales :○ Facilement interprétables○ Classification rapide

Page 31: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Classification supervisée & arbres de décision

● But : construire un arbre de décision à partir d'un échantillon de données

● Caractéristiques des données : ○ Apprentissage supervisé : nécessite un expert○ Attributs à valeurs discrètes (vs continus)

● Question : quel attribut choisir en premier ? En second ? ...

Page 32: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Exemple de classification avec arbre de décisionFormalisation

Evaluation du risque cardiaque à partir d'une table Individu contenant les attributs :

Age (entier positif)Fumeur (O ou N)Taille (entier positif)Poids (entier positif)Sexe (H ou F)

On demande à un cardiologue d'étiqueter une partie de la base (disons 5%) en 2 classes : individu à risque ou non.

Page 33: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Préparation des données : discrétisation

Les attributs suivants doivent être discrétisés : Age (entier positif)Taille (entier positif)Poids (entier positif)

Propositions : Age en trois catégories : jeune (<20 ans), actif (entre 21 et 50), senior (>50) On applique une formule liant taille et poids et on obtient un attribut Corpulence prenant trois valeurs : faible, moyenne, forte.

Page 34: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Échantillon de données après pré-traitement

Voici les données étiquetées par le cardiologue :

Page 35: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Apprentissage d’un arbre de décisionChoix de la racine de l’arbre : le pivot qui disperse le mieux les classes

Page 36: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Apprentissage d’un arbre de décisionChoix de la racine de l’arbre : le pivot qui disperse le mieux les classes

Page 37: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Apprentissage d’un arbre de décisionOn continue récursivement sur les fils de la racine :

La question pour le premier fils revient à regarder :

Page 38: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Apprentissage d’un arbre de décisionOn continue récursivement sur les fils de la racine :

La question pour le premier fils revient à regarder :

Page 39: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Apprentissage d’un arbre de décisionOn se retrouve avec l’arbre courant:

Après calcul, en testant sur l'attribut Sexe (puis corpulence) dans la branche restant à déterminer on disperse entièrement les classes.

Page 40: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Apprentissage d’un arbre de décision

Résultat final :

On peut alors classer toutes les données de l’échantillon d’apprentissage

Page 41: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Risque empirique et risque minimal

● Risque empirique : erreur sur l’échantillon d’apprentissage

● Il est toujours possible de trouver un arbre de décision minimisant le risque empirique sur un jeu de données. Mais cet arbre est bien souvent un mauvais classifieur. Pourquoi ?

● Le plus petit arbre de décision compatible avec les données est l'hypothèse la meilleure en généralisation. Pourquoi ?

Page 42: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Risque empirique et risque minimal● Il est toujours possible de trouver un arbre de décision minimisant

le risque empirique sur un jeu de données. Mais cet arbre est bien souvent un mauvais classifieur. Pourquoi ?

● Le plus petit arbre de décision compatible avec les données est l'hypothèse la meilleure en généralisation. Pourquoi ?

● La théorie de l’apprentissage statistique de Vapnick permet de démontrer ces affirmations

● Trouver le plus petit arbre de décision compatible avec un échantillon est un problème NP-complet :-(

Page 43: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Alors, que faire ?

● Construire un petit arbre de décision compatible avec le maximum de données.

● Conforme au principe du rasoir d'Occam (XIV siècle) : Pluralitas non est ponenda sine necessitate

“Les multiples ne doivent pas être utilisés sans nécessité” ● Autrement dit : entre deux représentations équivalentes, il

faut choisir la moins complexe.

Page 44: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Algorithmes d’apprentissage d’arbres de décision

● Plusieurs algorithmes : CART [Breiman84], C4.5[Quinlan94]● Algorithmes en deux étapes :

1. Construction d'un petit arbre de décision compatible 2. Élagage de l'arbre

● Première étape (Idée principale)Diviser récursivement et efficacement l'échantillon d'apprentissage par des tests sur les attributs jusqu'à obtenir des sous-échantillons ne contenant (presque) que des exemples de la même classe.

● Méthodes de construction Top-Down, gloutonnes et récursives

Page 45: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Apprentissage d’arbres de décisionOn a besoin de trois opérateurs permettant de :● Décider si un noeud est terminal● Si un noeud est terminal, lui affecter une classe● Si un noeud n'est pas terminal, lui associer un test

Algorithme générique :arbre ← arbre vide ; noeud courant ← racineRépéter

Décider si le noeud courant est terminalSi le noeud est terminal alors lui affecter une classeSinon sélectionner un test et créer autant de noeuds fils qu'il y a de réponses possibles au testPasser au noeud suivant (si il existe)

Jusqu'à obtenir un arbre de décision compatible

Page 46: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Les 3 opérateurs1. Un noeud est terminal lorsque :

○ Soit (presque) tous les exemples correspondant à ce noeud sont de la même classe,

○ Soit il n'y a plus d'attribut non utilisé dans la branche correspondante,

○ Soit on a atteint la profondeur maximale autorisée

2. On affecte à un noeud terminal la classe majoritaire présente dans ce noeud (en cas de conflit, on peut choisir la classe majoritaire dans l'échantillon, ou en choisir une au hasard),

3. On associe le test qui fait le plus progresser la classification des données d'apprentissage. Comment mesurer cette progression ?

Page 47: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Indice de Gini

● Soit S l'échantillon et S1, S2, …, Sk sa partition suivant les classes

(S1 sont les données de S de la classe 1, etc.)

● L’indice de Gini est utilisé en science sociale (entre autre) pour mesurer la disparité dans une population.

● Pour un problème à 2 classes (k=2), on peut simplifier :posons x = |S1|/|Set donc On a alors : Gini(S) = 2x(1-x)

Page 48: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Indice de Gini

Gini(S) = 2x(1-x) Cette fonction (généralisable pour tous les k) :

1. A des valeurs dans [0,1]2. S'annule pour x = 0 et x= 1 (que des éléments d'une seule

classe)3. Est maximale pour x = 1/2 (autant d'éléments de chaque

classe)

Page 49: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Gain et sélection de test avec GiniSoit p la position courante de l'arbre en construction et T un test. On a

Gain (p,T) = Gini(Sp) - ∑j Pj * Gini(Spj)

● Sp contient les données associé à p

● Pj est la proportion des éléments de Sp qui sont envoyés dans le j-

ème fils de p par le test T.

Maximiser le gain revient à minimiser Gain maximal : l'attribut permet de classer correctement toutes les données Gain nul : données sont aussi mal classées après le test qu'avant

Page 50: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Exemple d’utilisation de l’algorithme CART (Gini)Match à Domicile ?

Balance positive ?

Mauvaise conditions climatiques ?

Match précédent gagné ?

Résultat

V V F F G

F F V V G

V V V F G

V V F V G

F V V V P

F F V F P

V F F V P

V F V F P

Les données

Page 51: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

On cherche la racine

On abrège les noms des attributs en Dom, Bal, MCC, MPG.On calcul le gain pour chaque attribut, en commençant par Dom :

classes(S) = <4G, 4P>

classes(S1) = <3G, 2P> classes(S2) = <1G, 2P>

Gain(ε,Dom) = Gini(S)-(5/8Gini(S1) + 3/8 Gini(S2)) = Gini(S) - 5/8*2*3/5*2/5 – 3/8*2*1/3*2/3 = Gini(S) - 7/15

Page 52: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

On cherche la racine

On calcul le gain pour chaque attribut, pour Bal :

Gain(ε,Bal) = Gini(S)-(4/8Gini(S1) + 4/8 Gini(S2)) = Gini(S) - 4/8*2*3/4*1/4 – 4/8*2*1/4*3/4 = Gini(S) - 3/8

Page 53: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

On cherche la racine

On calcul le gain pour chaque attribut, pour MCC :

Gain(ε,MCC) = Gini(S)-(5/8Gini(S1) + 3/8 Gini(S2)) = Gini(S) - 5/8*2*2/5*3/5 – 3/8*2*2/3*1/3 = Gini(S) - 7/15

Page 54: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

On cherche la racine

On calcul le gain pour chaque attribut, pour MCC : <4,4>

<2,2> <2,2>

Gain(ε, MPG) = Gini(S)-(4/8Gini(S1) + 4/8 Gini(S2)) = Gini(S) - 4/8*2*2/4*2/4 – 4/8*2*2/4*2/4 = Gini(S) - 1/2

MPG ?

V F

Page 55: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

On cherche la racine

Au final, on a :Gain(ε,Dom) = Gini(S) - 7/15Gain(ε,Bal) = Gini(S) - 3/8Gain(ε,MCC) = Gini(S) - 7/15Gain(ε,MPG) = Gini(S) - 1/2

Le gain maximal est obtenu pour le test sur les attributs Balance Positive : ce test devient la racine de l’arbre.

Page 56: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Et on continue

Supposons que l'on choisisse l'attribut “Balance positive” à la racine. L'arbre courant est alors :

Il faut alors recommencer récursivement et indépendamment le calcul du gain en position 1 et 2 pour choisir les tests à ces niveaux

Page 57: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Au final

Page 58: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Autre fonction de choix : l’entropie

Il y a d'autres indices que Gini pour tester la dispersion des classes. Le plus utilisé est l'entropie :

Soit S l'échantillon et S1, S2, …, Sk sa partition suivant les

classes (S1 sont les données de S de la classe 1, etc.).

L'entropie de l'échantillon est :

Page 59: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Arbres de décision et sur-apprentissage

Un arbre peut avoir une erreur empirique nulle mais une erreur réelle importante, c'est-à-dire être bien adapté à l'échantillon mais avoir un pouvoir de prédiction faible.

Page 60: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Comment éviter le sur-apprentissage ?

Ensemble de validation : on peut réserver une partie des données (donc pas les utiliser pour apprendre) pour arrêter la construction de l'arbre quand l'estimation de l'erreur sur cet ensemble ne diminue plus.

Hyper-paramètres : On peut fixer à l’avance des caractéristiques globales (profondeur maximale, nombre maximal de nœuds, etc.)

Elagage : on peut construire l'arbre en entier, puis l'élaguer

Page 61: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Pour être complet : attributs● Les propriétés vues sur les attributs binaires s'étendent aux

attributs n-aires● Attributs discrets : il est possible (si on veut des arbres binaire par

exemple) de regrouper a priori des valeurs des attributs.● Attribut continus : processus de discrétisation (souvent à l'aide

d'inégalités).● Attributs à valeurs manquantes :

○ En classement : prendre la branche majoritaire○ En apprentissage : donner une valeur suivant la distribution

(locale ou globale sur l'échantillon)

Page 62: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Pour être complet (fin)

● Des attributs n-aires peuvent prendre un grand nombre de valeurs : il est possible de les pénaliser pour retarder leur apparition dans l'arbre

● On peut facilement introduire une matrice de coût de prédictions erronées : cela permet de pénaliser un type d'erreur plus qu'un autre.

Page 63: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Instabilité & Forêts aléatoires (Random Forests)

Instabilité des arbres de décision : ○ Principal inconvénients des arbres de décision ○ Choisir un attribut plutôt qu'un autre se joue à peu de chose. ○ Or le choix d'un attribut-test (près de la racine) influence

grandement le reste de la construction. ○ Ces algorithmes ont donc une variance importante.

Random Forests : Apprendre plusieurs arbres sur l'échantillon d'apprentissage et faire un vote sur les nouvelles données

Page 64: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Forêts aléatoires : algorithmes

Apprentissage :Entrée : un ensemble S de n données, un entier K

1. Créer K ensemble de n données en réalisant un tirage avec remise

2. Apprendre K arbres de décision, un par ensemble de données3. Retourner la forêt

Classification :Quand une nouvelle donnée doit être classée, on regarde la classe que donne chacun des K arbres : la forêt retourne la classe majoritaire (décision par vote majoritaire)

Page 65: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Et après ?

Page 66: Science des Donnéesremi.eyraud/Sd/SD-M1_TSI... · 2019-01-26 · Science des Données & Apprentissage Automatique Apprentissage machine : le moteur de la SD Pour aller plus loin

Dans les semaines qui viennent

● 1 TP sur les k-ppv● 1 TP sur les AD● Un dernier chapitre sur :

1. La régression2. La classification non-supervisée