• Aucun résultat trouvé

Traitement Numérique des Données

N/A
N/A
Protected

Academic year: 2022

Partager "Traitement Numérique des Données"

Copied!
25
0
0

Texte intégral

(1)

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

(2)

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=0n

w

i

ϕ

i

(x) ψ ( x,w ) = f(w

T

ϕ)

1

w0

w1

wn

ϕ

1

ϕ

2

ϕ

n

f(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) )

(3)

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

= { xR : ψ (x,w) = 1 } ω

2

= { xR : ψ (x,w) = −1 }

Perceptron

Cas de deux classes

w

T

ϕ

k

> 0 pour x

k

∈ ω

1

w

T

ϕ

k

< 0 pour x

k

∈ ω

2

%

&

'

( ' ∀ x

k

, w

T

( ϕ

k

y

k

) > 0

w

D(w)= 1 wmin

k

(

wTϕkyk

)

2

3

1

2 3

1

w

y

k

= 1 si x

k

∈ ω

1

y

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)

⇔ ⇔

(4)

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

( ϕ

k

y

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

∈ ω

1

y

k

= −1 si x

k

∈ ω

2

%

&

' ( '

w

T

ϕ

k

> 0 pour x

k

∈ ω

1

w

T

ϕ

k

< 0 pour x

k

∈ ω

2

%

&

'

( ' ∀ x

k

, w

T

( ϕ

k

y

k

) > 0

C

Perceptronk

(w) = − w

T

( ϕ

k

y

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 = −ϕ

k

y

k

w (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)

)

(5)

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

k

x

k

w(t + 1) = w(t) + ε (t) ϕ

k

y

k

Algorithme d apprentissage : cas de 2 classes

ϕ

k=

(

1,

ϕ

1(xk),

ϕ

2(xk),K,

ϕ

n(xk)

)

y

k

f w (

T

ϕ

k

) = y

k

f w (

T

ϕ

k

) y

k

w0(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

0

x

1

x

2

y

x

1

x

2

x

3

x

4

D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) ,..., ( x N , y N ) }

ψ ( x,w ) = x

1

x

2

w

i

ϕ

i i=0

n

(x)

1

w

0

w

1

w

2

ϕ

1

( ) x

k

= x

1

k

x k

x2

x1

ϕ

2

( ) x

k

= x

2 k

(6)

Digital Data Processing – Traitement Numérique des Données 11 © Y. Bennani

M i 2

Perceptron

Cas de M classes : ω

1

, ω

2

, …, ω

M

X

j=0nwijϕj(x)

ψ ( x,w )

1

wi0

wi1

win

ϕ

1

ϕ

2

ϕ

n

1

Max

M

wpjϕj j=0

n

(x)

w2jϕj j=0 n

(x)

w1jϕj j=0

n

(x)

ψ ( x, w ) = ω

i

siji, w

iT

ϕ > w

Tj

ϕ oùϕ = ( 1,ϕ

1

( ) x

2

( ) x , K ,ϕ

n

( ) x )

ou ψ ( x,w ) = ω

i

siji, w

i k

ϕ

k

> w

j k

ϕ

k

k=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

k

x

k

w

i

(t + 1) = w

i

(t) + ε( t)ϕ

k

Algorithme d apprentissage : cas de M classes

ω

i

w

j

(t + 1) = w

j

(t) − ε (t) ϕ

k

ψ ( x

k

,w )

ω

j

= ω

i

ω

j

≠ ω

i

w

l

( t + 1) = w

l

(t) ∀ li et lj

(7)

Digital Data Processing – Traitement Numérique des Données 13 © Y. Bennani

Perceptron Multi-Couche (PMC)

Multi-Layer Perceptron (MLP)

x

0

x

1

x

n

M

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 ky 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)

iE, Amont(i) = ∅

iS, 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) = ∅

(8)

Digital Data Processing – Traitement Numérique des Données 15 © Y. Bennani

Perceptron Multi-Couche (PMC)

Multi-Layer Perceptron (MLP)

x

1

x

n

M

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

i

i∈Amont(

j)

z

j

= ƒ ( ) a

j

y ˆ

k

= ƒ ( ) a

k

a

k

= w

0k(2)

+ w

jk(2)

z

j

jAmont(k)

y ˆ

k

= ƒ w

0k(2)

+ w

jk(2)

ƒ w

0(1)j

+ w

ij(1)

x

i

i∈Amont(j) n

# ∑

$

% &

' (

j∈Amont(k)

#

$

% &

' ( x

0

x

1

x

n

M

x y ˆ

y

Sortie désirée

Sortie calculée

L'activation de la j

ème

cellule cachée est :

La sortie de cette i

ème

cellule 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ème

unité 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ème

sortie du réseau l'expression suivante :

(9)

Digital Data Processing – Traitement Numérique des Données 17 © Y. Bennani

Perceptron Multi-Couche (PMC)

Types de fonction ƒ

ƒ ( ) x = tanh( x) = e xe 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égions

convexes

Hyperplans Régions arbitraires

(10)

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

)

2

k=1 N

C

multiple−logistic

(w) = y

pk

log y

pk

y ˆ

pk

+ ( 1 − y

pk

) log 1 y

p

k

1 − y ˆ

pk

"

# $

%

&

p=1

'

n k=1

N

C

log−likelihood

(w) = y

k

log y

k

p

k

k=1 N

avec p

k

= e

ˆ y k

e

y ˆ j

j

C

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

)

T

k=1 N

Perceptron Multi-Couche (PMC)

Règles dadaptation

C

e

(w) = 1 2N

i=1

n

∑ ( y

ik

y ˆ

ik

)

2

k=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) δ

i

k

x

j

C

ek

(w) = 1

2 ( y

ik

y ˆ

ik

)

2

i=1 n

δ

ik

= f " (a

i

) ˆ ( y

ik

y

ik

) si i S

δ

ik

= f " (a

i

) w

hi

δ

hk

h∈Aval(

i)

si i S

' ( )

* )

(11)

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

)

2

i=1 n

C

ek

(w)

w

ij

= ∂ C

ek

(w)

x

i

x

i

a

i

a

i

w

ij

si iS A

i

= − ( y

ik

y ˆ

ik

)

δ

i

k

= ∂ C

ek

(w)

a

i

= A

i

B

i

= A

i

f a # ( )

i

x

j

= f a ( )

j

si iS A

i

= A

h

B

h

D

hi

h∈Aval(i)

= A

h

f a $ ( )

h

w

hi h∈Aval(i

)

= δ

h k

w

hi

h∈Aval(i

)

a

j

= w

0(1)j

+ w

ij(1)

x

i

i∈Amont(

j)

A

i

B

i

= f a ! ( )

i

C

i j

= x

j

A

i

= A

h

B

h

∂a

h

x

i

h∈Aval(i)

D

hi

= w

h i

Rétro-propagation du gradient

yi=f a

( )

i

ai= 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

δ

i

k=f a"

( )

i whi

δ

h

k h∈Aval(i)

Propagation

Rétro-Propagation

M

(12)

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

i

Algorithme d ’apprentissage

δ

i

k

= f " (a

i

) ˆ ( y

ik

y

ik

) si i S

δ

i

k

= f " (a

i

) w

hi

δ

h k

h∈Aval(i)

si i S

' ( )

* )

a

j

= w

0j

+ w

ij

x

i

i∈Amont(j)

w

ij

(t +1) = w

ij

(t) −ε (t)δ

i k

x

j

Exemple 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

2

x2

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

(13)

Digital Data Processing – Traitement Numérique des Données 25 © Y. Bennani

Exemple de PMC (MLP)

Liens avec lanalyse 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

1

x

n

M M M M

(14)

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

( )

2

Les 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 ?

(15)

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

(16)

Digital Data Processing – Traitement Numérique des Données 31 © Y. Bennani

Principe

Exemple

(17)

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 dune 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

(18)

Digital Data Processing – Traitement Numérique des Données 35 © Y. Bennani

Construction récursive dun 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

L

et X

R

Construire-arbre(X

L

) Construire-arbre(X

R

) Fin si

Choix dune 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

2

1 p

k

(t)

"

# $ %

&

'

k=1 c

= p

k

(t)log

2

k=1 c

∑ ( p

k

(t) )

i(t) = 1 − p

2k

(t)

k=1 c

(19)

Digital Data Processing – Traitement Numérique des Données 37 © Y. Bennani

Utilisation pour le choix dune 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

L

i(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

l

i(t

l

)

l=1 K

Δi

k

(s) = Δi(s)

p

l

log

2

( ) p

l

l=1 K

(20)

Digital Data Processing – Traitement Numérique des Données 39 © Y. Bennani

Algorithme dinduction

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

(21)

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

(22)

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 ?

(23)

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 :

(24)

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

(25)

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 

sélection de variables

w  Très utilisés en fouille de données (recherche d’informations dans de grandes bases de données hétérogènes)

w  Variante : arbres multivariés, potentiellement plus performants, au détriment de l’intelligibilité de la solution.

Exercice

Déterminez l'arbre de décision des exemples ci dessous. Vous détaillerez à

chaque fois le calcul de l'entropie et du gain.

Références

Documents relatifs

Les éléments de réponse vont servir à résoudre des problèmes de recherche d’information, de classification, de recommandation, et d’ingénierie des connaissances (représentation

De façon analogue, si l'on compte les fréquences d'apparition des fonctions contenues dans la base de connaissances d'origine, cette étude montre que certaines fonctions sont

•  Schalkoff, R., Pattern recognition: Statistical, structural and neural approaches, Wiley, 1992.. • 

trouver les 2 plus proches projections (une de chaque coté)de la projection du point test. Étape

•  Méthodes Stochastiques comparent un échantillon avec un modèle, prenant en compte plus de variabilité. •  La distance est remplacée par des probabilités calculées

•Extraction des caractéristiques de l’image : couleur, texture, forme, contraintes spatiales, régions.. Recherche d’images basée sur

codeLivre , codeExemplaire clé primaire composée de la table EXEMPLAIRES codeLivre clé étrangère de la table EXEMPLAIRES qui référence codeLivre de la table LIVRES.

Les vues peuvent être utilisées comme des tables dans des requêtes. On les appelle aussi des