Title: Ingnierie des connaissances:
1Ingénierie des connaissances Algorithmes
Génétiques Jean-Marc Adamo
2Algorithmes Génétiques Principe
2
Les algorithmes génétiques (GAs) sont fondés sur
la simulation des mécanismes de lévolution
Darwinienne.
Dans le domaine de lapprentissage supervisé les
GAs font usage des éléments suivants
- Un espace de recherche ensemble (éventuellement
infini) dobjets - appelés individus,
- Un fichier dapprentissage permettant d'évaluer
la performance de - chaque individu ou ensembles d'individus. Tout
ensemble d'individus - forme une population.
- Une procédure dévolution qui fonctionne de la
manière suivante
tirer population initiale au hasard
k 1
Si critère darrêt non satisfait
- Appliquer des opérateurs d'évolution pour générer
la population suivante - sélection,
- croisement (crossover),
- mutation,
- le croisement de populations ou la contamination
génétique - par migration (sous-populations élevées en
parallèle), - d'autres opérateurs spécifiques (selon
l'application).
k k 1
3Algorithmes Génétiques une procédure prototype
pour fixer les idées
3
Ressources et paramètres ? fonction de
performance (fitness) ?i?population ? ?(i)
?? ou ? population ? ?(population)
?? p taille de la population à toutes les
étapes (taille fixe) r taux de croisement (r
des individus de la population courante sont
impliqués dans un croisement à chaque
étape) et taux de sélection pour report ((1 - r )
des individus sont sélectionnés pour être
reportés dans la nouvelle population) m taux de
mutation (m de la nouvelle population font
l'objet d'une mutation à chaque étape)
4Algorithmes Génétiques construction
4
Travail à faire pour construire un GA
- codage des individus de la population
(représentation formelle),
- définition de la fonction de performance ?,
- définition des fonctions de sélection aléatoires,
- définition des opérateurs d'évolution
- sélection, mutation, croisement, etc
- définition de la valeur des paramètres.
- Le détail de ce travail est particulier à chaque
problème. - Perspective de lexposé
- construction d'un GA pour le problème de
l'apprentissage supervisé.
5Algorithmes Génétiques Apprentissage supervisé
5
Position du problème
- On veut
- construire un système de règles caractérisant
- les objets de chaque classe.
-
- Exemple, pour le problème du classement des
clients d'une banque - entre bons et mauvais clients, on veut
construire - un système de règles caractérisant les bons
clients, et - un système de règles caractérisant les mauvais
clients. - Bien noter que la manière de poser le
problème d'apprentissage supervisé.
6Algorithmes Génétiques Apprentissage supervisé
6
Exemple (fichier dapprentissage)
7Algorithmes Génétiques Apprentissage supervisé
7
Construction du GA
- population "élevée" par l'algorithme génétique
ensemble de systèmes de règles,
- individu de la population un système de règles,
- construire le GA consiste à
- définir la syntaxe des règles, des systèmes de
règles - définir un codage pour les règles et systèmes de
règles , - définir la fonction de performance ?,
- définir les fonctions de sélection aléatoire,
- définir les opérateurs d'évolution sélection,
mutation, croisement, etc - fixer la valeur des paramètres dexécution.
La suite de cet exposé est fondée sur les travaux
de Dejong, Spears et Gordon, "Using
Genetic Algorithms for Concept Learning", Machine
Learning, 13, 1993 (GABIL). Consulter
également J. Hekanaho, Turku Center for
Computer Science, Finland, "A GA-based Approach
to Disjunctive Concept Learning", Technical
Report, 1997. Alex Freitas, "Data Mining and
Knowledge Discovery with evolutionary
Algorithms", Springer Verlag, 2002.
8Algorithmes Génétiques Apprentissage supervisé
8
- Règles
- Règle conjonction de prédicats
- i.e., prédicat1 et et prédicatn
- Prédicat nom d'attribut disjonction de
valeurs de cet attribut - i.e., nom d'attribut valeur1 ou ou valeurk
- on suppose discrets les domaines de valeurs.
- Example
-
- individus caractérisés par 2 attributs taille
et forme, - taille a pour domaine de valeurs petit, moyen,
grand,
prédicat
prédicat
9Algorithmes Génétiques Apprentissage supervisé
9
10Algorithmes Génétiques Apprentissage supervisé
10
- Codage des règles, cas particuliers
- kj 1 dans la sous-chaîne de rang j signifie
- "la valeur de l'attribut aj n'a pas d'importance"
- Ex.
- (taille petit ou moyen ou grand) et (forme
cubique ou triangulaire) - ?
- (forme cubique ou triangulaire)
- codage 111 0110
- kj 0 dans la sous-chaîne de rang j implique
- "toute la règle contenant cette sous-chaine est
incohérente" - A propos des règles incohérentes
11Algorithmes Génétiques Apprentissage supervisé
11
- Codage des systèmes de règles (individus des
populations élevées par le GA) - Système de règles ensemble de règles.
- Codage chaîne de bits obtenue par la
concaténation des sous-chaînes - codant les règles.
- Ex.
- (taille petit ou moyen) et (forme cubique
ou triangulaire), - (taille grand) et (forme triangulaire)
- ?
- (taille petit ou moyen) et (forme cubique
ou triangulaire) - ou
- (taille grand) et (forme triangulaire)
- codage 110, 0110 001, 0010
règle
règle
système de règles
12Algorithmes Génétiques Apprentissage supervisé
12
- L'opérateur de sélection
- Problème
- Sélectionner un individu au hasard dans une
population selon la loi de probabilités - Pr(i) ?(i) / ?0?j?p-1 ?(j) pour tout individu
i. - Solution (Principe illustré sur un exemple)
- On considère une population comprenant 4
individus (i.e. p 4), on suppose - Pr(0) 1/4, Pr(1) 3/8, Pr(2) 1/8, Pr(3)
1/4 (i.e., D8). - La sélection est opérée de manière uniforme sur
une échelle sur laquelle - le poids de chaque individu i est représenté par
le numérateur de Pr(i) après - réduction au même dénominateur.
13Algorithmes Génétiques Apprentissage supervisé
13
L'opérateur de sélection (suite)
- Procédure
- 1. réduire toutes les probabilités Pr(i) au même
dénominateur, on note - D le dénominateur commun,
- d0, , dp-1 les numérateurs obtenus après
réduction au même dénominateur, - 2. tirer au hasard un nombre r dans l'intervalle
entier 0, D-1, - 3. sélectionner l'individu s dans 0, p-1,
correspondant à r. - Il est donné par
- ?0?i?s-1 di ? r ? ?0?i?s di.
- Exemple
- On prend la même population que précédemment 4
individus (i.e. p 4) tels que - Pr(0) 1/4, Pr(1) 3/8, Pr(2) 1/8, Pr(3)
1/4 (i.e., D8), - si r 4 ?
- si r 5 ?
- si r 0 ?
- si r 7 ?
2 ? 4 ? 23 ? s 1.
23 ? 5 ? 231 ? s 2.
0 ? 0 ? 2 ? s 0.
231 ? 7 ? 2312 ? s 3.
14Algorithmes Génétiques Apprentissage supervisé
14
- L'opérateur de sélection (suite)
- D'autres opérateurs de sélection sont
alternativement possibles. - Pour les utilisateurs de C
- GALIB une bibliothèque spécialisée dans le
développement de GAs - http//lancet.mit.edu/ga/
- Pour les utlisateurs de MatLab
- GATBX
- Direct
- http//www.shef.ac.uk/
acse/research/ecrg/gat.html -
- Via Mathtools.net
- http//www.mathtools.n
et/MATLAB/Optimization/Genetic_algorithms/
15Algorithmes Génétiques Apprentissage supervisé
15
- L'opérateur de croisement
- Cet opérateur consiste à construire deux
nouveaux systèmes de règles en - combinant deux systèmes règles (chaînes de
bits). - s1
s'1 -
? - s2
s'2 - En général,
- long(s1) ? long(s2),
- long(s'1) ? long(s1),
- long(s'2) ? long(s2),
- long(s'1) ? long(s'2).
- La procédure de croisement respecte la règle
dinvariance du nombre total - de règles
- nintroduit aucun matériel génétique autre que
celui contenu dans
16Algorithmes Génétiques Apprentissage supervisé
16
- L'opérateur de croisement (suite)
- Dans GABIL, un opérateur de croisement qui
respecte les contraintes précédemment énoncées
est défini par la procédure suivante - on suppose que chaque règle est codée sur b
bits, - on considère deux systèmes s1 et s2 de r1 et r2
règles respectivement, - on tire aléatoirement deux nombres x11 et x12
sur l'intervalle entier 0, r1 - 1 - et deux nombres x21 et x22 sur l'intervalle
entier 0, r2 - 1, - on tire aléatoirement deux nombres y1 et y2 sur
l'intervalle entier 0, b - 1, - on effectue l'échange suivant entre les deux
systèmes de règles
17Algorithmes Génétiques Apprentissage supervisé
17
L'opérateur de croisement (suite) Exemple
18Algorithmes Génétiques Apprentissage supervisé
18
- Autres opérateurs
- GABIL utilise deux opérateurs d'évolution
additionnels - Opérateur de relaxation partielle
- 110, 0110 001, 0010
- 110, 1110 001, 0010
- relaxe l'une des disjonctions dans l'une des
règles d'un système de règles en repositionnant
un bit à 1 (élargit la condition exprimée par
cette disjonction). - Opérateur de relaxation totale
- 110, 0110 001, 0010
19Algorithmes Génétiques Apprentissage supervisé
19
- Fonction de performance
- La fonction de performance utilise le fichier
d'apprentissage pour évaluer le niveau de
performance de chaque système de règles s. - Un objet obj du fichier d'apprentissage est
correctement classé par un système de règles s si
l'une des deux conditions suivantes est vraie - la classe de obj est la classe cible de
l'algorithme d'apprentissage - et il existe une règle r dans s vérifiée par
obj (il existe une règle r dans s reconnaissant
obj - comme objet de la classe cible).
- ou
- la classe de obj n'est pas la classe cible de
l'algorithme d'apprentissage - et toutes les règles r de s sont non vérifiées
pour obj (il n'existe aucune règle dans s - reconnaissant obj comme objet de la classe
cible). - ?1(s) nombre d'objets de la classe cible du
fichier dapprentissage correctement classés par
s - nombre d'objets de la classe
cible dans le fichier dapprentissage - ?2(s) nombre d'objets extérieurs à la classe
cible du fichier dapprentissage correctement
rejetés par s - nombre d'objets extérieurs à
la classe cible dans le fichier dapprentissage
20Algorithmes Génétiques Apprentissage supervisé
20
codage des valeurs dattribut 00 règle non
valide, 01 0, 10 1, 11 0 ou 1.
- Exemple
- Classe cible 1.
- Système de règles
- 10, 11, 10 cest-à-dire a1 1 et (a2 1 ou
0) et a3 1 - (une seule règle dans le système)
- Objets correctement classés
- Obj1 non
- Obj2 oui
- Obj3 oui
- Obj4 oui
- Obj5 oui
- Obj6 oui
- Obj7 oui
- Obj8 oui
- Obj9 oui
?1(s) 4/5
?(s) 0.5(4/5 10/10)
?2(s) 10/10
21Algorithmes Génétiques Apprentissage supervisé
21
Analyse probabiliste des GAs On donne ici
quelques éléments. Se reporter à "Evolutionary
Algorithms, W. M. Spears", Springer Verlag,
2000. On cherche ici à caractériser l'impact du
mécanisme de sélection sur l'évolution d'une
population (l'ouvrage de Spears contient une
analyse détaillée des mécanismes de croisement
et de mutation). Pour des raisons de simplicité
on s'intéressera aux GAs dont les individus sont
codés sous forme de chaînes de bits de taille
fixée n. Toute chaîne de bits de taille n
correspond à un sommet de lhypercube de
dimension n. Tout sommet de lhypercube de
dimension n peut être défini comme lintersection
de lensemble de sous-cubes dont il est un des
sommets. On appelle ces sous-cubes des schémas.
Toute chaîne de bits de taille n peut être
caractérisée par l'ensemble des schémas auxquels
elle appartient dans lhypercube de dimension n.
Schémas associés à la chaîne de bits
101 (i.e.,tous les sous-cubes auxquels elle
appartient)
22Algorithmes Génétiques Apprentissage supervisé
22
Schémas associés à la chaîne de bits
101 (i.e.,tous les sous-cubes auxquels elle
appartient)
- Analyse probabiliste des GAs (suite)
- Toute population peut être caractérisée par
- lensemble des schémas engendrés par les
individus de la population - et
- la façon dont les individus se distribuent sur
cet ensemble (nombre dindividus - par schéma).
- Par exemple, les deux individus 101 et 111 ont
pour schémas communs 1 et - 1, et pour schémas individuels 0 et 1.
- L'impact du mécanisme d'évolution sur une
population peut être caractérisé par son impact
sur lévolution de lensemble des schémas.
23Algorithmes Génétiques Apprentissage supervisé
23
- Analyse probabiliste des GAs (suite)
- Objectif
- On se propose de montrer que le mécanisme de la
sélection conduit les schémas contenant les
individus les plus performants à affirmer leur
influence au fur et à mesure que les générations
se succèdent . - Notations
- 1. S(s,t) l'ensemble des individus appartenant
au schéma s à l'étape t, - 2. n(s, t) le nombre dindividus appartenant au
schéma s à l'étape t, - la sélection opérant au hasard, n(s,t) est
considéré comme une - variable aléatoire.
- 3. ?(i, t) la performance de l'individu i à
l'étape t, - 4. ?(P, t) la moyenne des performances
individuelles à l'étape t - ?(P, t) (1/p)?0?i ? p-1 ?(i, t),
24Algorithmes Génétiques Apprentissage supervisé
24
- Analyse probabiliste des GAs (suite)
- Hypothèses
- 1. Le modèle dévolution est générationnel à
chaque étape t, toute la population est changée
r 1 dans la procédure prototype. - 2. Le croisement est de type point unique.
- 3. la mutation est de type bit-à-bit.
- 4. Les p/2 paires dindividus requises en
préalable de lopération de croisement de la
procédure prototype est construite selon le
protocole - 4.1. On tire p fois dans la population selon la
loi de probabilités - Pr(i) ?(i) / ?0?j?p-1 ?(j) pour tout individu
i. - 4.2. Le même individus tiré plusieurs fois donne
lieu à deux objets distincts dans la liste
résultat du tirage. - 4.3. Les p objets de la liste résultat sont
appariés au hasard avant croisement (les tirage
pour la formation des paires sont exhaustifs).
25Algorithmes Génétiques Apprentissage supervisé
25
Analyse probabiliste des GAs (suite) Calcul
l'espérance mathématique E(n(s, t1))
0 si i
? S(s, t1) on pose les variables aléatoires Xi,
i 1, , p telles que Xi
1 si i ? S(s,
t1) 0 avec la
probabilité 1 - Pr(i ? S(s, t1)) Xi prend la
valeur 1 avec
la probabilité Pr(i ? S(s, t1)) On forme ?0?i ?
p-1 Xi et on note que cette somme aléatoire
compte les i tels que i ? S(s, t1). Autrement
dit ?0?i ? p-1 Xi n(s, t1). par
suite E(n(s, t1)) E(?0?i ? p-1 Xi ) ?0?i ?
p-1 E(Xi )
?0?i ? p-1 0 . (1 - Pr(i ? S(s,
t1))) 1 . Pr(i ? S(s, t1))
?0?i ? p-1 Pr(i ?
S(s, t1)). Analysons lévènement i ? S(s,
t1) i ? S(s, t1) ? (1) on trouve i1 dans
la liste résultat du tirage tel que i1 ? S(s, t)
et (2) le croisement impliquant
i1 génère i2 vérifiant le schéma s
et (3) la mutation impliquant i2 génère
i vérifiant le schéma s On suppose que les
opérations de tirage avant croisement, de
croisement et de mutation son effectuées de
manière indépendante Pr(i ? S(s, t1)) Pr(1)
Pr(2) Pr(3).
26Algorithmes Génétiques Apprentissage supervisé
26
Analyse probabiliste des GAs (suite)
Calculons Pr(1) Pr(on trouve i1 est dans la
liste résultat du tirage tel que i1 ? S(s, t))
Pr(i1 ? S(s, t) et i1 est dans la liste résultat
du tirage ) Pr((OUj ? S(s, t) i1 j) et i1
est dans la liste résultat du tirage) Pr(OUj ?
S(s, t) (i1 j et i1 est dans la liste résultat
du tirage)) ?j ? S(s, t) Pr(i1 j et i1 est
dans la liste résultat du tirage ) ?j ? S(s,
t) Pr(i1 j) et i1 est dans la liste résultat du
tirage i1 j) (1/p) ?j ? S(s, t) Pr(j est
dans la liste résultat du tirage). Pr(j est
dans la liste résultat du tirage) Pr( j
est tiré à létape 1 du tirage
ou j est tiré à létape 2 du tirage
ou
ou j est tiré à
létape p du tirage). Les occurrences multiples
du même individu de la population dans la liste
résultat du tirage représentent des objets
différents, les évènements de la disjonction
sont disjoints. Pr(j est dans la liste résultat
du tirage) ?0?i ? p-1 Pr(j est tiré à létape i
du tirage). ?0?i ? p-1 (?(j) /
?0?j?p-1 ?(j))
p ?(j) / ?0?j?p-1
?(j)
?(j) / ?(P, t) En
conclusion Pr(1) (1/p) ?j ? S(s, t) ?(j) /
?(P, t) (n(s, t) ?(s, t)) / (p ?(P,
t))
27Algorithmes Génétiques Apprentissage supervisé
27
- Analyse probabiliste des GAs (suite)
- Définitions
-
- On associe à tout schéma s
- sa zone de rupture la zone comprise entre le
premier et le dernier - bit instancié de sa représentation,
- son indice de rupture la taille de sa zone de
rupture, - son ordre le nombre de positions instanciées,
- sa longueur la taille de sa représentation.
- Ex.
- 0111
- zone de rupture,
- indice de rupture 4,
- ordre 4,
- longueur 7.
- 0
- zone de rupture vide
28Algorithmes Génétiques Apprentissage supervisé
28
- Analyse probabiliste des GAs (suite)
- Calculons
- Pr(2) Pr(le croisement impliquant i1 génère i2
vérifiant le schéma s) - 1 - Pr(le croisement impliquant i1
génère i2 ne vérifiant pas le schéma s) - 1 indice de rupture(s) /
(longueur(s) - 1) - Pr(3) Pr(la mutation impliquant i2 génère i
vérifiant le schéma s) - Pr(aucune position instanciée de s
nest altérée dans la mutation) - 1 - (1 Pr(mutation))? ? (1
Pr(mutation)) -
-
ordre(s) fois - 1 - (1 Pr(mutation))ordre(s)
- Pr(mutation)) est toujours un nombre
infinitésimal. En prenant le développement
limité de (1 Pr(mutation))ordre(s) au voisinage
de 0 et si on néglige tous les termes du
développement à partir de lordre 2 on obtient -
29Algorithmes Génétiques Apprentissage supervisé
29
- Analyse probabiliste des GAs (suite)
- on a , précédemment, obtenu le résultat suivant
- E(n(s, t1)) E(?0?i ? p-1 Xi ) ?0?i ? p-1
Pr(i ? S(s, t1)), - Pr(i ? S(s, t1)) Pr(1) Pr(2) Pr(3),
- Pr(1) (n(s, t) ?(s, t)) / (p ?(P, t)),
- Pr(2) 1 indice de rupture(s) / (longueur(s)
- 1), - Pr(3) 1 - ordre(s) Pr(mutation).
- En intégrant tout ces résultats on obtient
- E(n(s, t1)) (n(s, t) ?(s, t)) / ?(P, t)
- ? 1 indice de
rupture(s) / (longueur(s) - 1), - ? 1 - ordre(s)
Pr(mutation). - En observant que le croisement et la mutation
peuvent créer des individus qui satisfont le
schéma s à partir dindividus qui ne le satisfont
pas, on voit que le second membre de légalité
précédente est en fait une borne inférieure. Il
faut donc écrire (Théorème des schémas de
Holland) - E(n(s, t1)) ? (n(s, t) ?(s, t)) / ?(P, t)
30Algorithmes Génétiques Apprentissage supervisé
30
Analyse probabiliste des GAs (suite)
Théorème des schémas de Holland E(n(s, t1))
? (n(s, t) ?(s, t)) / ?(P, t)
? 1 indice de rupture(s) /
(longueur(s) - 1), ? 1
- ordre(s) Pr(mutation). Conséquence du
théorème Les schémas qui aurons les chances les
plus grandes de prospérer sont ceux (1) dont la
performance moyenne est supérieure à la
performance moyenne de la population toute
entière, (2) qui ont un indice de rupture
faible, (3) qui ont un ordre faible.