Digital Data Processing – Traitement Numérique des Données 1 © Y. Bennani
Digital Data Processing
Traitement Numérique des Données
Younès BENNANI Full Professor
Master of Science in Informatics
Specialities
Data Mining, Analytics, and Knowledge Discovery (EID
2) Programming Tools and Safety (PLS)
3 • Classificateurs discriminants
• Approches à base de distance
• Fisher classifier
• Logistic classifier
• Nearest neighbor rule
• Approches minimisant l’erreur
• Perceptron
Digital Data Processing – Traitement Numérique des Données 3 © Y. Bennani
Perceptron
Perceptron
Rosenblatt F., 1957, 1962*
* Rosenblatt F. (1957) : « The perceptron: a perceiving and recognizing automaton », Reports 85-460-1, Cornell Aeronautical Lab., Ithaca, N.Y.
* Rosenblatt F. (1962) : « Principles of Neurodynamics: perceptrons and theory of brain mechanisms », Spartan Books, Washington.
1957, Frank Rosenblatt
Le perceptron ne désigne pas un seul modèle mais regroupe une importante famille d ’algorithmes.
Le perceptron = machine adaptative employée pour résoudre des problèmes de classement (discrimination).
X ψ ( x,w )
Perceptron
Rosenblatt F., 1957, 1962
X ∑
i=0nw
iϕ
i(x) ψ ( x,w ) = f(w
Tϕ)
1
w0w1
wn
ϕ
1ϕ
2ϕ
nf(x)= 1 si x≥0
−1 si x<0
#
$
%
&
%
la rétine
qui reçoit les informations de l'extérieur
la cellule de décision les cellules d'association
chaque cellule possède une fonction
de transition définie sur la rétine : ψ ( x,w ) = f w
0+ w
iϕ
i(x)
i=1 n
$ ∑
%
& '
( ϕ
i( ) x : R → ℜ
R
w
T= ( w
0, w
1,K , w
n)
ϕ = ( 1,ϕ
1(x), ϕ
2(x),K ,ϕ
n(x) )
Digital Data Processing – Traitement Numérique des Données 5 © Y. Bennani
Perceptron
Cas de deux classes
x x x
x x
x x x x
x
o o
o o o
o o o
o o o
x
iω
2ω
1ψ(x,w)=1 ψ(x,w)= -1
€
ψ ( x,w) = f w
0+ w
iϕ
i(x)
i=1 n
% ∑
&
' (
) * =
1 si x ∈ ω
1−1 si x ∈ ω
2. / 0 1 0
Un perceptron peut être vu comme un classificateur à 2 classes :
€
ω
1= { x ∈ R : ψ (x,w) = 1 } ω
2= { x ∈ R : ψ (x,w) = −1 }
Perceptron
Cas de deux classes
€
w
Tϕ
k> 0 pour x
k∈ ω
1w
Tϕ
k< 0 pour x
k∈ ω
2%
&
'
( ' ∀ x
k, w
T( ϕ
ky
k) > 0
w
D(w)= 1 wmin
k
(
wTϕkyk)
2
3
1
2 3
1
w
€
y
k= 1 si x
k∈ ω
1y
k= −1 si x
k∈ ω
2%
&
' ( '
Transformation
Dmax reflète la difficulté du problème :
Si Dmax grand alors le problème est facile Si Dmax < 0 alors pas de solution.
Dmax=max
w D(w)
⇔ ⇔
Digital Data Processing – Traitement Numérique des Données 7 © Y. Bennani
Perceptron
Cas de deux classes
Si l ’on appelle la forme prise en compte à l’itération k,
On définit le carré de l’erreur instantanée associée à la forme par : x
k, y
k( )
L’erreur quadratique globale ou (MSE) est :
x
k, y
k( )
C
Perceptron(w) = 1
N C
Perceptronk( w)
k=1 N
∑ = − w
T( ϕ
ky
k)
k:xkmal classé
{ ∑ }
Il existe plusieurs algorithmes d’apprentissage.
ϕ
k= ( 1, ϕ
1(x
k), ϕ
2(x
k), K , ϕ
n(x
k) )
€
y
k= 1 si x
k∈ ω
1y
k= −1 si x
k∈ ω
2%
&
' ( '
€
w
Tϕ
k> 0 pour x
k∈ ω
1w
Tϕ
k< 0 pour x
k∈ ω
2%
&
'
( ' ∀ x
k, w
T( ϕ
ky
k) > 0
C
Perceptronk(w) = − w
T( ϕ
ky
k)
Perceptron
Cas de deux classes
Critère d'arrêt = taux de classement satisfaisant.
Techniques de descente de gradient (la plus grande pente) : supposons qu ’à l’instant , les poids du Perceptron soient et qu ’on présente la forme , alors les poids seront modifiés par :
∇
w( C
Perceptronk(w) ) = ∂ C
Perceptronk(w)
∂ w = −ϕ
ky
kw (t + 1) = w(t) − ε (t)∇
w( C
Perceptronk(w) )
t
Le pas du gradient Le gradient instantané
w t ( ) x
k, y
k( )
ϕ
k=(
1,ϕ
1(xk),ϕ
2(xk),K,ϕ
n(xk))
Digital Data Processing – Traitement Numérique des Données 9 © Y. Bennani
Perceptron
1- A t=0, tirer au hasard 2- Présenter une forme
3- Calculer la sortie du perceptron et la comparer à
4- Si est bien classé :
Si est mal classé :
Où est le pas du gradient.
5- Répéter de 2 à 4 jusqu’à l’obtention d’une valeur acceptable de l’erreur
w(0) = ( w
0(0), w
1(0), K , w
n(0) )
Tε ( ) t
x
k, y
k( )
f w
0+ ϕ
i(x)
i=1 n
# ∑
$
% &
' = f w (
Tϕ
k)
w(t + 1) = w(t) x
kx
kw(t + 1) = w(t) + ε (t) ϕ
ky
kAlgorithme d ’ apprentissage : cas de 2 classes
ϕ
k=(
1,ϕ
1(xk),ϕ
2(xk),K,ϕ
n(xk))
y
kf w (
Tϕ
k) = y
kf w (
Tϕ
k) ≠ y
kw0(t+1) w1(t+1) M wn(t+1)
!
"
#
# #
$
%
&
&
&
= w0(t) w1(t) M wn(t)
!
"
#
# #
$
%
&
&
&
+ε(t)yk 1
ϕ1(xk)
M
ϕn(xk)
!
"
#
# #
$
%
&
&
&
Exemple de Perceptron
1 1
1 -1
1 1 1
1
-1 1 1
1
-1 -1 -1
1
x
0x
1x
2y
x
1x
2x
3x
4D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) ,..., ( x N , y N ) }
ψ ( x,w ) = x
1∨ x
2w
iϕ
i i=0n
∑ (x)
1
w
0w
1w
2ϕ
1( ) x
k= x
1k
x k
x2
x1
ϕ
2( ) x
k= x
2 kDigital Data Processing – Traitement Numérique des Données 11 © Y. Bennani
M i 2
Perceptron
Cas de M classes : ω
1, ω
2, …, ω
MX ∑
j=0nwijϕj(x)ψ ( x,w )
1
wi0
wi1
win
ϕ
1ϕ
2ϕ
n1
Max
M
wpjϕj j=0
n
∑
(x)w2jϕj j=0 n
∑
(x)w1jϕj j=0
n
∑
(x)€
ψ ( x, w ) = ω
isi ∀ j ≠ i, w
iTϕ > w
Tjϕ oùϕ = ( 1,ϕ
1( ) x ,ϕ
2( ) x , K ,ϕ
n( ) x )
ou ψ ( x,w ) = ω
isi ∀ j ≠ i, w
i kϕ
k> w
j kϕ
kk=1 n
∑
k=1 n
∑
( )
* *
+
*
*
Perceptron multi-classes
1- A t=0, tirer au hasard la matrice des poids 2- Présenter une forme
3- Calculer la sortie du perceptron et la comparer à
4- Si est bien classé :
Si est mal classé :
Où est le pas du gradient.
5- Répéter de 2 à 4 jusqu ’ à l ’ obtention d ’ une valeur acceptable de l’erreur
w(0)
ε ( ) t
€
x
k∈ ω
i€
ψ ( x
k,w ) = ω
j⇔ j = Argmax
l=1...M
w
lTϕ
k( )
w(t + 1) = w(t) x
kx
kw
i(t + 1) = w
i(t) + ε( t)ϕ
kAlgorithme d ’ apprentissage : cas de M classes
€
ω
iw
j(t + 1) = w
j(t) − ε (t) ϕ
kψ ( x
k,w )
€
ω
j= ω
i€
ω
j≠ ω
iw
l( t + 1) = w
l(t) ∀ l ≠ i et l ≠ j
Digital Data Processing – Traitement Numérique des Données 13 © Y. Bennani
Perceptron Multi-Couche (PMC)
Multi-Layer Perceptron (MLP)
x
0x
1x
nM
Architecture :
semblable à celle du Perceptron ou de Madaline + des couches de traitement intermédiaire (couches cachées)
- Couches externes : Entrée (e unités), Sortie (s unités) - Couches internes :
Cachées (c unités)
Notation : < e I c I s > exemple : < 6 I 4 I 2 >
But :
x k → y k
{ } k=1 KN
x y ˆ
y
w (1) w (2)
Entrée Cachée Sortie
Sortie désirée
Sortie calculée
D
N= { (x
1, y
1), (x
2, y
2), K , (x
N, y
N) }
Perceptron Multi-Couche (PMC)
Multi-Layer Perceptron (MLP)
0 1 2 3 4 5
6 7 8 9
10 11 Notations :
: l ’ensemble des unités d ’entrée : l ’ensemble des unités de sortie
: l ’ensemble des unités dont les sorties servent d’entrées à l ’unité
: l ’ensemble des unités qui utilisent comme entrée la sortie de
Par définition, on a :
E S Amont(k)
Aval(k)
∀ i ∈ E, Amont(i) = ∅
∀ i ∈ S, Aval(i) = ∅ k
k
Amont(7) = { 0,1, 2,3, 4, 5 } Aval(7) = { 10,11 }
Amont(2) = ∅ Aval (2) = { 6, 7,8, 9 }
Amont(11) = { 6, 7,8, 9 } Aval (11) = ∅
Digital Data Processing – Traitement Numérique des Données 15 © Y. Bennani
Perceptron Multi-Couche (PMC)
Multi-Layer Perceptron (MLP)
x
1x
nM
Couche D’entrée
Couche cachée
Couche de sortie
M
y
1€ y
p€ M
€
w
(2)p m€
w
(2)p1€
w
10(2)€
w
m n(1)€
w
1 1(1)€
w
10(1)€ z
1€ z
m€ x0=1
€ Z0=1
€ biais
€ biais
M M
M M
Perceptron Multi-Couche (PMC)
Multi-Layer Perceptron (MLP)
a
j= w
0(1)j+ w
ij(1)x
ii∈Amont(
∑
j)z
j= ƒ ( ) a
jy ˆ
k= ƒ ( ) a
ka
k= w
0k(2)+ w
jk(2)z
jj∈Amont(k)
∑
y ˆ
k= ƒ w
0k(2)+ w
jk(2)ƒ w
0(1)j+ w
ij(1)x
ii∈Amont(j) n
# ∑
$
% &
' (
j∈Amont(k)
∑
#
$
% &
' ( x
0x
1x
nM
x y ˆ
y
Sortie désirée
Sortie calculée
L'activation de la j
èmecellule cachée est :
La sortie de cette i
èmecellule cachée s'obtient par une transformation non linéaire de l'activation :
De la même façon, l'activation et la sortie de la k
ièmeunité de sortie peuvent s'obtenir comme suit :
Si on combine le calcul des sorties des cellules cachées et celui
des cellules de sortie on obtient pour la k
ièmesortie du réseau l'expression suivante :
Digital Data Processing – Traitement Numérique des Données 17 © Y. Bennani
Perceptron Multi-Couche (PMC)
Types de fonction ƒ
ƒ ( ) x = tanh( x) = e x − e − x e x + e − x
ƒ ( ) x = 1 1 + e − x ƒ ( ) x = x
1 + x ƒ ( ) x = e x − 1
e x + 1
€
ƒ ( ) x
€
"
ƒ ( ) x
Surfaces de séparation et PMC
Sortie
Entrée
OU
ET
Régionsconvexes
Hyperplans Régions arbitraires
Digital Data Processing – Traitement Numérique des Données 19 © Y. Bennani
Perceptron Multi-Couche (PMC)
Critères d ’ apprentissage
C
mse(w) = 1
2 ( y
k− y ˆ
k)
2k=1 N
∑
C
multiple−logistic(w) = y
pklog y
pky ˆ
pk+ ( 1 − y
pk) log 1 − y
pk
1 − y ˆ
pk"
# $
%
&
p=1
'
n k=1
∑
N
∑
C
log−likelihood(w) = y
klog y
kp
kk=1 N
∑ avec p
k= e
ˆ y k
e
y ˆ j∑
jC
mse−pondéré(w) = ∑
k=1N( ( y
k− y ˆ
k) ∑
−1( y
k− y ˆ
k) )
avec ∑
−1= N 1 ( y
k− y ˆ
k) ( y
k− y ˆ
k)
Tk=1 N
∑
Perceptron Multi-Couche (PMC)
Règles d ’ adaptation
C
e(w) = 1 2N
i=1n
∑ ( y
ik− y ˆ
ik)
2k=1 N
∑
w
ij(t +1) = w
ij(t) − 1
N ε(t ) ∂ C
ek(w)
∂ w
ij(t)
k=1 N
w
ij(t +1) = w
ij(t) − ε (t) ∂ C
ek(w) ∑
∂ w
ij(t) w
ij(t + 1) = w
ij(t) − ε (t) δ
ik
x
jC
ek(w) = 1
2 ( y
ik− y ˆ
ik)
2i=1 n
∑
δ
ik= f " (a
i) ˆ ( y
ik− y
ik) si i ∈ S
δ
ik= f " (a
i) w
hiδ
hkh∈Aval(
∑
i)si i ∉ S
' ( )
* )
Digital Data Processing – Traitement Numérique des Données 21 © Y. Bennani
Rétro-propagation du gradient
C
ek(w) = 1
2 ( y
ik− y ˆ
ik)
2i=1 n
∑ ∂ C
ek(w)
∂ w
ij= ∂ C
ek(w)
∂ x
i∂ x
i∂ a
i∂ a
i∂ w
ijsi i ∈ S A
i= − ( y
ik− y ˆ
ik)
δ
ik
= ∂ C
ek(w)
∂ a
i= A
iB
i= A
if a # ( )
ix
j= f a ( )
jsi i ∉ S A
i= A
hB
hD
hih∈Aval(i)
∑
= A
hf a $ ( )
hw
hi h∈Aval(i∑
)= δ
h kw
hih∈Aval(i
∑
)a
j= w
0(1)j+ w
ij(1)x
ii∈Amont(
∑
j)A
iB
i= f a ! ( )
iC
i j= x
jA
i= A
hB
h∂a
h∂ x
ih∈Aval(i)
∑
D
hi= w
h iRétro-propagation du gradient
yi=f a
( )
iai= wi jxj j∈Amont(i)
∑
x0
wi0
ai yi
x1
xn
M wi1
wi n
∑
δi+1
wi+1i
δi
δk
M wk i
wm i
∑
! f a
( )
iδm
δ
ik=f a"
( )
i whiδ
hk h∈Aval(i)
∑ Propagation
Rétro-Propagation
M
Digital Data Processing – Traitement Numérique des Données 23 © Y. Bennani
1- Tirer au hasard
2- Présentation d’une forme
3- Calcul de l ’ état du réseau par propagation
4- calcul des signaux d ’erreur
5- Adaptation les poids
Où est le pas du gradient.
6- Répéter de 2 à 5 jusqu ’ à l ’ obtention d ’ une valeur acceptable de l’erreur
w
0ε ( ) t
x
k, y
k( )
Perceptron Multi-Couche
x
i= ƒ ( ) a
iAlgorithme d ’apprentissage
δ
ik
= f " (a
i) ˆ ( y
ik− y
ik) si i ∈ S
δ
ik
= f " (a
i) w
hiδ
h kh∈Aval(i)
∑ si i ∉ S
' ( )
* )
a
j= w
0j+ w
ijx
ii∈Amont(j)
∑
w
ij(t +1) = w
ij(t) −ε (t)δ
i kx
jExemple de PMC (MLP)
D = 1 1 1
!
"
# #
$
%
&
& ,−1
!
"
# #
$
%
&
& ; 1 1
−1
!
"
# #
$
%
&
& ,1
!
"
# #
$
%
&
& ; 1
−1 1
!
"
# #
$
%
&
& ,1
!
"
# #
$
%
&
& ; 1
−1
−1
!
"
# #
$
%
&
& ,−1
!
"
# #
$
%
&
&
( )
* + *
, -
* . *
1
1 0.5
1.0
−1.0 1.5
1.0 1.0
1.0 1.0 0.5
x2
x1
ψ ( x,w ) = x
1⊕ x
2x2
x1
x2
x1
1.0 x
1+1.0 x
2+1.5= 0
x
1+ x
2+1.5= 0
1.0 x
1+1.0 x
2+ 0.5= 0
x
1+ x
2+ 0.5= 0
Digital Data Processing – Traitement Numérique des Données 25 © Y. Bennani
Exemple de PMC (MLP)
Liens avec l ’ analyse des données
PMC & AD * : analyse et interprétation dans le cas non-linéaire
1
2 3
5 4 6
7 9 8
0
Couche d'entrée
1 2
3 4
5 6
8 7 9
0
1ère couche cachée
1
2 3 4
5 6
7
8 9
0
2ème couche cachée
1 2 3
4 5 6
7
8 9
0
Couche de sortie
x
1x
nM M M M
Digital Data Processing – Traitement Numérique des Données 27 © Y. Bennani
Exercice à faire
D = 1 1 1
!
"
# #
$
%
&
& , 1
−1
!
"
# $
%
!
"
# #
$
%
&
& ; 1
−1
−1
!
"
# #
$
%
&
& , 1
−1
!
"
# $
%
!
"
# #
$
%
&
& ; 1 1
−1
!
"
# #
$
%
&
& , −1 1
!
"
# $
%
!
"
# #
$
%
&
& ; 1
−1
−1
!
"
# #
$
%
&
& , −1 1
!
"
# $
%
!
"
# #
$
%
&
&
( )
* + *
, -
* . *
1 1
0.5 0.3 0.4 0.1
0.3 0.6
−0.8 0.9 0.2
−0.4
−0.2
−0.7 ƒ ( ) x = e
x−1
e
x+1
!
ƒ ( ) x = 2 e
x
e
x+1
( )
2Les arbres de décision
w Origine : IA (Quinlan, 1983: ID3, C4.5), Statistique (Breiman, 1986 : CART)
w Intérêt en RdF :
n
Applicables à des variables quantitatives et qualitatives
n
Intelligibilité de la procédure de décision (traduction possible sous forme de règles).
n
Rapidité de décision
n
invariance à toute transformation monotone des données
n
sélection de variables
w Problème : apprentissage d ’ un arbre de décision à partir de données ?
Digital Data Processing – Traitement Numérique des Données 29 © Y. Bennani
Exemple
Supposons que j ’ aie à prendre la décision suivante : Vais-je sortir le chien ou non ?
Pour cela j ’ observe les attributs suivants :
■
Quel temps fait-il ? (pluvieux, ensoleillé, couvert)
■
Quelle est la température extérieure ? (valeur numérique)
■
Est-ce que le voisin est parti en week-end avec son chat ? (binaire)
Principe
Digital Data Processing – Traitement Numérique des Données 31 © Y. Bennani
Principe
Exemple
Digital Data Processing – Traitement Numérique des Données 33 © Y. Bennani
Principales questions
1. Définition d ’ une partition à partir d ’ une variable 2. Choix d ’ une variable et d ’ une partition à chaque étape 3. Critère d ’ arrêt ?
4. Réduction (élagage) d ’ un arbre ? 5. Traitement des données manquantes 6. Amélioration des performances
Définition d ’ une partition
w Variable binaire :
w Variable quantitative
w Variable qualitative x à K modalités dans X={x 1 ,…,x K } x=1 ?
o n
x appartient à X ’ inclus dans X ?
o n
x x 1 x k x K
… …
ou
x < s ?
o n
Digital Data Processing – Traitement Numérique des Données 35 © Y. Bennani
Construction récursive d ’ un arbre de décision
Procédure : Construire-arbre(X)
Si Tous les objets de X appartiennent à la même classe
Alors Créer une feuille portant le nom de cette classe Sinon
Choisir le meilleur attribut pour créer un nœud
Le test associé à ce nœud sépare X en deux parties X
Let X
RConstruire-arbre(X
L) Construire-arbre(X
R) Fin si
Choix d ’ une partition
w Principe : partitionner les données en sous-ensembles les plus purs possible en une seule classe.
w Critères d ’ impureté :
n
Taux de mal classés
n
entropie
n
€ critère de Gini i(t) = 1 − max
k
p
k(t) avec p
k(t) = n
k(t) n(t)
€
i(t) = p
k(t)log
21 p
k(t)
"
# $ %
&
'
k=1 c
∑ = − p
k(t)log
2k=1 c
∑ ( p
k(t) )
i(t) = 1 − p
2k(t)
k=1 c
∑
Digital Data Processing – Traitement Numérique des Données 37 © Y. Bennani
Utilisation pour le choix d ’ une partition
t
t L t R
Exemple :
20/30
15/5 5/25 i(t) = - 20/50 log
2(20/50) - 30/50 log
2(30/50) = 0.97 i(t
L) = - 15/20 log
2(15/20) - 5/20 log
2(5/20) = 0.81 i(t
R) = - 5/30 log
2(5/30) - 25/30 log
2(25/30) = 0.65 Δ i(s) = 0.971 - 20/50 x 0.81– 30/50x 0.65 = 0.26 i(t) = - 25/50 log
2(25/50) - 25/50 log
2(25/50) = 1 i(t
L) = - 10/25 log
2(10/25) - 15/25 log
2(15/25) = 0.97 i(t
R) = - 5/25 log
2(5/25) - 20/25 log
2(20/25) = 0.72 Δ i(s) = 1 - 25/50 x 0.97– 25/50 x 0.72 = 0.15
Si i =entropie, Di = quantité d ’ information
• Choisir la partition s qui maximise ∆i(s)
• Maximiser ∆i(s) => minimiser l’impureté du noeud
25/25
10/15 5/20
€
Δi(s) = i(t) − p
Li(t
L) − (1 − p
L)i(t
R)
Généralisation à une partition quelconque
w Problème : influence du nombre de modalités (les variables à grand nombre de modalité (k) induisent une plus grande réduction de l ’ impureté)
w Une solution : « gain ratio impurity »
€
Δi(s) = i(t) − p
li(t
l)
l=1 K
∑
Δi
k(s) = Δi(s)
− p
llog
2( ) p
ll=1 K
∑
Digital Data Processing – Traitement Numérique des Données 39 © Y. Bennani
Algorithme d ’ induction
w Partitionnement d’une feuille :
n
pour chaque variable x j , recherche de la partition optimale s j * telle que D i(s j * ) soit maximum
n
choix de la variable j * telle que
Di(s j* * ) > D i(s j * ), qqsoit j * ≠ j
w Arrêt quand chaque feuille ne contient que les éléments d ’ une seule classe (ou n(t) = n min )
Exemple
1 2 3 x 1
1 3
2
x 2
Digital Data Processing – Traitement Numérique des Données 41 © Y. Bennani
Exemple 1 (1)
1 2 3 x 1
1 3
2 x 2
i(t L ) [n(t L )] i(t R ) [n(t R )] D(i) x 1 <1.5 0 [2] 0.971 [5] 0.292 x 1 < 2.5 0.971 [5] 1 [2] 0.0059 x 2 < 1.5 0.918 [3] 1 [4] 0.0202 x 2 < 2.5 0.918 [6] 0 [1] 0.198
i(t 0 )=0.985
Exemple 1 (2)
1 2 3 x 1
1 3
2 x 2
i(t L ) [n(t L )] i(t R ) [n(t R )] D(i) x 1 < 2.5 0.918 [3] 1 [2] 0.02 x 2 < 1.5 1 [2] 0.918 [3] 0.02
x 2 < 2.5 1 [4] 0 [1] 0.171
Digital Data Processing – Traitement Numérique des Données 43 © Y. Bennani
Exemple 1 (3)
x 1 < 1.5
x 2 < 2.5 1
2/7 5/7
1
1/5
0.5
4/5
1 2 3 x 1
1 3
2 x 2
Exemple 2
Un enfant revient de l ’ école : peut-il aller jouer chez son voisin ou pas ?
Digital Data Processing – Traitement Numérique des Données 45 © Y. Bennani
Exemple 2
DF : devoirs sont-ils Finis ? BH : Maman est-elle de Bonne Humeur ? FB : Est-ce qu’il Fait Beau ? GP : Mon Goûter est-il Pris ?
i(t) = - 5/8 log
2(5/8) - 3/8 log
2(3/8) = 0.95 i(t
L) = - 3/5 log
2(3/5) - 2/5 log
2(2/5) = 0.97 i(t
R) = - 1/3 log
2(1/3) - 2/3 log
2(2/3) = 0.91 Δ i(DF) = 0.95 - 5/8 x 0.97– 3/8 x 0.91 = 0.0032
DF : 5/3
3/2 1/2
i(t) = 1 i(t
L) = 0.81 i(t
R) = 0.81 Δ i(FB) = 0.18
FB : 4/4
3/1 1/3
i(t) = 0.95 i(t
L) = 0.97 i(t
R) = 0.91 Δ i(BH) = 0.0032
BH : 5/3
2/3 2/1
i(t) = 1 i(t
L) = 1 i(t
R) = 1 Δ i(GP) = 0
GP : 4/4
2/2 2/2
On choisit donc pour racine de l’arbre le test : est-ce qu’il fait beau ? Qui maximise le Δi(s)
Exemple 2
La poursuite du procédé conduit finalement à l ’ arbre de
décision suivant :
Digital Data Processing – Traitement Numérique des Données 47 © Y. Bennani
Exemple 3
w Problème : discrimination entre courrier électronique « normal » et spam w 3601 exemples, 57 variables (fréquences relatives de 57 mots ou
caractères de ponctuation dans le message)
Exemple 3 : résultat
CAPAVE = longueur moyenne des mots en majuscules
Digital Data Processing – Traitement Numérique des Données 49 © Y. Bennani
Conclusion
w Avantages des arbres de décision :
n
Applicables à des variables quantitatives et qualitatives
n
Intelligibilité de la procédure de décision (traduction possible sous forme de règles).
n
Rapidité de décision
n
invariance à toute transformation monotone des données
n