You are on page 1of 13

PJE : Analyse de comportements avec Twitter

Classification supervise

Arnaud Liefooghe
arnaud.liefooghe@univ-lille1.fr

Master 1 Informatique PJE2 2012-2013


B. Derbel L. Jourdan A. Liefooghe

Contenu Sources et rfrences


Apprentissage artificiel : Concepts et
algorithmes, A. Cornujols et L. Miclet
Classification supervise
Fouille de donnes, F. Decomit
Classification baysienne
Fouille de donnes, P. Preux
Exemple : Classification de texte
Apprentissage partir d'exemples,
F. Denis et R. Gilleron

Classification supervise
vs. non-supervise
Clustering

Classification Le but est de regrouper des objets similaires


(pas d'attribut particulier)

supervise Fouille supervise


Il existe un attribut particulier : la classe
Le but est de deviner la classe d'un
exemple en ne connaissant que la valeur de
ses autres attributs
Classification supervise
2 types de classifieurs
vs. non-supervise
Clustering Classifieurs qui utilisent directement les
exemples pour prdire la classe dune
On conserve toutes les donnes donne
Fouille supervise Classifieurs pour lesquels on a dabord
On modlise : les donnes servent construit un modle et qui, ensuite, utilisent
construire le modle et sont ce modle pour effectuer leur
(gnralement) oublies ensuite classification/prdiction

Problmes Vocabulaire
Mthode dinduction du classifieur ?
Comment utiliser le classifieur obtenu ?
Comment valuer la qualit du classifieur obtenu : Classification : prvoir une classe discrte
taux derreur (ou de succs) ?
Comment traiter les attributs manquants dans le
jeu dapprentissage ? dans une donne classer ? Prdiction : prvoir une valeur continue
(degr de confiance)
Comment estimer la tolrance au bruit ?
Le bruit concerne ici la valeur des attributs de
lexemple avec lequel on construit le classifieur

Principe Principe
Une instance = une suite de valeurs
dattributs et une classe (a1, a2, ..., an, c) Modle : dcouvrir la structure des
donnes
laide dun ensemble dexemples, on veut
construire un modle des donnes
(classifieur, prdicteur, ...)
Quels sont les attributs importants pour
On demande ce classifieur de trouver la deviner une classe ?
classe de nouveaux exemples
Mode opratoire Schma

Etape 1 : Construction du modle partir Nouvel


exemple 3
Classifieur
3
Classe
de lensemble dapprentissage (training set)
Etape 2 : Evaluation de la qualit/prcision 2
du classifieur
Etape 3 : Utilisation du modle pour la 1
Algo
classification de nouvelles instances Exemples

1 - Construction du 2 - valuation du
modle modle
Chaque instance est suppose appartenir une
classe prdfinie
La classe dune instance est dtermine par Estimer le taux derreur
lattribut classe La classe connue dune instance test est
Lensemble des instances dapprentissage est compare avec le rsultat du modle
utilis dans la construction du modle
Taux derreur = pourcentage de tests
Le modle est reprsent par des rgles de incorrectement classs par le modle
classification, arbres de dcision, formules
mathmatiques, ...

3 - Utilisation du
Domaines dapplication
modle
Dlivrance de crdit
Diagnostic mdical
Classification de nouvelles instances Prdiction du cours dune action
(inconnues)
Optimisation dun envoi de courrier
...
La classification dans le
Apprentissage
processus du data-mining
On manipule :
Collecte, prparation des donnes Des donnes
Donnes dapprentissage Des hypothses
valuation, validation On veut trouver la meilleure hypothse
en fonction des donnes disponibles

Quelques mthodes Quest-ce quun


de classification bon classifieur ?
Arbres de dcision : minimiser lerreur de Intuition : classifieurs binaires discrets
classification
Classification baysienne (classifieur naf, 4 cas
rseaux baysiens) : hypothse la plus Vrai positif : exp. positif class positif
probable
Faux ngatif : exp. positif class ngatif
Rseaux de neurones : minimiser lerreur Vrai ngatif : exp. ngatif class ngatif
quadratique
... Faux positif : exp. positif class ngatif

Matrice de confusion Taux


vrai classe
positif ngatif
class
Proportion de positifs bien classs
positif VP FP tp-rate = VP / P
ngatif FN VN
Proportion de ngatifs mal classs
fp-rate = FP / N
total P N
Figure
1 F B
A = tous ngatifs

C
B = tous positifs
Classification

tp-rate

baysienne
D C = k% positifs

E
D = conservateur

E < alatoire

0
A F = class. idal
0 1
fp-rate

Classification
Principe
baysienne
chaque hypothse :
On doit infrer (deviner) des quantits On associe une probabilit
gouvernes (dcrites) par des probabilits : (probabilit dtre la solution)
on veut se servir de ces probabilits pour
guider linfrence Lobservation dune (ou de plusieurs)
instances peut modifier cette probabilit
Cadre plus gnral que la classification On peut parler de lhypothse la plus
probable, au vu des instances

Classification
Buts (possibles)
baysienne
Approche probabiliste
Formaliser les mthodes et les intuitions
Base sur les probabilits conditionnelles
Prciser la notion de plus probable (et la rgle de Bayes)
Nouveaux algorithmes dapprentissage Connaissances a priori
Analyse dautres algorithmes ne manipulant Prvision du futur partir du pass
pas explicitement des probabilits
Suppose l'indpendance des attributs
Classification
Probabilits
baysienne
Diffrente de lapproche base sur les La probabilit dun vnement A est note P(A)
frquences ! Elle est comprise entre 0 et 1
Frquences : on estime la probabilit La probabilit dun vnement certain vaut 1
d'occurrence dun vnement
La probabilit dun vnement impossible vaut 0
Baysienne : on estime la probabilit
Si A et B sont indpendants
d'occurrence dun vnement sachant
quune hypothse prliminaire est vrifie P(AB)= P(A)+P(B)
(connaissance) P(non A)=1-P(A)

Probabilits Probabilits
conditionnelles conditionnelles
P(A|B) = Probabilit que l'vnement A
survienne si l'vnement B survient

P(A|B) = P(AB) / P(B)


P(AB) = P(A|B)P(B) = P(B|A)P(A)

Exemple Indpendance
99% des sujets atteint dune maladie M sont Deux vnements sont indpendants si la
positifs un test de dpistage connaissance de lun ne modifie pas la
probabilit de lautre
La maladie M touche 10% de la population
Quelle est la fraction de la population des Si A et B sont indpendants, alors :
sujets malades positifs au test de dpistage ? P(A|B) = P(A)

P(M)=0.1 , P(T|M)=0.99 Deux vnements A et B sont indpendants si

P(TM) = P(T|M)P(M) = 0.990.1 = 9.9% P(AB) = P(A)P(B) , P(A), P(B) > 0


Thorme de Bayes Problmatique
On veut calculer, pour chaque classe, la
probabilit pour que ce soit la solution,
P(A|B) = P(AB) / P(B) sachant quon a observ (a1,...,an)
P(AB) = P(B|A)P(A) Garder la meilleure
Rejeter les hypothses de probabilit
Donc, P(A|B) = P(B|A)P(A) / P(B) nulle
Tout garder (traitements ultrieurs)

Classifieur baysien
Problmatique
optimal
Quelle est lhypothse la plus probable, au Classification optimale si les probabilits de
chaque hypothse sont connues
vu de lensemble dapprentissage ?
Pour une instance donne, au vu de Pas souvent le cas :
lensemble dapprentissage, quelle sera la Trop dhypothses, trop de calculs, trop
classification la plus probable de cet destimations
exemple ?
Simplification ?

Application la Application la
classification classification
P(ck|a1,...,an) = P(a1,...,an|ck)P(ck) / P(a1,...,an)
P(ck|a1,...,an) = P(a1,...,an|ck)P(ck) / P(a1,...,an)
P(ck) proportion dinstances de la classe ck

P(a1,...,an) proportion dinstances


P(a1,...,an|ck), P(a1,...,an) et P(ck) peuvent tre dattributs (a1,...,an)
estimes sur les instances de l'ensemble
dapprentissage
P(a1,...,an|ck) nb fois o on rencontre
(a1,...,an) dans les instances de la classe ck
(vraissemblance)
Classification
Quelques observations
baysienne
P(ck|a1,...,an) = P(a1,...,an|ck)P(ck) / P(a1,...,an)
C = (c1,...,ck) ensemble de classes (chacune
P(ck|a1,...,an) crot quand P(ck) crot : plus ck est munie dune probabilit)
probable, plus il y a de chances quelle soit la
classe (a1,...,an) un ensemble dattributs

P(ck|a1,...,an) crot quand P(a1,...,an|ck) crot : si Retourner la classe ayant la probabilit la plus
(a1,...,an) arrive souvent quand ck est la classe, forte aprs lobservation de (a1,...,an)
alors il y a des chances que ck soit la classe
Hypothse Maximale A Posteriori : hMAP
P(ck|a1,...,an) dcrot quand P(a1,...,an) crot : si
hMAP = argmaxckC P(a1,...,an|ck)P(ck)/P(a1,...,an)
(a1,...,an) est courant, il nous apprend peu sur ck

Hypothses MAP, ML Classifieur baysien naf


h MAP = argmaxckC
Appliquer le thorme de Bayes pour
P(a1,...,an|ck)P(ck) / P(a1,...,an) dfinir un algorithme de classification
simple et efficace (en pratique)
P(a ,...,a ) est constant
1 n

h = argmax P(a ,...,a |c )P(c )


MAP ckC 1 n k k
Caractristiques :
Maximum de vraisemblance Classification supervise
h = argmax P(a ,...,a |c )
ML ckC 1 n k
Classes discrtes

Classifieur baysien naf Classifieur baysien naf


On suppose que tous les attributs sont Attribut discret
indpendants (eg. absence dinformation)
P(a |c) = n / n
i ic c
P(a1,...,an|ck) = P(ai|ck)
n = nombre dinstances de la classe c qui
ic
h MAP = argmaxckC P(ai|ck)P(ck) ont comme valeur ai pour lattribut
considr
P(a |c ) estim partir de lensemble
i k
dapprentissage n c = nombre dinstances de la classe c
Classifieur baysien naf Classifieur baysien naf
Attributs binaires : 2n valeurs estimer
Attributs indpendants Soit X = (a ,...,a ) lexemple classer
1 n

Naf : hypothse dindpendance Estimer P(X|c )P(c ) pour chaque classe c


k k k
(jamais vrifie, simplification)
Procdure sub-optimale, mais intrt Affecter X la classe c telle que la
k
probabilit P(X|ck)P(ck) est la plus grande
pratique
Validit ? Robustesse ?

Exemple: contrle fiscal Exemple: contrle fiscal


Faut-il effectuer un contrle fiscal ? classer : X = (sal=35, imp=6%,etu=oui)

Echantillon salaire impts tudiant contrle P(pos|X) ? P(neg|X) ?


< 30 < 20 % oui
30 - 50 < 20 % non
ngatif
positif
Positif : P(sal=30-50|pos)P(imp<20%|pos)
P(etu=oui|pos)P(pos) = (2/311/3) / 3/5 = 0.13
30 - 50 < 20 % oui positif
30 - 50 > 20 % non ngatif Ngatif : P(sal=30-50|neg)P(imp<20%|neg)
> 50 < 20 % non positif P(etu=oui|neg)P(neg) = (1/21/21/2) / 2/5 =
0.05
Contrler ? 35 6% oui ? On effectuera donc un contrle !

Exemple: tennis Exemple: tennis


Ciel, Temprature,Humidit,vent,Jouer?
Soleil,Chaud,Forte,faible,Non
Soleil,Chaud,Forte,Fort,Non
Couvert,Chaud,Forte,faible,Oui
Pluie,Doux,Forte,faible,Oui
Pluie,Frais,Normale,faible,Oui

Pluie,Frais,Normale,Fort,Non
Couvert,Frais,Normale,Fort,Oui Quelle classe attribuer :
Soleil,Doux,Forte,faible,Non (Soleil,Frais,Forte,Fort) ?
Soleil,Frais,Normale,faible,Oui
Pluie,Doux,Normale,faible,Oui
Soleil,Doux,Normale,Fort,Oui
Couvert,Doux,Forte,Fort,Oui
Couvert,Chaud,Normale,faible,Oui
Pluie,Doux,Forte,Fort,Non
Exemple: tennis Exemple: tennis
X = (Soleil,Frais,Forte,Fort)
P(X|oui)P(oui)
oui non
= 2/93/93/93/99/14 P(h) 9/14 5/14 Confiance accorde la classification
= 0.00529
Soleil 2/9
Frais 3/9
3/5
1/5 P(non|X) = 0.02057 / (0.02057+0.00529)
P(X|non)P(non) Forte 3/9
Fort 3/9
4/5
3/5
= 0.795
= 3/51/54/53/55/14
= 0.02057

Qualits du classifieur
Remarques
baysien naf
Prdiction : comparable aux autres algorithmes

Vitesse : linaire en apprentissage, constant en


Pas de construction de modle classification
Pas dexplication Robustesse (bruit) : trs bonne

Efficacit comparable celle dautres Changement dchelle : les exemples ne


algorithmes sont pas en mmoire centrale
(occupation mmoire = nb attributs x nb classes)

Lisibilit : nulle

Aller plus loin... ? Aller plus loin... ?

Deux cas extrmes


Certains attributs sont lis par
Hypothse dindpendance des lintermdiaire de la classe (ou dun autre
attributs : classifieur naf, programmable attribut)
mais approximatif
Fixer un petit nombre de dpendances
Dpendance des attributs deux--deux : entre les attributs
trop complexe
Classification de textes

Algo bas sur le classifieur baysien naf


Classification de texte Simplifications supplmentaires
Modle de donnes modifi
Classification supervise
Mthode efficace, mise en uvre facile

Classification de textes Classification de textes


Les exemples sont des textes, munis dune
classe :
Comment transformer un texte brut en
Lettres : {V. Hugo, Napolon} quel auteur ? schma (attributs,valeurs) ?
AFP{sujets} quel sujet ?
News {Newsgroups} quel groupe ?
Quel sens donner P(c |A), A tant un
k

Mails : {Spam, Non Spam} filtrer texte ?


(certains filtres demails performants)

Reprsentation Premire possibilit


Schma (attributs,valeurs)
Texte : suite de caractres, lettres, chiffres, Un attribut est une position dans le texte
ponctuation, espaces, ...
Valeur de lattribut : le mot prsent en cette
position

Reprsentation pour classification Exemple : il tait une fois ...


baysienne ? Attributs ? a1 a2 a3 a4

P(ck)P(a1=il|ck)P(a2=tait|ck) ...
Premire possibilit Premire possibilit
Remarques Quel sens donner P(ck|A) ? Impossible !

P(a =il|c ) grand quand c = conte


1 k k P(ai=wj|ck)

Hypothse dindpendance trs ai : position dans le texte 100 positions


simplificatrice (voir fausse !) : il tait une wj : mot du texte 20000 mots
fois caractristique des contes
ck : classe 2 classes
Simplification ncessaire 4 millions de probabilits estimer !
Probas sur les mots, pas sur les textes Il faudrait plus de 4 millions de textes !

Deuxime possibilit Deuxime possibilit


La probabilit de rencontrer un mot dans
un texte est indpendante de sa position
P(a =m |c ) = P(m |c ) = n / n
i j k j k jk k

Attribut = mot du vocabulaire n : nombre de fois o le mot m apparat


jk j

Boolen : prsence/absence du mot dans un texte de la classe ck

On ne se proccupe ni de lordre de mots, n k : nombre total de mots des textes de

ni de leur organisation dans le texte, ni de la classe ck


leur nombre doccurrences

Reprsentation Classification de textes


Texte suite de mots sac de mots
Algorithme (apprentissage) :
Abstraction de lordre des mots, de la
Pour chaque classe c , estimer P(c ) = n
k k k /n
syntaxe, et de la smantique des
textes n : nombre de textes de la classe c
k k

n : nombre total de texte


Pour tout mot m , estimer P(m |c )
j j k
Classification de textes Classification de textes
Algorithme (classification) :
D : texte classifier
Pour chaque mot mj de D Complexit : O(n log(n)), avec n nombre de
mots total (recherche dun mot)
P(mj|ck) pour chaque classe ck
Simplifications abusives ?
Pour chaque classe ck

P(ck|D) = jD P(mj|ck)P(ck) Efficace ?


Retourner la classe ck maximisant P(ck|D)

You might also like