• Aucun résultat trouvé

symboliques

Dans ce chapitre, nous proposons deux approches pour cr´eer une carte auto-or-ganisatrice pour des donn´ees symboliques mixtes. Dans la premi`ere approche, nous proc´edons `a une homog´en´eisation des donn´ees en premi`ere ´etape o`u toutes les va-riables sont transform´ees en vava-riables de type histogramme. L’ensemble de donn´ees ainsi obtenu est utilis´e en deuxi`eme ´etape pour entraˆıner une carte auto-organisa-trice en mode diff´er´e en utilisant la distance euclidienne pour la recherche du neurone vainqueur. La deuxi`eme approche consiste `a entraˆıner une carte auto-organisatrice en se basant sur l’algorithme DissSOM d´ecrit dans la sous-section 2.4.3. Cette m´e-thode consiste `a pr´esenter une matrice de dissimilarit´es ou de distances `a la carte en vue de l’entraˆıner en mode diff´er´e. La distance propos´ee par Ichino et Yaguchi (voir sous-section 2.3.2, p.55) est utilis´ee pour construire la matrice des distances.

2.5.1 1

`ere

approche : Carte auto-organisatrice pour des

don-n´ees homog´en´eis´ees

Nous d´etaillons par la suite la technique d’homog´en´eisation des donn´ees, comme nous pr´esentons l’algorithme d’apprentissage de la carte en utilisant les donn´ees transform´ees.

Homog´en´eisation des donn´ees symboliques mixtes

Nous adoptons la technique propos´ee par De Carvalho (1995) permettant de convertir des variables multivalu´ees et des variables de type intervalle en des variables de type histogramme ou modales dans le but de produire un ensemble de donn´ees

homog`enes.

Transformation des variables multivalu´ees. Supposons que la variable Yj est une variable multivalu´ee ayant pour domaine Uj ={f1j, . . . , fZjj} telle que Xij ⊂ Uj. Yj est transform´ee en une variable de type histogramme Hj telle que Hj(i) = Uj; πj(i) o`u πj(i) = π1j(i), πj2(i), . . . , πZjj(i)T est le vecteur des fr´equences re-latives calcul´ees de la fa¸con suivante :

πzj(i) =    1 Xji si fj z ∈ Xij 0 if fj z ∈ X/ ij (2.7) o`u z ∈ {1, . . . , Zj} et Xij est le cardinal de l’ensemble Xij.

Transformation des variables de type intervalle. Soit Yj une variable de type intervalle telle que Xij = [aji, bji]. Yj est transform´ee en une variable de type histo-gramme cumul´e Hj telle que : Hj(i) = (Uj; πj(i)) o`u Uj = {I1j, . . . , IZjj} est un en-semble d’intervalles ´el´ementaires obtenu en formant une liste tri´ee par ordre croissant de toutes les bornes inf´erieures et sup´erieures de tous les intervalles de cette variable pour toutes les observations. Chaque paire de nombres cons´ecutifs de cette liste tri´ee constituera les bornes d’un intervalle ´el´ementaire. πj(i) = π1j(i), π2j(i), . . . , πZjj(i)T est le vecteur des poids cumulatifs ayant comme support Uj et dont les composantes sont calcul´ees comme suit :

πjz(i) =

z

X

v=1

uv(i)j tel que uv(i)j = L(I

j

v ∩ Xij) L(Xij) o`u z ∈ {1, . . . , Zj} et L(I) la longueur de l’intervalle I.

Exemple d’homog´en´eisation des donn´ees. En appliquant la technique d’ho-mog´en´eisation d´ecrite ci-dessus sur le tableau 2.3, nous obtenons le tableau 2.4 de la page 70 o`u les donn´ees sont d´ecrites par des variables de type histogramme. Pour transformer la variable de type intervalle Y2 en une variable de type histogramme H2, il faut tout d’abord d´eterminer l’ensemble des intervalles ´el´ementaires qui consti-tuent le support des fr´equences cumulatives. La liste tri´ee des bornes inf´erieures et sup´erieures de tous les intervalles de cette variable vaut : {20, 22, 24, 26, 27, 30},

donc les intervalles ´el´ementaires sont : I2 1 = [20, 22[, I2 2 = [22, 24[, I2 3 = [24, 26[, I2 4 = [26, 27[, I2

5 = [27, 30] formant ainsi l’ensemble U2 = {I2 1, I2

2, I2 3, I2

4, I2

5}. Pour la variable modale Y1, le domaine correspondant est l’ensemble U1 = {Espagnol, Fran¸cais, Japonais, Italien} et le vecteur des fr´equences relatives pour la premi`ere observation est π1(1) = (0.4, 0, 0, 0.6)T.

Tableau 2.4 – Tableau de donn´ees symboliques homog`enes.

Cours Nationalit´e (Y1) Age (Yˆ 2)

Programmation Web (U1; π1(1) = (0.4, 0, 0, 0.6)T) (U2; π2(1) = (0, 0.5, 1, 1, 1)T) Cobol (U1; π2(1) = (0, 0.5, 0.167, 0.333)T) (U2; π2(2) = (0, 0, 0.3333, 0.5, 1)T) Java (U1; π3(1) = (0, 0.143, 0.571, 0.286)T) (U2; π2(3) = (0.286, 0.571, 0.857, 1, 1)T)

Algorithme d’apprentissage de la carte auto-organisatrice

Partant d’un ensemble de donn´ees d´ecrites par des variables symboliques mixtes, chaque observation Xi est transform´ee en un vecteur ˜xi dont les composantes sont les fr´equences attribu´ees aux diff´erentes modalit´es lors de la transformation des va-riables symboliques Yj, j ∈ {1, . . . , p} multivalu´ees ou intervalles en des variables de type histogramme Hj, j ∈ {1, . . . , p}. Par la suite, nous utilisons les notations suivantes : – Hj(i) = ˜xji – xji = πj(i) – xjiz = πj z(i) – xji = (xji1, xji2, . . . , xjiZj)T – ˜xji = Uj; xji

Le tableau 2.5 repr´esente l’ensemble de donn´ees homog´en´eis´ees o`u fj z, z ∈ {1, . . . , Zj} est un ´el´ement de l’ensemble constitu´e par le domaine de la variable multivalu´ee Yj, ou un intervalle ´el´ementaire si la variable Yj est de type intervalle.

Tableau 2.5 – Tableau de donn´ees de type histogramme. variables H1 ... Hp modalit´es f1 1 f1 2 ... f1 Z1 ... f1p f2p ... fZp p ˜ x1 x1 11 x1 12 ... x1 1Z1 ... xp11 xp12 ... xp1Z p ˜ x2 x1 21 x1 22 ... x1 2Z1 ... xp21 xp22 ... xp2Z p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ˜ xn x1 n1 x1 n2 ... x1 nZ1 ... xpn1 xpn2 ... xpnZ p

Supposons que nous voulions cr´eer une carte auto-organisatrice compos´ee de K neurones pour classifier l’ensemble de donn´ees ˜xi, i∈ {1, . . . , n}. Le prototype gk

de chaque neurone k est aussi repr´esent´e par un vecteur de donn´ees d´ecrites par des variables histogrammes, le j`eme

histogramme du neurone k est not´e gjk = (Uj; wjk) (Uj ´etant le domaine de la variable Hj), et wjk= (wjk1, . . . , wkZj j)T.

Chaque it´eration de l’algorithme d’apprentissage en mode diff´er´e consiste `a pr´esenter tout l’ensemble de donn´ees au r´eseau, `a d´eterminer le neurone vainqueur de chaque observation, pour ensuite mettre `a jour les vecteur prototypes de l’ensemble des neurones.

D´etermination du neurone vainqueur. Le neurone vainqueur d’un vecteur de donn´ees ˜xi est le neurone dont le vecteur prototype gci est le plus proche de ˜xi au terme du carr´e de la distance euclidienne :

d22(˜xi, gci) = min |{z} k=1,...,K d22(˜xi, gk) d22(˜xi, gci) = min |{z} k=1,...,K p X j=1 Zj X z=1 (xjiz − wkzj )2

Mise `a jour des vecteurs prototypes. La distance euclidienne ´etant utilis´ee pour la recherche du neurone vainqueur, chaque vecteur prototype vaut la moyenne pond´er´ee des observations qui appartiennent `a sa r´egion de Vorono¨ı ( les poids ´etant les valeurs de la fonction de voisinage). Donc, la mise `a jour des vecteurs prototypes se fait de la mani`ere suivante :

wkzj (t + 1) = Pn i=1hkci(t)xjiz Pn i=1hkci(t) o`u k ∈ {1, . . . , K}, j ∈ {1, . . . , p}, z ∈ {1, . . . , Zj} et hkci(t) est la fonction de voisinage gaussienne (voir ´equation (1.19), p.27).

`

A la fin de l’algorithme, les donn´ees seront classifi´ees en K classes. Chaque classe k contiendra toutes les observations ayant le neurone k comme neurone vain-queur. Outre cette tˆache de classification, le fait d’utiliser les valeurs de la fonction de voisinage comme poids dans la formule de mise `a jour des vecteurs prototypes, garantit la pr´eservation de la topologie. L’algorithme 2.7 pr´esente les ´etapes de cette m´ethode.

Algorithme 2.7 Apprentissage en mode diff´er´e des cartes auto-organisatrices pour des donn´ees symboliques homog´en´eis´ees.

Entr´ees : Fournir :

– Xi { Les observations d´ecrites par des variables symboliques mixtes} – lig, col { Nombre de lignes et de colonnes de la carte K = lig · col} – T { Nombre total d’it´erations}

– σinit, σf inal { Valeurs initiale et finale du rayon de voisinage} Sorties : R´ecup´erer :

– gk(T ), k∈ {1, . . . , K} { les vecteurs prototypes auto-organis´es} – PT ← {C1, . . . , CK} { La partition finale.}

Homog´en´eisation des donn´ees : Pour i = 1→ n Faire

Transformer Xi en vecteur d’histogrammes ˜xi (voir sous-section 2.5.1, p.68) Fin pour

Initialisation :

t← 0 { t : It´eration courante}

Initialiser les vecteurs prototypes gk(0), k ∈ {1, . . . , K} Apprentissage :

R´ep´eter

σ(t)← σinit+Ttf inal− σinit)

Calculer les neurones vainqueurs des observations - g´en´eration de la partition Pt :

d2 2(˜xi, gci)← min|{z} k=1,...,K Pp j=1 PZj z=1(xjiz − wkzj )2

Cci ← ˜xi { Affecter l’individu ˜xi `a la classe Cci} Fin pour

Calculer les valeurs de la fonction de voisinage : Pour i = 1→ n Faire Pour k = 1→ K Faire hkci(t)← expkrci−rkk2 2σ2(t)  Fin pour Fin pour

Mettre `a jour des vecteurs prototypes gk(t) : Pour k = 1→ K Faire Pour j = 1→ p Faire Pour z = 1→ Zj Faire wjkz(t + 1)← Pn i=1hkci(t)xjiz Pn i=1hkci(t) Fin pour Fin pour Fin pour t← t + 1 Jusqu’`a t > T Retourner gk(T ), k ∈ {1, . . . , K} et PT ={C1, . . . , CK} Visualisation de la carte

Pour les ensembles de donn´ees de grande dimension et dans le but de pouvoir visualiser la carte, nous proposons de projeter les vecteurs de donn´ees et les proto-types des neurones dans un espace bidimensionnel en utilisant la technique mise en place par Makosso K. (2010) qui consiste `a transformer les histogrammes en inter-valles, pour ensuite pouvoir appliquer l’analyse en composantes principales pour les donn´ees de type intervalle (Cazes et al., 1997) (voir annexe B, p.189). Pour chaque histogramme ˜xji = (Uj; xji), un score lj

z est affect´e `a chaque modalit´e fj

z qui est le rang de cette derni`ere dans son ensemble. Par exemple, f1j a un score 1, f2j a un score 2 et fZjj a un score Zj. La moyenne mji de chaque histogramme est calcul´ee selon :

mji =

Zj

X

z=1

ljzxjiz

Chaque histogramme ˜xji est transform´e en un intervalle [aji, bji] en utilisant l’in´egalit´e de Tchebychev :

Soit X l’ensemble de valeurs form´ees par les composantes du vecteur xji et soit mji la moyenne empirique de X et δijl’´ecart-type empirique de X. Selon Tchebychev :

P (X ∈ [aji = mji − ηδji, bji = mji + ηδij]) > 1− 1 η2

Nous prenons pour η la valeur 2.

2.5.2 2

`eme

approche : Carte auto-organisatrice pour des

don-n´ees mixtes

Cette approche ne requiert aucune transformation de donn´ees. Elle est fon-d´ee sur l’algorithme DissSOM (voir sous-section 2.4.3, p.65), o`u l’entraˆınement de la carte se fait en utilisant les dissimilarit´es, ou les distances entre les donn´ees. La matrice des distances est construite en utilisant la distance de Minkowski g´en´era-lis´ee (voir sous-section 2.3.2, p.55) qui permet de calculer la proximit´e entre deux individus d´ecrits par des variables symboliques mixtes. L’algorithme d’apprentissage que nous proposons est le mˆeme que l’algorithme DissSOM, mais nous supposons qu’un vecteur prototype, ou un individu r´ef´erent, est une observation de l’ensemble Ω (ℓ = 1). Les vecteurs prototypes initiaux sont choisis al´eatoirement dans l’en-semble des observations. L’algorithme d’apprentissage de la carte se r´esume en deux phases : la phase Affectation o`u se fait la recherche du neurone vainqueur de chaque observation, et la phase Repr´esentation dans laquelle se fait le calcul, ou la d´eter-mination des nouveaux vecteurs prototypes. L’algorithme 2.8 d´etaille les ´etapes de la m´ethode propos´ee. `A la fin de l’algorithme, le vecteur prototype de chaque classe est l’observation dont la somme des distances aux autres observations est minimale. Algorithme 2.8 Apprentissage par batch des cartes auto-organisatrices pour des donn´ees symboliques mixtes.

Entr´ees : Fournir :

– lig, col { Dimensions de la carte. K = lig · col} – T { Nombre total d’it´erations}

– σinit, σf inal { Valeurs initiale et finale du rayon de voisinage} Sorties : R´ecup´erer :

– Wk(T ), k ∈ {1, . . . , K} { les vecteurs prototypes auto-organis´es} – PT ← {C1, . . . , CK} { Partition finale}

Initialisation :

Calculer la matrice des distances D Pour i = 1→ n Faire

Pour i = 1 → n Faire

Calculer D(i, i) ← d Xi, Xi′



{ d : distance de Minkowski g´en´eralis´ee (´equation (2.3)}

Fin pour Fin pour

t← 0 { t : It´eration courante}

Choisir les vecteurs prototypes initiaux Wk, k ∈ {1, . . . , K} parmi les observations R´ep´eter

Apprentissage :

σ(t)← σinit+Ttf inal− σinit)

Calculer les neurones vainqueurs des observations, g´en´erer une partition Pt : Pour i = 1→ n Faire

ci = arg minkPKr=1hkr(t)d2 Xi, Wr



Cci ← Xi { Affecter l’individu Xi `a la classe Cci} Fin pour

Calculer les valeurs de la fonction de voisinage hkci(t) Pour i = 1→ n Faire Pour k = 1→ K Faire hkci(t)← expkrci−rkk2 2σ2(t)  Fin pour Fin pour

D´eterminer les vecteurs prototypes Pour k = 1→ K Faire υ ← arg mini′ Pn i=1hkci(t)d2 Xi, Xi  Wk(t + 1)← Xυ Fin pour

t ← t + 1 { It´eration courante} Jusqu’`a t > T

Retourner Wk(T ), k ∈ {1, . . . , K} et PT ={C1, . . . , CK}