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
`ereapproche : 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+Tt(σf 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)← exp−krci−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
`emeapproche : 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+Tt(σf 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)← exp−krci−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}