Notes de Cours : Data Mining Séance 5, 07 Octobre 2013 Prof. Chiraz Ben Abdelkader, ENSI
Plan: Classification Supervisée à Base d’Exemples Représentatifs
Introduction
1) 2) Description générale de l’approche 3) Mesure de dissimilarité entre deux données 4) L’algorithme des plus proches voisins (kPPV) 5) Application : classification de textes avec méthodes de Naïve Bayes et kPPV
Voir TD#2 et TD#3
6) TD/TP : classification de textes sur Weka
Références :
(Disponibles sur mon Google Drive, sous le dossier « Références & Ressources »)
1) Notes de cours (Français) : Prof. Philippe Preux, Chapitre 5
Comme il y en a quelques graves fautes de frappes, ne l’utiliser pas comme référence primaire.
2) Livre (Anglais): Data Mining, Practical ML tools and techniques, Chapitre 4 p. 131-134
1) Introduction
On distingue deux grandes catégories de classeurs supervisés :
i.
ii.
Ceux qui utilisent un modèle ou une formule qui est déjà construite durant la phase d’induction du classeur. Les exemplaires X sont seulement utilisées pour l’induction du classeur (donc du modèle), mais pas durant l’application du classeur sur des données nouvelles. Les méthodes qu’on a discuté jusqu’à ce point (ZeroR, OneR et NaiveBayes) tombent tous dans cette catégorie. Ceux qui utilisent directement les exemplaires pour prédire la classe d’une donnée nouvelle, x.
On appelle les méthodes de cette deuxième catégorie les classeurs à base d’exemplaires représentatifs. L’algorithme des k plus proches voisins (kPPV) est l’un de ces méthodes les plus connus.
2) Approche Générale
Les techniques de classification supervisée à base d’exemplaires représentatifs se basent sur l’approche générale suivante : étant donné l’ensemble X, on stocke ces exemplaires tel qu’ils sont ; puis, étant donne une nouvelle donnée x, on
prédit sa classe en fonction des classes des exemplaires dans X qui sont les plus « similaires » (ou bien les moins « dissimilaires ») de x. Quelques détails doivent être précisés afin d’obtenir une méthode de classification concrète : i) quelle notion de dissimilarité ou de proximité va-t-on utiliser ? ii) combien d’exemplaires proches va-t-on considérer/utiliser? iii) quel fonction va-t-on utiliser pour finalement prédire la classe de x? On discutera la notion de dissimilarité en général, puis on discutera les deux autres taches dans le contexte de la technique des plus proches voisins.
3) Mesures de Dissimilarité
Dans les techniques à base d’exemplaires représentatifs, il faut tout d’abord définir une mesure, ou fonction de proximité ou de dissimilarité entre deux données quelconques x et z : d(x,z) La fonction d doit obéir aux 3 propriétés suivantes :
o d est non-dégénérée : d(x,z)=0 SSi x=z x,z D2 o d est symétrique : d(x,z) = d(z,x) x,z D2 o l’inégalité triangulaire : d(x,z) d(x,w)+d(w,z) x,w,z D3
a. Attributs numériques
Lorsque les données x sont tous numériques, l’interprétation géométrique du problème de classification supervisée est utile : x représente un point dans un espace Euclidien de p dimensions, ou chaque dimension correspond à la valeur d’un attribut.
Distance Euclidienne : la plus simple mesure de dissimilarité
p
2
d
),( zx
(
x
i
2
z
i
Publicité
)
i 1 o On peut facilement vérifier que cette fonction obéit aux 3
propriétés discutées au-dessus.
Distance de Manhattan : la somme des valeurs absolues |xi-zi|
Cosine similarity : cosinus de l’angle entre les vecteurs x et z
),( zxs
P
1
i P
i
1
zx i
i
2 zx i
2 i
s(x,z) est toujours dans l’intervalle [0,1] s(x,z) est en fait une mesure de similarité , donc on la convertit a une dissimilarité avec : d(x,z) = 1- s(x,z)
Quand on utilise la distance Euclidienne ou bien la distance de Manhattan, les attributs doivent être tous du même ordre de grandeur, pour que nul
attribut ne domine la valeur de la distance (imaginez par exemple si quelques attributs sont mesurés en mètres et d’autres sont mesurés en mm). Pour assurer cette condition, on peut transformer les attributs de la façon suivante :
ˆ x
i
x i max(
x
i
min( )
x ) i min(
x
i
)
o Ainsi les nouvelles valeurs de tous attributs
[0,1]
b. Attributs nominaux
On utilise typiquement une fonction d de la forme suivante :
),( zxd
p
i
Publicité
1
( xf
i
z
i
)
o Ou xi zi est la valeur entière : 0 si xi=zi , 1 sinon. o Dans le cas le plus simple, f est l’identité. C’est-à-dire, d(x,z) = le
nombre des attributs ayant des valeurs différentes.
4) L’algorithme des plus proches voisins
Cet algorithme est l’un des techniques les plus simples basées sur l’approche générale à base d’exemplaires représentatifs, discutée au-dessus. Etant donné un ensemble d’exemplaires X et une nouvelle donnée x, cet algorithme détermine la classe y avec les deux étapes suivantes : Etape 1 : déterminer les k plus proches voisins dans X a la donnée x, avec k étant une valeur fixe, et la fonction d de dissimilarité étant bien définie ; Etape 2 : calculer la classe majoritaire des k voisins. Evidemment k est un paramètre de la méthode, dont la valeur est choisi selon la performance du classeur sur un ensemble d’exemplaires de test (Xtest). Il existe d’autres versions de cette méthode ; celle-ci est la plus simple. Exemple : Voir TD#3
5) Application : Classification de Textes a. Présentation du problème
Il s’agit d’un problème de classification supervisée ou chaque exemplaire de l’ensemble X s’agit d’un document texte. Exemples : o Détection de spam : Les textes sont des emails et les classes sont {
spam, non-spam}
o Classification de pages Web par apport a un sujet X: les textes sont des pages Web, et les classes sont { traite_sujet_X, ne_traite_pas_sujet_X }
o Classification de page Web: les textes sont des pages Web et les
classes sont { actualités, sport, les arts, technologie, … }
b. Représentation de textes en « sacs de mots »
Evidemment, les textes doivent être mis sous une forme convenable à être traités par les méthodes de classification supervisée, donc on doit extraire à partir d’un texte un ensemble d’attributs, x.
Une représentation très fréquemment utilisée est celle de « sacs de mots », ou un texte est caractérisé par un ensemble de p attributs, chaque attribut étant associé à un mot d’un ensemble fixe bien défini de mots (qu’on appelle un vocabulaire)V = { m1, m2, … , mp }, et ayant pour valeur une fonction du nombre d’occurrences de ce mot dans le texte.
Sacs de mots--version binaire : Les attributs d’un texte t sont définis par: m si i sinon
0 1
x i
t
Sacs de mots--version TF.IDF : Les attributs d’un texte t sont définis par :
x
i
0
(1
log(n(m
,
t)))
i
log(w
)
i
t
Publicité
si
m
i sinon
ou :
n(mi,t) : nombre d’occurrences du mot mi dans un texte t
wi : facteur d’importance du mot mi
o Le facteur d’importance d’un mot mi est calculé à partir de
l’ensemble X d’exemplaires (textes), comme étant l’inverse de la proportion de ces textes qui contiennent mi , donc: wi = |X|/n(mi) ou n(mi) est le nombre de textes dans X qui contiennent le mot mi.
c. Construction du Vocabulaire V
Le modèle sacs de mots demande un ensemble V de P mots (le vocabulaire), pour que l’on puisse transformer les textes à des vecteurs de P attributs. Cet ensemble est typiquement construit à partir des exemplaires de l’ensemble X comme étant l’union des P/|Y| mots les plus fréquents dans les textes de chaque classe y.
d. Prétraitement (normalisation) des textes
Intuitivement, on veut que les mots dans le vocabulaire V reflètent le contenu (sens) des textes et qu’ils soient non redondants. C’est pour cela que les textes sont habituellement prétraités (« normalisés ») de la manière suivante :
(i) transformer chaque mot a sa racine (Stemming). Par exemple, afficher et affichage seront transformés a affich (ii) supprimer les mots non-importants tel que les prépositions, pronoms, articles, etc. (Stop words)
e. Classification avec Naïve Bayes
Etant donné un ensemble X de textes et leurs classes, et un autre texte t qui n’appartient pas à X, on souhaite prédire la classe y de t, en utilisant la méthode Naïve Bayes. Pour cela, on a trois tâches principales à faire : 1) Représenter tous les textes comme des vecteurs d’attributs, x. 2) Construire un classeur naïve Bayes, donc estimer toutes les probabilités conditionnelles Pr[xi| y,X], pour toutes les valeurs de xi et de y. Voir les notes de cours du 30 Septembre, 2013. 3) Utiliser ce classeur naïve Bayes pour prédire la classe du texte t.
Pour la 1ere tache, on va utiliser le modèle sacs de mots-version binaire, discuté en haut. Rappelons que dans ce cas, chaque attribut xi prend deux valeurs possibles, 0 et 1, associées respectivement à l’absence et présence d’un mot dans le vocabulaire V . Le vocabulaire V doit être construit à partir des exemplaires dans X comme on a déjà discuté en haut
Pour la 2eme tache, on calcule les probabilités Pr[xi| y,X] comme suit :
Pr[xi = 1 | y,X] = n(mi,y) / n(y) Pr[xi = 0 | y,X] = 1 - Pr[xi = 1 | y,X]
(probabilité d’observer mi dans un texte du classe y)
ou n(y) : nombre de textes exemplaires de la classe y
n(mi,y) : nombre de textes de la classe y contenant let mot de mi
Pour la 3eme tache, on suppose que le texte t est déjà transformé en un vecteur d’attributs x. On applique la formule Naïve Bayes (avec les valeurs de probabilités déjà calculées dans l’étape précédente) :
y = argmaxy Y (
i=1..p Pr[xi | y,X] ) . Pr[y | X]
Exemple : Voir TD#2
f. Classification avec méthode kPPV
Etant donné un ensemble X de textes et leurs classes, et un autre texte t qui n’appartient pas à X, on souhaite prédire la classe y de t, en utilisant la méthode kPPV. Pour cela, on a deux tâches principales à faire :
1) Représenter tous les textes comme des vecteurs d’attributs, x. 2) Choisir une mesure de dissimilarité entre deux textes. 3) Appliquer la méthode kPPV pour prédire la classe du texte t.
Pour la 1ere tache, on va utiliser le modèle sacs de mots-version TF.IDF introduite en haut. Le vocabulaire V doit être construit pour ce modèle à partir des exemplaires dans X comme on a déjà discuté en haut.
Pour la 2eme tache, on va utiliser la cosine similarity, déjà définie en haut.
Pour la 3eme tache, on suppose que le texte t est déjà transformé en un vecteur d’attributs x. On applique maintenant la methode kPPV :
o On calcule les dissimilarités : d(x,xi) xi X
o On trouve les k plus proches voisins de x : les k exemplaires qui correspondent au k plus petites valeurs de dissimilarités. o On prédit y = classe majoritaire entre ces k exemplaires.
Exemple : Voir TD#5