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érationsFigure 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.
Dans le document
Logique floue et algorithmes génétiques pour le pré-traitement de données de biopuces et la sélection de gènes
(Page 82-85)