• Aucun résultat trouvé

Adaptation de la méthode Self Organizing Maps pour données temporelles

4.2 Méthode Self Organizing Maps

4.2.2 Adaptation de la méthode Self Organizing Maps pour données temporelles

d’expression de gènes 125

1. nombre de neurones dans la grille : comme il s’agit d’une méthode de classification non su- pervisée, le nombre de clusters est supposé inconnu,

2. initialisation des vecteurs poids : une bonne initialisation permet à l’algorithme de converger plus vite vers la meilleure solution. Trois types d’initialisation sont, en général, utilisés : – initialisation aléatoire : les vecteurs poids initiaux sont des valeurs prises aléatoirement

entre le minimum et le maximum des valeurs des vecteurs dans l’espace des données, – initialisation aléatoire sur les gènes : les vecteurs poids sont des gènes pris aléatoirement

dans l’ensemble des données,

– initialisation issue de l’ACP : les vecteurs initiaux sont des vecteurs propres associés aux plus grandes valeurs propres de l’ensemble des données.

3. Choix de la mesure de similarité : choix important suivant le problème que l’on traite. En général, la norme euclidienne k.k2 est utilisée.

4. Noyau de voisinage : à modifier suivant les données à traiter.

4.2.2 Adaptation de la méthode Self Organizing Maps pour données tempo- relles d’expression de gènes

Dans la suite, chaque problème lié aux cartes de Kohonen recensé dans la section précédente est abordé et adapté à la classification de profils temporels d’expression de gènes.

Dimension de la grille

Nous disposons de données répétées et dépendante du temps : X = {x1, .., xN} ∈ Rp. Le but est

de définir le nombre de profils différents et de regrouper les gènes correspondants à chaque profil. Tous les profils possibles peuvent être recensés en utilisant un système ternaire c’est-à-dire un système de numération de la base 3 :

– soit l’expression du gène xi est constant entre deux instants (invariance),

– soit l’expression du gène xi augmente entre deux instants (répression),

– soit l’expression du gène xi diminue entre deux instants (inhibition).

Le nombre d’unités K de la grille de neurones est de 3p−1et les dimensions de la grille sont [3 3p−2]. La structure de la grille peut être rectangulaire ou hexagonale.

Initialisation par balayage de profils

Le nombre de neurones correspond au nombre de combinaisons possibles de profils. Ainsi les vecteurs poids initiaux associés aux neurones doivent balayer toutes les combinaisons de profils. De plus, cette initialisation doit prendre en compte des informations sur les données à savoir moyenne et écart-type de manière à converger plus vite et donc diminuer le temps de calcul.

Pour chaque vecteur poids, la valeur à l’instant t0 est égale à la moyenne des données à t0. Ensuite, une amplitude adaptée au jeu de données, à savoir l’écart-type entre deux instants consécutifs est définie. Pour finir, la conversion en base 3 des chiffres {1, 2.., 3p−1} est utilisée afin de balayer tous les cas. Les divers profils sont ainsi balayés et adaptés à notre jeu de données. L’avantage est donc un gain en terme de temps de calcul et de coût numérique : le calcul de la matrice de variance-covariance et l’extraction des p vecteurs propres sont évités.

126 Extraction de connaissances appliquée à la biologie et l’imagerie médicale

(a) Par ACP (b) Par balayage de profils

Figure 4.3 – Initialisations de la méthode SOM (t en abscisse, niveau d’expression en ordonnée)

Mesure de similarité

Concernant notre problématique, l’utilisation d’une norme (l1, l2, l∞)) ne permet pas de distin-

guer certains types de profils : le fait de sommer (ou de prendre le maximum pour l∞)les amplitudes

entre le vecteur de données et le vecteur poids sur tous les instants peut aboutir à une confusion des profils comme le montre la figure 4.4 :

Figure 4.4 – Exemple de profils temporels différents mais de même norme (t en abscisse, niveau d’expression en ordonnée)

Dans le cadre de profil temporel, la corrélation entre deux vecteurs x et y est plus adéquate comme mesure de similarité :

corr(x, y) = x

Ty

kxkkyk = cos(θ),

où θ est l’angle formé par les vecteurs x et y. Plus cos(θ) est proche de 1, plus les vecteurs x et y sont colinéaires et décrivent le même profil.

A chaque vecteur de données xj ∈ Rp,j = 1, .., N , on associe p − 1 vecteurs de R2 définis par :

Xij = [ti+1− ti, xi+1j − xij]T, ∀i ∈ {1..p − 1}.

De même, on associe à chaque vecteur poids mk∈ Rp, k ∈ {1, .., 3p−1}, p − 1 vecteurs de R2 définis

par : mik = [ti+1− ti, mi+1k − mik]T, ∀i ∈ {1..p − 1}.

4.2.2 Adaptation de la méthode Self Organizing Maps pour données temporelles d’expression de gènes 127 la relation suivante : corr(xj, mi) = p−1 X i=1 (Xij|Mk i) kXijkkMk ik . Donc le BMU, noté c, est défini par :

s(xj, mc) = max

k corr(xj, mk) = mink −corr(xj, mk). (4.2)

L’avantage de cette mesure de similarité est l’incorporation de l’information temporelle dans la méthode de classification.

Mise à jour des vecteurs poids

Dans le cadre de notre problématique, on dispose d’un ensemble de données conséquent par rapport au nombre de profils (N >> p). Par conséquent, plusieurs centaines voire milliers de gènes seront associés à un neurone (N >> K). Cela implique un réajustement de la fonction d’apprentis- sage α lors de la mise à jour des vecteurs poids. Le poids associé à la différence d’amplitude entre le vecteur de données et le vecteur poids le plus semblable doit être adapté aux données. Le rayon initial est, par conséquent, défini en fonction du nombre de données N , du nombre de neurones dans la grille K et de l’écart-type des données noté σ :

α(0) = σ K N .

Dans le cadre de l’étude, K = 3p−1où p est le nombre d’instants considérés.

L’algorithme adapté aux profils temporels d’expression de gène est décrit ci-dessous. Algorithm 5 Algorithme SOM adapté à des données temporelles

1. t=1,

2. arrêt=faux,

3. Pour tout i = 1, .., K initialisation des vecteurs poids par balayage des profils. 4. Répéter

(a) Pour tout j = 1, .., N , identifier le vecteur poids mcle plus semblable à xj, vérifiant :

s(xj, mc) = min

k −corr(xj, mk).

(b) Pour tout j = 1, .., N , pour tout i = 1, .., K, mise à jour du vecteur poids mi :

mi(t + 1) = mi(t) + α(t)h(s(ri, rc), )[xj(t) − mi(t)],

avec α(0) = σK N . (c) faire t=t+1 (d) mise à jour (arrêt)

5. Jusqu’à arrêt=vrai ⇔ t = L et t ≤ tmax

Remarque 4.1. Ce cas d’étude peut s’avérer complexe si le nombre d’instants augmente. En effet, l’initialisation et le nombre de noeuds du maillage augmentent en puissance de 3 à mesure qu’on ajoute des instants.

128 Extraction de connaissances appliquée à la biologie et l’imagerie médicale