Vous êtes sur la page 1sur 31

1

Plan
▪ Définition
▪ Théorème de bayes
▪ Application du théorème de Bayes pour faire la
classification
▪ Gestion de quelques types d’attributs
Technique de classification probabiliste basée sur le théorème de
Bayes
▪ largement utilisé dans la classification des textes
❑ Objectif: Estimer l'étiquette de classe la plus probable pour un
objet donné
❑ Formulation probabiliste de la tâche de classification:
▪ considérer chaque attribut et étiquette de classe comme des
variables aléatoires
▪ Etant donné un objet avec les attributs (𝑥1, 𝑥2, … , 𝑥𝑛)
le but est de trouver la classe C qui maximise la probabilité
conditionnelle : 𝑃(𝐶| 𝑥1, 𝑥2, … , 𝑥𝑛) = 𝑃(𝐶|𝑋)
Exemple: Devrions-nous jouer au golf?
❑ P(jouer = oui | Ciel = pluvieux, température = froide)
❑ P(jouer = non | Ciel = pluvieux, température = froide)

❑Question: Comment estimer ces probabilités compte tenu


des données d'entraînement?
𝑃 𝑋 𝐶 𝑃(𝐶)
𝑃 𝐶𝑋 =
𝑃(𝑋)
Utile dans les situations où P (C | X) est inconnu tandis que P (X | C) , P (X) et
P (C) sont connus ou faciles à estimer.
❑ Probabilité antérieure de l'événement C:
▪ nous jouons au golf dans 70% des cas: P (C) = 0,7
❑ Probabilité postérieure de l'événement C:
▪ il y a du vent et de la pluie P (C) = 0,2
❑ Probabilité d'événement C sachant X:

Probabilité conditionnelle de X
L’enregistrement X

La probabilité à priori
𝑃 𝑋 𝐶 𝑃(𝐶) de la classe C
𝑃 𝐶𝑋 =
La classe C
𝑃(𝑋) La probabilité à priori de X
Probabilité conditionnelle de X
L’enregistrement X

La probabilité à priori
𝑃 𝑋 𝐶 𝑃(𝐶) de la classe C
𝑃 𝐶𝑋 =
La classe C
𝑃(𝑋) La probabilité à priori de X

1. Calculez la probabilité P (C | X) pour toutes les valeurs de C en utilisant le théorème de


Bayes.
▪ P (X) est la même pour toutes les classes. Ainsi, il suffit d'estimer P(C) et P (X | C)
2. Choisissez la valeur de C qui maximise P (C | X).
Ciel Température Humidité Venteux Jouer_Golf
Exemple:
Ensoleillé Chaude Elevée Non Non
Ensoleillé Chaude Elevée Oui Non
𝑃 𝑗𝑜𝑢𝑒𝑟 = 𝑜𝑢𝑖 𝐶𝑖𝑒𝑙 = 𝑝𝑙𝑢𝑣𝑖𝑒𝑢𝑥, 𝑇𝑒𝑚 = 𝑓𝑟𝑜𝑖𝑑𝑒) Nuageux Chaude Elevée Non Oui
𝑃(𝑐𝑖𝑒𝑙 = 𝑝𝑙𝑢𝑣𝑖𝑒𝑢𝑥, 𝑇𝑒𝑚𝑝 = 𝑓𝑟𝑎𝑖𝑐ℎ𝑒 |𝑗𝑜𝑢𝑒𝑟 = 𝑜𝑢𝑖) × 𝑃(𝑗𝑜𝑢𝑒𝑟 = 𝑜𝑢𝑖) Pluvieux Douce Elevée Non Oui
=
𝑃(𝑐𝑖𝑒𝑙 = 𝑝𝑙𝑢𝑣𝑖𝑒𝑢𝑥, 𝑇𝑒𝑚𝑝 = 𝑓𝑟𝑜𝑖𝑑𝑒)
Pluvieux Froide Normale Non Oui
Pluvieux Froide Normale Oui Non
Nuageux Froide Normale Oui Oui
1. Calculez la probabilité P (C | X) pour toutes les
valeurs de C en utilisant le théorème de Bayes. Ensoleillé Douce Elevée Non Non

▪ P (X) est le même pour toutes les classes. Ensoleillé Froide Normale Non Oui
Ainsi, il suffit d'estimer P (C) et P (X | C) Pluvieux Douce Normale Non Uoi
2. Choisissez la valeur de C qui maximise P (C | X). Ensoleillé Douce Normale Oui Oui
Nuageux Douce Elevée Oui Oui
Nuageux Chaude Normale Non Oui
Pluvieux Douce Elevée Oui Non
Données d’entrainement
Ciel Température Humidité Venteux Jouer_Golf

La probabilité a priori P(Cj) pour chaque Ensoleillé Chaude Elevée Non Non

classe Cj est estimée comme suit : Ensoleillé Chaude Elevée Oui Non
1. Compter les enregistrements de la base Nuageux Chaude Elevée Non Oui
de données d’entrainement appartenant Pluvieux Douce Elevée Non Oui
à la classe Cj Pluvieux Froide Normale Non Oui
2. Diviser ce nombre par le nombre total des Pluvieux Froide Normale Oui Non
enregistrements. Nuageux Froide Normale Oui Oui

Ensoleillé Douce Elevée Non Non

Ensoleillé Froide Normale Non Oui

Pluvieux Douce Normale Non Uoi


Exemple: Ensoleillé Douce Normale Oui Oui
✓ P(jouer=Non) = 5/14 Nuageux Douce Elevée Oui Oui
✓ P(jouer=Oui) = 9/14 Nuageux Chaude Normale Non Oui

Pluvieux Douce Elevée Oui Non


Naïve Bayes suppose que tous les attributs sont statistiquement indépendants
▪ connaître la valeur d’un attribut ne dit rien sur la valeur d’un autre
▪ cette hypothèse d'indépendance n'est presque jamais correcte!
▪ mais… ce schéma fonctionne bien dans la pratique
▪ L'hypothèse d'indépendance permet de reformuler la probabilité conjointe 𝑃(𝑋|𝐶𝑗)
comme le produit des probabilités individuelles 𝑃 (𝑥𝑖 | 𝐶𝑗):
𝑛

𝑃 𝑋 𝐶𝑗 = 𝑃 𝑥1 , 𝑥2 , , , , , , 𝑥𝑛 |𝐶𝑗 = ෑ 𝑃 𝑥𝑖 𝐶𝑗 = 𝑃 𝑥1 𝐶𝑗 × 𝑃 𝑥2 𝐶𝑗 ×, , , ,× 𝑃 𝑥𝑛 𝐶𝑗
𝑖=1
𝑃 𝑋 𝐶𝑗 = 𝑃 𝑥1 𝐶𝑗 × 𝑃 𝑥2 𝐶𝑗 ×, , , ,× 𝑃 𝑥𝑛 𝐶𝑗
P(Ciel=pluvieux, Température=froide | jouer=oui) =
P(ciel=pluvieux | jouer=oui) x P(Tmpérature=froide | jouer=oui)

Résultat:
les probabilités 𝑃 (𝑥𝑖 | 𝐶𝑗) pour tous les 𝑥𝑖 et 𝐶𝑗 peuvent être estimées
directement à partir des données d'apprentissage.
Ciel Température Humidité Venteux Jouer_Golf

Ensoleillé Chaude Elevée Non Non

Ensoleillé Chaude Elevée Oui Non

Nuageux Chaude Elevée Non Oui

Pluvieux Douce Elevée Non Oui

Pluvieux Froide Normale Non Oui


Les probabilités P (xi | Cj) sont estimées Pluvieux Froide Normale Oui Non
comme suit : Nuageux Froide Normale Oui Oui
1. compter la fréquence d'apparition d'une Ensoleillé Douce Elevée Non Non
valeur d'attribut avec la classe Cj Ensoleillé Froide Normale Non Oui
2. diviser le nombre par le nombre total Pluvieux Douce Normale Non Uoi
d'enregistrements appartenant à la classe Ensoleillé Douce Normale Oui Oui
Cj Nuageux Douce Elevée Oui Oui

Nuageux Chaude Normale Non Oui


p(Ciel=ensoleillé | jouer=oui)= 2/9
Pluvieux Douce Elevée Oui Non
Ciel Température Humidité venteux jouer
oui Non oui Non oui Non Oui Non Oui Non
Ensoleillé 2 3 Chaude 2 2 Elevée 3 4 Oui 6 2 9 5

Nuageux 4 0 Douce 4 2 normale 6 1 Non 3 3

Pluvieux 3 2 Froide 3 1

Ensoleillé 2/9 3/5 Chaude 2/9 2/5 Elevée 3/9 4/5 Oui 6/9 2/5 9/14 5/14

Nuageux 4/9 0/5 Douce 4/9 2/5 normale 6/9 1/5 Non 3/9 3/5
Pluvieux 3/9 2/5 Froide 3/9 1/5
Ciel Température Humidité Venteux Jouer_Golf

Nuageux Froide Normale Oui Oui


Ciel Température Humidité Venteux Jouer_Golf
Ensoleillé Froide Normale Non Oui
Ensoleillé Chaude Elevée Non Non
Pluvieux Douce Normale Non Oui
Ensoleillé Chaude Elevée Oui Non
Ensoleillé Douce Normale Oui Oui
Pluvieux Froide Normale Oui Non
Nuageux Douce Elevée Oui Oui
Ensoleillé Douce Elevée Non Non
Nuageux Chaude Normale Non Oui
Pluvieux Douce Elevée Oui Non Nuageux Chaude Elevée Non Oui

Pluvieux Douce Elevée Non Oui

p(Ciel=ensoleillé | oui)
Pluvieux Froide Normale Non Oui
Ciel Température Humidité venteux jouer
oui Non oui Non oui Non Oui Non Oui Non

Ensoleillé 2 3 Chaude 2 2 Elevée 3 4 Oui 6 2 9 5

Nuageux 4 0 Douce 4 2 normale 6 1 Non 3 3

Pluvieux 3 2 Froide 3 1

Ensoleillé 2/9 3/5 Chaude 2/9 2/5 Elevée 3/9 4/5 Oui 6/9 2/5 9/14 5/14

Nuageux 4/9 0/5 Douce 4/9 2/5 normale 6/9 1/5 Non 3/9 3/5
Pluvieux 3/9 2/5 Froide 3/9 1/5

p(Ciel=ensoleillé | jouer=oui)= 2/9

p(Ciel=pluvieux | jouer=non)= 2/5

p(temp=froide | jouer=oui)= 3/9

p(temp=chaude | jouer=non)= 2/5


Ciel Temp Humidité Venteux Jouer
Nouveau jour Ensoleillé Froide Elevée Oui

Ciel Température Humidité venteux jouer


oui Non oui Non oui Non Oui Non Oui Non

Ensoleillé 2 3 Chaude 2 2 Elevée 3 4 Oui 6 2 9 5

Nuageux 4 0 Douce 4 2 normale 6 1 Non 3 3

Pluvieux 3 2 Froide 3 1

Ensoleillé 2/9 3/5 Chaude 2/9 2/5 Elevée 3/9 4/5 Oui 6/9 2/5 9/14 5/14

Nuageux 4/9 0/5 Douce 4/9 2/5 normale 6/9 1/5 Non 3/9 3/5
Pluvieux 3/9 2/5 Froide 3/9 1/5

X= (Ciel = Ensoleillé, Temp = Fraiche, humidité = Elevée, venteux = oui)


P(oui | X) =(P(Ciel = ensoleillé | oui ) x P(Temp = Fraiche | oui ) x P(Humidité = Elevée | oui )
x P(venteux = oui | oui) x P(oui))/P(X) 2 3 3 3 9
× × × ×
= 9 9 9 9 14
𝑃(𝑋)
Ciel Temp Humidité Venteux Jouer
Ensoleillé Froide Elevée Oui

Ciel Température Humidité venteux jouer


oui Non oui Non oui Non Oui Non Oui Non

Ensoleillé 2 3 Chaude 2 2 Elevée 3 4 Oui 6 2 9 5

Nuageux 4 0 Douce 4 2 normale 6 1 Non 3 3

Pluvieux 3 2 Froide 3 1

Ensoleillé 2/9 3/5 Chaude 2/9 2/5 Elevée 3/9 4/5 Oui 6/9 2/5 9/14 5/14

Nuageux 4/9 0/5 Douce 4/9 2/5 normale 6/9 1/5 Non 3/9 3/5
Pluvieux 3/9 2/5 Froide 3/9 1/5

X= (Ciel = Ensoleillé, Temp = Fraiche, humidité = Elevée, venteux = oui)

P(Non | X) =(P(Ciel = ensoleillé | Non ) x P(Temp = Fraiche | Non ) x P(Humidité = Elevée | Non
) x P(venteux = oui | Non) x P(Non))/P(X)
3 1 4 3 5
× × × ×
= 5 5 5 5 14
𝑃(𝑋)
Ciel Temp Humidité Venteux Jouer

Ensoleillé Froide Elevée Oui

X= (Ciel = Ensoleillé, Temp = Fraiche, humidité = Elevée, venteux = oui)


0,0053
𝑃(𝑜𝑢𝑖 | 𝑋) =
𝑃(𝑋)
0,0206
𝑃(𝑁𝑜𝑛 | 𝑋) =
𝑃(𝑋)
La vraisemblance des deux classes :
▪ Pour la classe « Oui » : 0,0053
▪ Pour la classe « Non » : 0,0206
Conversion en probabilité par normalisation :
0,0053
▪ Pour la classe « Oui » : P(« Yes »)= 0,0053+0.0206 = 0,205
0,0206
▪ Pour la classe « Non » : P(« Non »)= = 0,795
0,0053+0.0206
Option 1:
Discrétiser les attributs numériques.
• Température = 37° → «Chaude»
• Temp = 21° → «douce»
Option 2:
Supposons que les attributs numériques ont une
distribution normale compte tenu de la classe.
1. On peut utiliser les données d'entraînement pour
estimer les paramètres de la distribution (par exemple,
la moyenne et l’écart-type)
2. Une fois la distribution de probabilité connue,
elle peut être utilisée pour estimer la probabilité
conditionnelle P (xi | Cj)
La densité de probabilité de la distribution normale est :
1 (𝑧−𝜇)2

𝑓 𝑧 = 𝑒 2𝜎2
2𝜋𝜎
Elle est définie par les deux paramètres suivants:
1
✓ La moyenne 𝜇 = 𝑚 σ𝑚 𝑖=1 𝑧𝑖
1 𝑚
✓ L’écart-type 𝜎 = σ 𝑧𝑖 − 𝜇 2
𝑚 𝑖=1
Ces deux paramètres peuvent être estimés à partir des
données d’entrainement.
Exemple :
Ciel Température Humidité venteux jouer
oui Non Oui Non Oui Non Oui Non Oui Non
Ensoleillé 2 3 Oui 6 2 9 5
20,25,17 30, 35, 65, 70, 70, 85,
Nuageux 4 0 ,22,28 40, 29, 70,75, 90,91, 5, Non 3 3
…. 22 … 80, …… …..
Pluvieux 3 2

Ensoleillé 2/9 3/5 𝜇 = 22.4 𝜇 = 31.2 𝜇 = 79 𝜇 = 86 Oui 6/9 2/5 9/14 5/14

Nuageux 4/9 0/5 𝜎 = 4.27 𝜎 = 6.76 𝜎 = 10.2 𝜎 = 9.7 Non 3/9 3/5
Pluvieux 3/9 2/5

1 (20−22,4)2

𝑓 𝑡𝑒𝑚𝑝 = 20|𝑂𝑢𝑖 = 𝑒 2×4,272 = 0,148
2 × 𝜋 × 4,27
Nouveau jour
Ciel Temp Humidité Venteux Jouer

Ensoleillé 20 90 Oui

Vraisemblance de la classe « Oui » = 2/9 x 0,148 x 0.0221 x 3/9 x 9/14 = 0,0001557


Vraisemblance de la classe « Non » = 3/5 x 0,044 x 0.038 x 3/5 x 5/14 = 0,000215

Probabilités :
✓ P(« Oui ») = 0,42
✓ P(« Non »)= 0,58
Note : certains attributs numériques ne sont pas ne suivent pas la distribution
normale et vous devrez choisir une fonction de densité de probabilité différente ou
utiliser la discrétisation.
Classes:
C1: acheter_PC = ‘Oui’
C2: acheter_PC = ‘Non’

Objet à classer :
X = (age <=30, revenue = moyen,
Etudiant = oui, cote_crédit=
bonne)
Classes:
P(Ci): P(C1 = “oui”) = 9/14 = 0.643
P(C2 = “non”) = 5/14= 0.357

Calculer P(X|Ci) pour chaque classe

P(age = “<=30” | C1) = 2/9 = 0.222


P(age = “<= 30” | C2) = 3/5 = 0.6

P(revenue = “moyen” | C1) = 4/9 = 0.444


P(revenue = “moyen” | C2) = 2/5 = 0.4

P(étudiant = “oui” | C1) = 6/9 = 0.667


P(étudiant = “oui” | C2) = 1/5 = 0.2

P(cote_crédit = “bonne” | C1) = 6/9 = 0.667


P(cote_crédit = “bonne” | C2) = 2/5 = 0.4
P(X|Ci) :

▪ P(X|C1) = 0.222 x 0.444 x 0.667 x 0.667 = 0.044


▪ P(X|C2) = 0.6 x 0.4 x 0.2 x 0.4 = 0.019

P(X|Ci)*P(Ci) :

▪ P(X|C1) * P(C1) = 0.028


▪ P(X|C2) * P(C2) = 0.007

Donc, X appartient à la classe C1


(“achter_PC= oui”)
Des valeurs manquantes peuvent survenir lors de la phase
d’apprentissage et dans des nouveaux enregistrements
❑ Pendant l’apprentissage: l'enregistrement n'est pas inclus dans le
calcul des fréquences
❑ Lors de la classification : l'attribut ne sera pas pris en compte lors
des calculs
❑ Lors de la classification : l'attribut ne sera pas pris en compte lors
des calculs
❑ Exemple :
Ciel Temp Humidité Venteux Jouer
? froide Elevée Oui ?

Vraisemblance de la classe “Oui” = 3/9 x 3/9 x 3/9 x 9/14 = 0.0238


Vraisemblance de la classe “Non” = 1/5 x 4/5 x 3/5 x 5/14 = 0.0343

✓ P(“Oui”) = 0.0238 / (0.0238 + 0.0343) = 41%


✓ P(“Non”) = 0.0343 / (0.0238 + 0.0343) = 59%
❑ Que faire si une valeur d'attribut ne se produit pas avec
chaque valeur de classe Ciel
❑ Exemple : Oui Non
“Ciel = Nuageux” pour la classe “Non”) Ensoleillé 2 3
0
P(Ciel=Nuageux | Non) =5 = 0 Nuageux 4 0

La probabilité conditionnelle est nulle! : Pluvieux 3 2


Ensoleillé 2/9 3/5
Problème: la probabilité postérieure sera également nulle!
Peu importe la probabilité des autres valeurs d’attrbuts! ( Nuageux 4/9 0/5

P(Non|X)=0 pluvieux 3/9 2/5


Solution :
ajoutez 1 au nombre d’élements pour chaque attribut Ciel
(Laplace Estimator) Oui Non
Résultat: les probabilités ne seront jamais nulles! Ensoleillé 2 3
Nuageux 4 0
Pluvieux 3 2

𝑁𝑖𝑐 Ensoleillé 3/12 4/8


𝑃 𝑥𝑖 𝐶 = devient :
𝑁𝑐 Nuageux 5/12 1/8
𝑁𝑖𝑐+1
𝑃 𝑥𝑖 𝐶 = où |𝑉𝑖| est le nombre de valeurs de l’attribut xi pluvieux 4/12 3/8
𝑁𝑐+|𝑉𝑖|
Le classeur bayésien naïf fonctionne étonnamment bien pour de nombreuses
tâches de classification
✓ même si l'hypothèse d'indépendance est clairement violée
✓ Pourquoi?
▪ Parce que la classification ne nécessite pas une estimation précise
de la probabilité tant que la probabilité maximale est attribuée à la
classe correcte!
❑ Robuste aux points de bruit isolés car ils seront moyennés

❑ Ajouter trop d'attributs redondants peut poser des problèmes


✓ Solution: sélectionnez un sous-ensemble d'attributs car le classeur
bayésien naïf fonctionne souvent mieux avec seulement un sous
ensemble d’attributs.
❑ Avantages techniques
✓ L'apprentissage n’est pas coûteux en calcul car les probabilités
peuvent être estimées en un seul passage sur les données
d'apprentissage.
✓ Le stockage des probabilités ne nécessite pas beaucoup de mémoire
31

Vous aimerez peut-être aussi