• Aucun résultat trouvé

4.1 Généralités sur les algorithmes génétiques

4.1.1 Codage des individus

4.1.3 Fonction d’aptitude . . . 70

4.1.4 Croisement . . . 70

4.1.5 Mutation . . . 71

4.1.6 Élitisme . . . 72

4.1.7 Probabilités des opérateurs génétiques . . . 73

4.1.8 Mécanisme de sélection . . . 73

4.1.9 Critère d’arrêt . . . 75

4.1.10 Construction d’un AG . . . 75

4.2 Schéma général de double exploration génétique pour la sélection de

gènes . . . 76

4.2.1 Étape 1 : Première exploration génétique . . . 78

4.2.2 Étape 2 : Analyse de la fréquence des gènes . . . 82

4.2.3 Étape 3 : Deuxième exploration génétique . . . 85

4.3 Résultats sur5exécutions . . . 86

4.4 Résultats sur10exécutions . . . 87

4.5 Synthèse du chapitre . . . 89

Chapitre 4. Explorations génétiques pour la sélection de gènes

N

OUSavons vu dans le chapitre précédent que nous pouvions proposer grâce à un

pré-traitement flou une première réduction de la dimensionnalité des données

de puces à ADN. Les ensembles de gènes retenus restent de très grande taille. Par

exemple pour la Leucémie de 7129 gènes originaux nous avons 1360 gènes avec le

pré-traitement flou. Nous présentons maintenant une méthode de sélection pour proposer un

sous-ensemble de gènes de petite taille et qui fournit de bonnes performances en

classifi-cation. Dans ce chapitre nous proposons une méthode évolutionnaire pour réaliser cela.

Nous utilisons une approche de type enveloppe (appelé parfois dans cette thèse

wrap-per) où un algorithme génétique est couplé à un classifieur SVM. L’originalité de notre

méthode est de proposer une double exploration génétique afin d’atteindre le double

ob-jectif de minimiser le nombre de gènes sélectionné tout en maximisant les performances

en classification. Une première exploration génétique de cet espace de recherche est

effec-tuée pour identifier des sous-ensembles de gènes intéressants qui sont sauvegardés dans

des archives. Ensuite une analyse de fréquence de ces archives de gènes de bonne qualité

permet d’identifier un nombre encore plus réduit de gènes intéressants. Finalement une

deuxième exploration génétique est effectuée pour trouver un sous-ensemble de gènes le

plus pertinent et de petit taille.

Dans la section1, nous décrivons les notions de base et les connaissances

prélimi-naires des algorithmes génétiques . Dans la section2, nous donnons une description des

Séparateurs à Vaste Marge (SVM). Dans la section 3, nous détaillons notre modèle de

double exploration génétique en utilisant une méthode d’enveloppe (wrapper) pour la

sélection des sous-ensembles de gènes pertinents. Finalement dans la section4, nous

pré-sentons les expérimentations réalisées et ainsi que les résultats obtenus par notre modèle.

4.1 Généralités sur les algorithmes génétiques

Les Algorithmes Génétiques (AG) sont des méthodes d’optimisation stochastiques

qui ont été initialement développées par [Holland, 1975] et popularisées grâce à l’ouvrage

de [Goldberg, 1989] . Les algorithmes génétiques sont proposés comme des heuristiques

pour résoudre des problèmes complexes. Ils sont basés sur l’analogie avec le mécanisme

Darwinien de la sélection naturelle dans laquelle les individus les mieux adaptés d’une

population ont plus de chances de survivre dans les générations suivantes. Cela se

tra-duit par le fait que les meilleurs individus d’une population doivent se reproduire pour

engendrer de nouveaux individus de plus en plus adaptés. En revanche les individus les

moins adaptés sont condamnés à disparaître.

L’objectif des algorithmes génétiques est de déterminer l’évaluation d’une fonction

objectif (appelée parfois fonction d’évaluation ou fonction d’aptitude)f : X → RoùX

est un ensemble de points qui définissent l’espace de recherche. Un point de cet espace

représente un individu. La fonction objectif alors est définie pour mesurer la performance

de chaque individu.

Les algorithmes génétiques sont normalement utilisés comme une bonne alternative

pour l’optimisation de fonctions. La procédure stochastique utilisée dans un AG repose

sur les points suivants :

4.1 Généralités sur les algorithmes génétiques

– un principe de codage pour chaque individu d’une population,

– une fonction à optimiser,

– un mécanisme de sélection,

– des opérateurs génétiques tels que : le croisement, la mutation ou l’élitisme,

– des paramètres initiaux tels que la taille initiale de la population, le(s) critères(s)

d’arrêt, et la probabilité d’application des opérateurs génétiques.

Un AG est défini par une population initiale qui au cours de son évolution tend à

converger, c’est-à-dire que les individus les plus forts tendent à se ressembler de plus

en plus entre eux. Dans ce cas, nous avons une population dominée en grande partie

par des individus les plus forts qui sont capables de fournir une bonne approximation

de la solution du problème à résoudre. Bien entendu, l’approximation optimale fournie

peut être locale ou globale (voir Figure 4.1) car la nature des algorithmes génétiques est

stochastique.

Fonction objectif Optima locaux Optimum global Nombre de générations Fonction objectif Optima locaux Optimum global Nombre de générations Fonction objectif Optima locaux Optimum global Nombre de générations

Figure 4.1 – Optima locaux et optimum global.

Dans ce qui suit nous donnons une description de chacun des éléments d’un AG.

4.1.1 Codage des individus

La première étape pour construire un AG est de choisir la représentation génétique

la plus appropriée pour coder le domaine du problème à résoudre, c’est-à-dire associer

à chacun des points de l’espace de recherche une structure contenant l’information du

problème. Étant donné la grande diversité des problèmes, le codage est une opération

délicate, car la solution du problème dépend fortement du codage des individus. Il existe

deux types de codages [Goldberg, 1989] : le codage binaire et le codage symbolique.

Le codage binaire est la manière la plus connue pour représenter un individu. Un des

avantages de cette méthode est que l’on peut représenter tout type d’information sous

forme binaire.

Chapitre 4. Explorations génétiques pour la sélection de gènes

Le codage symbolique est utilisé lorsque l’on garde le problème dans sa

représen-tation naturelle, c’est-à-dire un nombre réel reste réel et un nombre entier reste entier.

L’avantage est la transparence du codage de la variable du problème pour l’espace de

recherche, car il est le même que l’espace du problème. L’inconvénient est

l’impossibi-lité d’utiliser les opérateurs génétiques développés pour le codage binaire, mais il y des

opérateurs spécialisés pour ce type de codage.

Notons qu’il est aussi possible d’utiliser d’autres formes de codage telles que le

co-dage réel et le coco-dage de Gray [Mitchell, 1999; Haupt et Haupt, 2004]. Dans la suite de ce

chapitre nous utilisons uniquement le codage binaire.