loadingPage en cours de chargement

    ACCUEIL | TÉLÉCHARGER | PETITES ANNONCES | FORUM | LIVRE D'OR | PARTENAIRES | BLOG | CONTACT | A PROPOS
 
  Rechercher
  separation
  introduction
  Arithmétique
  Algèbre
  Analyse
  Géométrie
  Mécanique
  Électrodynamique
  Atomistique
  Cosmologie
  Chimie
  Méthodes Numériques
  Maths. Sociales
  Ingénierie
  separation
  Biographies
  Bibliographie
  Liens
  separation
  Humour
  Serveur d'exercices
  separation
  Parrains
19 connectés

Informatique Théorique

MÉTHODES NUMÉRIQUES | FRACTALES | SYSTÈMES LOGIQUES | CODES CORRECTEURS CRYPTOGRAPHIE | AUTOMATES | INFORMATIQUE QUANTIQUE

MÉTHODES NUMÉRIQUES (2/2)

Dernière mise-à-jour de ce chapitre: 26.09.2009 17:22

Table des matières LISTE DES SUJETS TRAITÉS SUR CETTE PAGE

ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.)

L'analyse en composantes principales (A.C.P.) est une méthode mathématique d'analyse graphique de données qui consiste à rechercher les directions de l'espace qui représentent le mieux les corrélations entre n variables aléatoires (relation linéaire entre elles).

Même si l'A.C.P. est majoritairement utilisée pour visualiser des données, il ne faut pas oublier que c'est aussi un moyen :

- De décorréler ces données. Dans la nouvelle base, constituée des nouveaux axes, les points ont une corrélation nulle (nous le démontrerons).

- De classifier ces données en amas (clusters) corrélés (dans l'industrie c'est surtout cette possibilité qui est intéressante!).

remarque Remarque: L'A.C.P. est aussi connue sous le nom de "transformée de Karhunen-Loève" ou de "transformée de Hotelling" et peut aussi bien être appliquée sans programmation V.B.A. dans MS Excel que dans des logiciels spécialisés (ou le temps de calcul sera par contre plus bref... et plus précis aussi...).
fin remarque

Lorsque nous ne considèrons que deux effets, il est usuel de caractériser leurs effets conjoints via le coefficient de corrélation. Lorsque l'on se place en dimension deux, les points disponibles (l'échantillon de points tirés suivant la loi conjointe) peuvent être représentés sur un plan. Le résultat d'une A.C.P. sur ce plan est de déterminer les deux axes qui expliquent le mieux la dispersion des points disponibles.

Lorsqu'il y a plus de deux effets, par exemple trois effets, il y a trois coefficients de corrélations à prendre en compte. La question qui a donné naissance à l'A.C.P. est : comment avoir une intuition rapide des effets conjoints?

En dimension plus grande que deux, une A.C.P. va toujours déterminer les axes qui expliquent le mieux la dispersion du nuage des points disponibles..

L'objectif de l'A.C.P. est de décrire graphiquement un tableau de données d'individus avec leurs variable quantitatives de grande taille :

individus/variables

equation

equation

equation

  (1)

Afin de ne pas alourdir l'exposé de cette méthode et de permettre au lecteur de refaire complètement les calculs, nous travaillerons sur un exemple.

Considérons pour l'exemple une étude d'un botaniste qui a mesuré les dimensions de 15 fleurs d'iris. Les trois variables equation mesurées sont :

- equation : longueur du sépale

- equation : largeur du sépale

- equation : longueur du pétale

Les données sont les suivantes :

Fleur n°

equation

equation

equation

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

5.1
4.9
4.7
4.6
5.0
7.0
6.4
6.9
5.5
6.5
6.3
5.8
7.1
6.3
6.5

3.5
3.0
3.2
3.1
3.6
3.2
3.2
3.1
2.3
2.8
3.3
2.7
3.0
2.9
3.0

1.4
1.4
1.3
1.5
1.4
4.7
4.5
4.9
4.0
4.6
6.0
5.1
5.9
5.6
5.8

  (2)

Pour nous un tel tableau de données sera tout simplement une matricée réelle à n lignes (les individus) et à p colonnes (les variables) :

equation   (3)

Par suite l'indice i correspondra à l'indice ligne et donc aux individus. Nous identifierons donc l'individu i avec le point ligne equation qui sera considéré comme un point dans un espace affine (cf. chapitre de Calcul Vectoriel) de dimension p. L'indice j correspondra à l'indice colonne donc aux variables. Nous identifierons la variable j avec le vecteur colonne :

equation   (4)

c'est donc un vecteur dans l'espace vectoriel de dimension n dans equation.

Nous nous placerons dans la suite suivant deux points de vues : Soit nous prendrons le tableau de données comme n points dans un espace affine de dimension p, soit nous prendrons ce tableau comme p points d'un espace vectoriel de dimension n. Nous verrons qu'il y a des dualité entre ces deux points de vue.

L'outil mathématique que nous allons utiliser ici est l'algèbre linéaire (cf. chapitre d'Algèbre Linéaire), avec les notions de produit scalaire, de norme euclidienne et de distance euclidienne.

Afin de simplifier la présentation, nous allons dans un premier temps considérer que chaque individu, comme chaque variable, a la même importance, le même poids. Nous ne considérerons aussi, que le cas de la distance euclidienne.

Nous allons commencer en centrant les données, c'est-à-dire mettre l'origine du système d'axes au centre de gravité du nuage de points. Ceci ne modifie pas l'aspect du nuage, mais permet d'avoir les coordonnées du point M égales aux coordonnées du vecteur equation et donc de ce placer dans l'espace vectoriel pour pouvoir y faire les calculs! Comme nous supposons dans toute la suite que le poids des individus sont identiques, nous prendrons donc equation avec equation.

Nous considérons le repère orthonormé equation dans la bas canonique equation de equation. Soit donc G le centre de gravité du nuage de point, Comme nous considérons ici chaque variable, comme chaque individu, ayant le même poids, G a alors pour coordonnées dans le repère equation :

equation   (5)

avec :

equation   (6)

Nous avons alors pour l'instant sous forme graphique :

equation
  (7)

Nous appelons "matrice centrée" la matrice :

equation   (8)

remarque Remarque: La matrice des données centrées contient les coordonnées centrées (que nous noterons equation) des individus dans le repère equation. Nous nous placerons dans la suite toujours dans ce repère pour le nuage de points des individus et nous prendrons equation.
fin remarque

Pour notre exemple, nous avons :

equation   (9)

et pour la matrice centrée :

equation   (10)

et sous forme graphique :

equation
  (11)

Pour donner une importance identique à chaque variable afin que le type d'unités des mesures n'influence pas l'analyse, nous travaillerons avec les données centrées réduites (cf. chapitre de Statistiques). Pour cela, nous noterons :

equation   (12)

la variante d'échantillon de la variable equation. La matrice des données centrées réduites (sans dimensions) est alors :

equation   (13)

Si nous notons equation la matrice diagonale suivante :

equation   (14)

Nous avons alors :

equation   (15)

remarque Remarque: La moyenne de la variable equation est nulle et donc sa variance est alors 1 (ce qui revient à dire que la norme de la variable centrée réduite est de norme unitaire comme nous allons de suite le démontrer).
fin remarque

Nous définissons la "matrice des données centrées normées" par :

equation   (16)

Soit encore (il s'agit simplement de l'erreur quadratique moyenne que nous avions introduit dans le chapitre de Statistiques) :

equation   (17)

La terminologie vient bien évidemment du fait que la variable (vecteur) equation est de norme unitaire. En effet :

equation   (18)

Nous avons graphiquement :

equation
  (19)

Représenter le nuage de points des données centrées réduites ou centrées normées ne modifie rien à la forme de celui-ci. En effet, la différence entre les deux n'est qu'un changement d'échelle.

L'information intéressante pour les individus est la distance entre les points! En effet plus cette distance sera grande entre deux individus equation et equation plus les deux individus seront différents et mieux on pourra les caractériser. Mais il faut d'abord choisir une distance. Nous prendrons la distance euclidienne (cf. chapitre de Topologie) :

equation   (20)

Les figures suivantes montrent les projections orthogonales dans l'espace de ce nuage de points respectivement dans les plans equation et enfin dans equation qui est la meilleure projection, appelé "plan factoriel", dans le sens où elle respecte le mieux les distances entre les individus (in extenso, elle déforme moins le nuage de points dans l'espace). L'objectif de l'A.C.P. est de déterminer ce meilleur plan et nous démontrerons comment.

equation
  (21)

equation
  (22)

equation
  (23)

Et la vue plane de chacune des projections :

equation
  (24)

Avant de déterminer la plan factoriel, nous allons maintenant chercher à détecter les liens possibles entre les variables.

Nous rappelons (cf. chapitre de Statistiques) que la covariance entre deux variables equation et equation est donnée par :

equation   (25)

et que le coefficient de corrélation linéaire (cf. chapitre de Statistiques) est :

equation   (26)

Nous noterons :

equation et equationequation   (27)

les matrices des covariances et de corrélations carrées (toutes deux étant pour rappel carrées et symétriques) avec equation.

Nous voyons facilement que la matrices des covariances et au coefficient 1/n près, la matrice des produit scalaires canoniques des vecteurs de la matrice des données centrées equation. Nous en déduisons la relation suivante :

equation   (28)

La matrice des covariances est un outil connu d'interprétation sur ce site. Par contre ce qui est nouveau et va nous être très utile pour déterminer le plan factoriel est la matrice de corrélation linéaire qui peut aussi être écrite sous la forme suivante :

equation   (29)

Ce qui donne pour notre exemple où nous avons trois variables, la matrice carrée suivante :

equation   (30)

Pour continuer, toujours dans le but de déterminer le plan factoriel, définissons le concept d'inertie de nuage de point.

Définition: Nous appelons "inertie d'un nuage de points" la quantité :

equation   (31)

G est le centre de gravité du nuage de point et equation le point de equation de coordonnées equation.

remarque Remarque: Le carré de la distance est pris par anticipation des développements qui vont suivre.
fin remarque

Ensuite, démontrons que nous avons la relation suivante :

equation   (32)

Démonstration:

equation   (33)

equationC.Q.F.D

Nous allons dans toute la suite travailler avec les données centrées normées, in extenso avec la matrice Z. Les points equation auront donc ici comme coordonnées equation.

Le problème est maintenant de trouver le meilleur espace affine de dimension p dans le sens où il respecte au mieux les distances entre les points. Pour cela, nous allons rechercher la meilleur droite vectorielle equation qui est parfaitement déterminée par le vecteur equation. Appelons equation la projection orthogonale de equation sur la droite equation. Alors notre problème est de trouver la droite (in extenso le vecteur u) qui fasse que la somme des carrés des distances entres les points equation soit maximale. Nous écrirons le problème sous la forme d'un problème de programmation quadratique :

equation   (34)

Or ici, nous avons :

equation   (35)

En effet, le centre de gravité du nuage de point projeté est aussi l'origine. Par suite, notre problème peut s'écrire :

equation   (36)

Lui même équivalent donc à :

equation   (37)

Résolvons donc ce problème :

Tout d'abord, puisque equation est la projection orthogonale du point equation sur equation nous avons equation pour tout i avec equation. Par suit les coordonnées des points equation sur la droite equation sont :

equation   (38)

Par suite, nous avons :

equation   (39)

Ici nous cherchons le vecteur unitaire equation. La matrice Z nous est parfaitement connue. Or, nous avons :

equation   (40)

La matrice de corrélation R est symétrique donc, selon le théorème spectral vu dans le chapitre d'algèbre linéaire, elle est diagonalisable dans une base orthonormée de vecteurs propres. Ainsi, nous avions démontré dans le théorème spectral que :

equation   (41)

est diagonale si R est symétrique et S orthogonale (qui donc une matrice carrée equation dans notre exemple!). Donc :

equation   (42)

et comme S avait été démontrée comme orthogonale, nous avons (cf. chapitre d'Algèbre Linéaire) :

equation   (43)

Donc :

equation   (44)

où nous choisissons pour equationla matrice diagonale des valeurs propres mises en ordre décroissant : equation.

Nous avons donc :

equation   (45)

Mais U étant orthogonale nous avons par conséquent :

equation   (46)

et ceci provient du fait que la matrice orthogonales est comme nous l'avions démontré dans le chapitre d'algèbre linéaire une isométrie (elle conserve donc la norme!).

Comme les valeurs propres sont dans l'ordre croissant nous avons :

equation   (47)

Or le terme entre parenthèses est strictement inférieur ou égal à1. Donc :

equation   (48)

Soit :

equation   (49)

Or rappelons que notre objectif est de maximiser cette inégalité. En d'autres termes de chercher equation tel que l'égalité soit respectée. Or nous voyons immédiatement que cela est faire si equation. Ainsi, une solution de notre problème de maximisation est donc :

equation   (50)

soit puisque equation qui est alors le premier vecteur propre de R (puisque R se diagonalise dans cette base) associé à la plus grande valeur propre equation. D'où le fait que cette solution soit notée souvent sous la forme equation avec equation (il est donc relativement aisé de déterminer S avec des logiciels).

Une fois que l'on a trouvée la première droite vectorielle, nous cherchons une deuxième droite dans le sous-espace vectoriel orthogonal à la droite vectorielle qui maximise l'inertie du nuage de point projeté. Nous démontrons, et devinons, que la solution est donnée par la droite vectorielle dirigée par le vecteur propre associé à la deuxième valeur propre de la matrice de corrélation est ainsi de suite...

Ainsi, nous obtenons une nouvelle base equation dont un des plans constitue le plan factoriel. Cependant il nous faut connaître les composantes de Z dans cette base. Comme cette base a été construite sous la condition que R y est diagonalisable via la matrice S alors cette dernière matrice est l'application linéaire qui va nous permettre d'exprimer Z dans la base equation via la relation :

equation   (51)

Ainsi, dans notre exemple les trois valeurs propres sont (cf. chapitre d'Algèbre Linéaire) :

equation   (52)

et nous avons alors comme cordonnées des points equation dans la base equation :

equation   (53)

Les coordonnées des projections du nuage de points dans le meilleur plan défini par les vecteurs equation sont donc les deux premières colonnes de la matrice précédente. Effectivement nous voyons immédiatement que ce sont ces deux colonnes qui maximiseront la somme des normes dans le plan donné.

ANALYSE FACTORIELLE DES CORRESPONDANCES (A.F.C.)

L'analyse factorielle des correspondances, en abrégée AFC, est une méthode statistique d'analyse des données. La technique de l'AFC est essentiellement utilisée pour de grands tableaux de données toutes comparables entre elles (si possible exprimées toutes dans la même unité, comme une monnaie, une dimension, une fréquence ou toute autre grandeur mesurable). Elle peut en particulier permettre d'étudier des tableaux de contingence (ou tableau croisé de co-occurrence). Elle sert à déterminer et à hiérarchiser toutes les dépendances entre les lignes et les colonnes du tableau.

Voyons directement un exemple:

Considérons le tableau suivant des superficies des types de peuplements d'arbres en Picardie en 1984 en hectares:

 

Feuillus

Résineux

Mixtes

Total par dép.

L'Aisne (A)

106'500

3'380

1'470

111'350

L'Oise (O)

101'700

10'000

0

111'700

La Somme (S)

45'200

4'350

50

49'600

Total

253'400

17'730

1'520

272'650

  (54)

remarque Remarque: Dans le cadre de l'A.F.C. ce type de tableau est appelé "tableau de contingence" ou encore "tableau croisé" ("cross table" en anglais).
fin remarque

Nous souhaitons analyser s'il existe les degrés de ressemblance et de différence entre les variables. Remarquons, que nous ne cherchons pas à comparer l'égalité des moyennes ou des variances donc les outils statistiques vus dans le chapitre du même nom ne sont pas adaptés à ce genre d'analyse.

Si nous choisissons la distance euclidienne:

equation   (55)

sur les données brutes pour mesurer ces différences entre départements, nous obtenons les écarts suivants :

equation   (56)

et ainsi de suite pour les autres régions. Nous obtenons alors:

equation   (57)

Nous voyons en regardant le tableau et avant tout calcul que les départements de l'Aisne et l'Oise se ressemblent alors que le département de la Somme se diffère nettement. Les distances obtenues mettent en évidence cette observation.

Mais! Pourtant, sur dans le tableau ci-dessus les profils de l'Oise et de la Somme, avec une forêt mixte très faible, sont pourtant très proches en proportion.

Dans ce contexte, nous voyons que la distance euclidienne transcrit les différences de masse entre les départements. En d'autres termes, l'Aisne et l'Oise se ressemblent car leurs superficies sont proches. Pour éliminer l'artefact lié aux ordres de grandeur, il nous faut transformer les données en pourcentage. Nous obtenons alors:

 

Feuillus

Résineux

Mixtes

%Région

Aisne

95.6

3.0

1.3

40.8

Oise

91.0

9.0

0.0

41.0

Somme

91.1

8.8

0.1

18.2

  (58)

Si nous choisissons la distance euclidienne sur les proportions (données relatives), nous obtenons:

equation   (59)

soit:

equation   (60)

Cette fois, l'Oise et la Somme apparaissent bien comme se ressemblant le plus avec leurs forêts. Nous voyons que travailler avec les données relatives semblent donc plus pertinent dans ce cas!

Maintenant, nous allons emprunter une idée des économistes qui lorsqu'ils ont des tableaux du même genre que le précédent calculent ce qu'ils appellent "l'index" ou "élasticité" et qui est donné par:

equation   (61)

Voici un exemple obtenu avec les tableaux croisés dynamiques de MS Excel qui inclut la fonction Index:

equation
  (62)

et en activant la fonction Index:

equation
  (63)

Pour voir d'où viennent ces valeurs, regardons par exemple l'article Desk dans la région Alberta a un rendement de:

equation   (64)

par rapport à toutes les régions ce qui est au-dessus de la valeur de 33.33% qu'aurait comme rendement cette article dans toutes les régions confondues s'il n'y avait pas de préférences de région!

La région Alberta a elle un rendement de:

equation   (65)

par rapport à toutes les régions ce qui est en-dessous des 33.33% de rendement qu'elle aurait s'il n'y avait de préférences de région. Ainsi, ce tableau d'index permet de savoir si les différences sont significatives!!

Le rapport donne donc:

equation   (66)

ce qui montre une fort décalage entre la valeur obtenue et la valeur que nous aurions si les proportions étaient respectées.

C'est donc une sorte de calcul de conformité: si le rapport valait 1, c'est que le rendement régional des ventes de cet article particulier serait conforme au rapport de toutes les ventes de cette région relativement à un marché national. Il n'y aurait alors pas d'anomalies Voyons cela par exemple pour nos arbre où nous avions les effectifs observés:

 

Feuillus

Résineux

Mixtes

Total par dép.

L'Aisne (A)

106'500

3'380

1'470

111'350

L'Oise (O)

101'700

10'000

0

111'700

La Somme (S)

45'200

4'350

50

49'600

Total

253'400

17'730

1'520

272'650

  (67)

et pour lequel nous obtenons le tableau des index effectifs observés suivant dans MS Excel:

equation
  (68)

et nous voyons encore clairement à l'aide de ce tableau que ce sont l'Oise et la Somme qui se ressemblent le plus!

Avant de continuer, nous pourrions nous poser la question extrêmement importante suivante: Quels seraient les effectifs théoriques qui auraient été obtenus si les proportions de arbres dans les régions étaient rigoureusement équivalentes à la proportion d'ensemble (soit de tel manière à ce que les index soient tous unitaires)?

Eh bien simplement en faisant le calcul suivant:

 

Feuillus

Résineux

Mixtes

Aisne

=(253'400/272'650)*111'350
=103'488

=(17'730/272'650)*111'350
=7'240

=(1'470/272'650)*111'350
=620

Oise

=(253'400/272'650)*111'700
=103'813

=(17'730/272'650)*111'700
=7'263

=(1'470/272'650)*111'700
=622

Somme

=(253'400/272'650)*49'600
=46'098

=(17'730/272'650)*49'600
=3'225

=(1'470/272'650)*49'600
=276

  (69)

Et nous obtenons avec ces nouvelles valeurs le tableau des index des effectifs théoriques suivant dans MS Excel:

equation
  (70)

ce qui montre que les proportions sont maintenant respectées! Paranthèse fermée (mais sur laquelle nous reviendrons un peu plus loin)!

Eh bien quand nous voulons faire de l'analyse factorielle de correspondance, notre relation:

equation   (71)

devient alors:

equation   (72)

soit:

equation   (73)

Cette fois encore, l'Oise et la Somme apparaissent bien comme se ressemblant le plus.

La distance ci-dessus se nomme la "métrique du Khi-2" car elle ressemble (mais c'est tout!) à la distance utilisée dans le test d'ajustement du même nom (cf. chapitre de Statistiques) mais ici, elle permet seulement de mettre en place une hiérarchie dans le cadre d'un tableau de contingences et d'observer les variables similaires de manière plus aisée!!

KHI-2

Pendant l'introduction de la méthode précédente permettant de comparer des effectifs (valeurs) et détecter lesquels étaient les plus proches, nous avons donné le tableau des effectifs observés:

 

Feuillus

Résineux

Mixtes

Total par dép.

L'Aisne (A)

106'500

3'380

1'470

111'350

L'Oise (O)

101'700

10'000

0

111'700

La Somme (S)

45'200

4'350

50

49'600

Total

253'400

17'730

1'520

272'650

  (74)

et nous avons montré comment trouver le tableau des effectifs théoriques (arrondis à l'entier le plus proche) dans les cas où les proportions auraient dû éventuellement être respectées:

 

Feuillus

Résineux

Mixtes

Total par dép.

L'Aisne (A)

103'488

7'240

620

111'350

L'Oise (O)

103'813

7'263

622

111'700

La Somme (S)

46'098

3'225

276

49'600

Total

253'400

17'730

1'520

272'650

  (75)

La construction du dernier tableau ci-dessus présuppose par exemple que les trois régions sont dans des conditions identiques pour tout ce qui concerne la croissance et la multiplication des arbres et que le nombre d'arbres est en relation de cause à effet directe!!!! avec les régions et qu'il n'y a pas d'autres causes intermédiaires.... ce qui est une hypothèse forte!

Mais sous cette hypothèse, supposons que nous souhaiterions savoir si les différences observées entre le nombre d'arbres et les régions sont significatives ou purement aléatoires à cause de l'échantillon expérimental? Entre d'autres termes, nous voulons savoir si le nombre d'arbre dépend réellement des régions dans lesquelles ils poussent où si ces valeurs que ne sont que dûes au hasard de l'échantillon?

Pour répondre à cette question il faut d'abord une référence. Et cette référence est justement l'hypothèse de lien causal direct (proportions respectées) que nous avons donné juste précédemment.

Si nous considérons que chaque case du tableau des effectifs observés correspond à l'issue d'une variable aléatoire de loi inconnue et que chaque cas du tableau théorique (du moins la classe d'effectifs) est considére comme issu d'une variable aléatoire suivant une loi binomiale alors nous pouvons utiliser le test d'ajustement du Khi-2:

equation   (76)

(cf. chapitre de Statistiques) pour avoir une bonne idée (mais qui reste quand même approximative!) si les différences entre les valeurs des effectifs observés est dû au hasard ou sont réels. Or, si D est petit, la probabilité que ce soit dû au hasard est grande mais si D est grand alors nous avons une différence réelle (donc nous utilisons le test d'ajustement du Khi-2 mais dans le sens inverse!).

Reste à déterminer le nombre de dégrées de liberté de loi equation que suit cette somme dans ce type de configuration!

Dans le cas particulier (mais facilement généralisable par récurrence) d'une table à deux entrées avec deux variables catégorisées X avec l niveaux et Y avec c niveaux aura respectivement l lignes et c colonnes.

Ainsi, la table aura bien évidemment equation cellules. La table des effectifs théoriques (dont chaque cellule est considérée comme une variable aléatoire) aura chaque cellule entièrement déterminée par la somme des autres tel que les degrés de liberté s'écriront alors en toute logique comme nous l'avons vu dans le chapitre de Statistiques:

equation   (77)

Par exemple, en prenant notre exemple des forêts, c'est le total de totaux de 272'650 qui nous permet d'écrire cette dernière relation et ainsi de déterminer la valeur d'une cellule éventuellement vide, toutes les autres étant données!

Un test du khi-2 sur ce type de table teste l'hypothèse d'indépendance contre l'hypothèse alternative de dépendance. Sous l'hypothèse d'indépendance nous estimons qu'il ya besoin de seulement:

equation   (78)

valeurs sur les N pour pouvoir en déterminer la totalité (en supposant implicitement connues les sommes par ligne et par colonne).

Ainsi, si vous avec une table de 2 lignes par 2 colonnes, il vous suffit si vous connaissez les totaux des lignes et des colonnes, d'avoir 2 valeurs (soit (2-1)+(2-1)) pour déterminer les 2 manquantes. Le raisonnement s'applique aussi pour une table de 3 lignes par 3 colonnes où il vous suffit d'avoir au moins 4 valeurs (soit (3-1)+(3-1)) pour déterminer les 5 manquantes.

Les degrés de liberté pour le khi-2 sont alors:

equation   (79)

C'est cette relation qui nous dit (trivialement!) que si dans un tableau de 2 lignes par 2 colonnes comprenant donc 4 cellules (totaux des lignes et colonnes étant aussi connus!) que étant donnée une seule des valeurs (ddl valant 1), nous pouvons déterminer les 3 autres valeurs manquantes.

Voici donc une définition possible du nombre de degrés de libertés: C'est le nombre maximum de valeurs du modèle telles qu'aucune d'entre elle n'est calculable à partir des autres.

De même, pour un tableau de 3 lignes par 3 colonnes comprenant 9 cellules comme c'est le cas de notre exemple dans ce chapitre avec les forêts, la connaissance de 4 cellules seules permet grâce aux totaux en ligne et colonnes de déterminer les 5 autres qui seraient éventuellement non connues.

D'où la relation dans le cadre de l'application du khi-2 de la relation finale:

equation   (80)

en faisant usage des notations utilisées dans l'industrie.

Dans le cadre de notre exemple nous avons:

equation   (81)

et la p-value de cette valeur avec la loi du khi-2 à quatre degrés de liberté:

equation   (82)

est tellement proche de zéro (non significatif) que nous avons aucune chance de nous tromper en affirmant que les différences observées dans le tableau sont significatives entre les 3 forêts.

Nous obtenons un résultat similaire entre l'Oise et la Somme alors qu'avec l'AFC nous avons vu que ces deux forêts se ressemblaient beaucoup.

remarque Remarque: Dans la pratique il est souvent d'usage de prendre le p-value à 5% pour considérer la probabilité attachée aux écarts observés comme significative ou non significative.fin remarque

MÉTHODE DES DIFFÉRENCES FINIES

Dans le domaine des méthodes numériques, nous pouvons être amenés à rechercher la solution d'une équation aux dérivées partielles. Parmi les méthodes de résolutions couramment pratiquées, la méthode des différences finies ou M.D.F. est la plus facile d'accès, puisqu'elle repose sur deux notions : la discrétisation des opérateurs de dérivation/différentiation (assez intuitive) d'une part, et la convergence du schéma numérique ainsi obtenu d'autre part.

Prenons un exemple fameux (car très scolaire) qui n'est qu'un cas particulier et simpliste d'application de la M.D.F.

Rappelons que nous avons démontré dans le chapitre de Thermodynamique l'équation de la chaleur suivante (nous présentons ici cette équation réduite à une dimension spatiale):

equation   (83)

et remarquons que cette équation n'est pas très générale... (elle n'est pas relativiste et ne prend pas en compte la chaleur dégagée sous forme de rayonnement par la matériau considéré ni plein d'autres facteurs....).

Nous pouvons considérer (cf. chapitre de Calcul Différentiel Et Intégral) que:

equation   (84)

et:

equation   (85)

De même:

equation   (86)

L'équation de la chaleur devient alors:

equation   (87)

Après réarrangement nous avons:

equation   (88)

Si nous regardons cette relation de plus près, nous observons qu'il s'agit d'une simple récursivité. Il suffit de connaître la distribution equation pour déterminer ensuite toutes les autres valeurs puisque:

equation   (89)

et :

equation   (90)

etc. Il est possible de mettre en oeuvre une telle simulation rien qu'avec un petit tableau et un peu de temps... h est appelé alors le "pas de maillage" du modèle.

Pour le lecteur souhaitant s'entraîner.... une barre de Fer longitudinale de 1 kilogramme a une capacité calorifique massique de equation, une densité de equation et sa conductivité thermique est de equation.

RÉSEAUX DE NEURONES FORMELS

Les réseaux de neurones, fabriquées de structures cellulaires artificielles, constituent une approche permettant d'aborder sous des angles nouveaux les problèmes de perception, de mémoire, d'apprentissage et de raisonnement (en d'autres termes... d'intelligence artificielle ou abrégée "I.A.") au même titre que les algorithmes génétiques. Ils s'avèrent aussi des alternatives très prometteurs pour contourner certaines des limitations des méthodes numériques classiques. Grâce à leur traitement parallèle de l'information et à leurs mécanismes inspirés des cellules nerveuses (neurones), ils infèrent des propriétés émergentes permettant de solutionner des problèmes jadis qualifiés de complexes.

Nous aborderons ici les principales architectures des réseaux de neurones. Il ne s'agit pas de les étudier toutes, car elles sont trop nombreuses, mais plutôt d'en comprendre les mécanismes internes fondamentaux et de savoir comment et quant les utiliser. Nous aborderons également certaines notions relatives aux ensembles flous et à la logique (cf. chapitre de Logique Floue) dans la mesure où ces derniers sont incorporés dans certaines architectures de réseaux de neurones que nous étudierons.

Le cerveau humain contient environ 100 milliards de neurones. Ces neurons nous permettent entre autre, de lire un texte tout en maintenant une respiration régulière permettant d'oxygéner notre sang, en actionnant notre coeur qui assure une circulation efficace de ce sang pour nourrir non cellules, etc. Ils nous permettent même de comprendre certaines idées (…)

Chacun de ces neurones est par ailleurs fort complexe. Essentiellement, il s'agit de tissu vivant et de chimie. Les neurophysiciens commencent à peine à comprendre quelques uns de leurs mécanismes internes. On croit en général que leurs différentes fonctions neuronales , y compris celle de la mémoire sont stockées au niveau des connexions (synapses) entre les neurones. C'est ce genre de théorie qui a inspiré la plupart des architectures de réseaux de neurones artificiels (dits "formels"). L'apprentissage consiste alors soit à établir de nouvelles connexions, soit à en modifier des existantes (nous nous concentrerons en particulier sur cette dernière possibilité).

Ceci nous amène à poser une question fondamentale : en ce basant sur nos connaissances actuelles, peut-on construire des modèles approximatifs de neurones et les entraîner pour, éventuellement, réaliser des tâches utiles ? Eh bien, la réponse courte est : oui !, même si les réseaux que nous allons développer ne possèdent qu'une infime fraction de la puissance du cerveau humain, et c'est l'objectif ici de montrer comment nous pouvons y arriver.

Les réseaux de neurones servent aujourd'hui à toutes sortes d'application dans divers domaines. Par exemple, nous avons développé un auto-pilote pour avion, ou encore un système de guidage pour automobile, nous avons conçu des systèmes de lecture automatique de chèques bancaires et d'adresses postales, nous produisons des systèmes de traitement du signal pour différentes applications militaires, un système pour la synthèse de la parole, des réseaux sont aussi utilisés pour bâtir des systèmes de vision par ordinateur, pour faire des prévisions sur les marchés monétaires, pour évaluer le risque financier ou en assurance, pour différents processus manufacturiers, pour la diagnostic médical, pour l'exploration pétrolière ou gazière, en robotique, en télécommunication, et bien d'autres. Bref, les réseaux de neurones ont aujourd'hui un impact considérable et, il y a fort à parier, que leur importance ira grandissant dans le futur.

MODÈLE DE NEURONE

Le modèle mathématique d'un neurone artificiel, ou "perceptron", est illustré à la figure ci-dessous. Un neurone est essentiellement constitué d'un intégrateur qui effectue la somme pondérée de ses entrées (comme l'espérance statistique!). Le résultat n de cette somme ensuite transformée par une fonction de transfert f qui produit la sortie a du neurone.

Les R entrées du neurones correspondent au vecteur noté traditionnellement en ligne (mais au fait on prend la transposée d'où le T en suffixe) :

equation   (91)

alors que :

equation   (92)

représente le vecteur des poids du neurone (nous les distinguons pour préparer le terrain à des neurones un peu plus complexes).

equation
  (93)

La sortie n de l'intégrateur est définie (car il s'agit d'une technique de l'ingénieur) par l'équation suivante :

equation   (94)

que nous pouvons aussi écrire sous forme matricielle (on pourrait aussi l'écrire sous forme tensorielle mais bon...) :

equation   (95)

Cette sorti correspond à une somme pondérée des poids et des entrées moins que ce nous nommons "le biais b du neurone" (facteur correctif décidé par tâtonnement). Le résultat n de la somme pondérée s'appelle le "niveau d'activation du neurone". Le biais b s'appelle aussi le "seuil d'activation du neurone". Lorsque le niveau d'activation atteint ou dépasse le seuil b, alors l'argument de f devient positif ou bien évidemment positif (ou nul). Sinon, il est négatif.

Nous pouvons faire un parallèle entre ce modèle mathématique et certaines informations que nous connaissons (ou que nous croyons connaître) à propos du neurone biologique. Ce dernier possède trois principales composantes : les dendrites, le corps cellulaire et l'axone :

equation
  (96)

Les dendrites forment un maillage de récepteurs nerveux qui permettent d'acheminer vers le corps du neurone des signaux électriques en provenance d'autres neurones. Celui-ci agit comme une espèce d'intégrateur en accumulant des charges électriques. Lorsque le neurone devient suffisamment excité (lorsque la charge accumulée dépasse un certain seuil), par un processus électrochimique, il engendre un potentiel électrique qui se propage à travers son axone pour éventuellement venir exciter d'autres neurones. Le point de contact entre l'axone d'un neurone et le dendrite d'une autre neurone s'appelle le "synapse". Il semble que c'est l'arrangement spatial des neurones et leur axone, ainsi que la qualité des connexions synaptiques individuelles qui détermine la fonction précise d'un réseau de neurones biologique. C'est en se basant sur ces connaissances que le modèle mathématique décrit ci-dessus a été défini.

Un poids d'un neurone artificiel représente donc en quelque sorte l'efficacité d'une connexion synaptique. Un poids négatif inhibe en quelque sorte une entrée, alors qu'un poids positif vient l'accentuer. Il importe de retenir que ceci est une grossière approximation d'un véritable synapse qui résulte en fait d'un processus chimique très complexe et dépendant de nombreux facteurs extérieurs encore mal connus. Il faut bien comprendre que notre neurone artificiel est un modèle pragmatique qui, comme nous le verrons plus tard, nous permettra d'accomplir des tâches intéressantes. La vraisemblance biologique de ce modèle nous importe peu. Ce qui compte est le résultat que ce modèle nous permettra d'atteindre.

Un autre facteur limitatif dans le modèle que nous nous sommes donnés concerne son caractère discret. En effet, pour pouvoir simuler un réseau de neurones, nous allons rendre le temps discret dans non équations. Autrement dit, nous allons supposer que tous les neurones sont synchrones, c'est-à-dire qu'à chaque temps t, ils vont simultanément calculer leur somme pondérée et produire une sortie equation. Dans les réseaux biologiques, tous les neurones sont en fait asynchrones.

Revenons donc à notre modèle tel que formulé par l'équation précédent et ajoutons la fonction d'activation f pour obtenir la sortie du neurone :

equation   (97)

Il est temps maintenant de remplacer (parce que la notation est un peu lourde à la longue) equation par une matrice d'une seule ligne que nous noterons equation. Nous obtenons alors une forme générale que nous adopterons tout le long de notre étude :

equation   (98)

Cette équation nous amène à introduire un nouveau schéma plus formel de notre RNF (ou perceptron) :

equation
  (99)

Nous y représentons les R entrées comme un rectangle noir (le nombre d'entrées est indiqué sous le rectangle). De ce rectangle sort le vecteur equation dont la dimension matricielle est equation. Ce vecteur est multiplié par une matrice W qui contient les poids (synaptiques) du neurone. Dans le cas d'un neurone simple, cette matrice possède la dimension equation. Le résultat de la multiplication correspond au niveau d'activation qui est ensuite comparé au seuil b (un scalaire) par soustraction. Finalement, la sortie du neurone est calculée par la fonction f. La sortie d'un neurone simple est alors toujours un scalaire.

FONCTIONS DE TRANSFERT

Jusqu'à présent, nous n'avons pas spécifié la nature de la fonction d'activation equationde notre modèle. Il se trouve que plusieurs possibilités existent et celles-ci sont quasiment empiriques et à adapter en fonction des situations. Les plus courantes et les plus citées dans la littérature sont énumérées dans la figure ci-dessous :

equation
  (100)

Les trois les plus utilisées dans le domaine de l'ingénierie sont les fonctions "seuil" (a) (en anglais "hard limit"), "linéaire" (b) et "sigmoïde" (c) comme représentées ci-dessous :

equation
  (101)

Comme son nom l'indique, la fonction seuil applique un seuil sur son entrée. Plus précisément, une entrée négative ne passe pas le seuil, la fonction retourne la valeur 0 (faux), alors qu'une entrée positive ou nulle dépasse le seuil, et la fonction retourne 1 (vrai). Il est évidant que ce genre de fonction permet de prendre des décisions binaires (cette fonction peut aussi être assimilée à la fonction de Heaviside pour ceux qui connaissent...).

La fonction linéaire est quant à elle très simple, elle affecte directement son entrée à sa sortie selon la relation equation. Il est évidant que la sortie du neurone correspond alors à son niveau d'activation dont le passage à zéro (l'ordonnée à l'origine) se produit lorsque equation.

La fonction de transfert sigmoïde est quant à définie par la relation mathématique :

equation   (102)

elle ressemble soit à la fonction seuil, soit à la fonction linéaire, selon que nous somme loin ou près de b respectivement. La fonction seuil est très non linéaire car il y a une discontinuité lorsque equation. De son côté, la fonction linéaire est tout à fait linéaire. Elle ne comporte aucun changement de pente. La sigmoïde est un compromis intéressant entre les deux précédentes. Notons finalement que la fonction "tangente hyperbolique" est une version symétrique de la sigmoïde.

ARCHITECTURE DE RÉSEAU

Par définition, un réseau de neurones est un maillage de plusieurs neurones, généralement organisés en couches. Pour construire une couche de S neurones, il s'agit simplement des les assembler comme à la figure ci-dessous :

equation
  (103)

Les S neurones d'une même couche sont tous branchés aux R entrées. Nous disons alors que la couche est "totalement connectée". Un poids equation est associé à chacune des connexions. Nous noterons toujours le premier indice par i et le deuxième par j (jamais l'inverse). Le premier indice (rangée) désigne toujours le numéro de neurone sur la couche, alors que le deuxième indice (colonne) spécifie le numéro de l'entrée. Ainsi, equation désigne le poids de la connexion qui relie le neurone i à sont entrée j. L'ensemble des poids d'une couche forme donc une matrice W de dimension equation :

equation   (104)

Il faut bien sûr prendre en compte que nous n'avons pas nécessairement equation dans le cas général (les nombres de neurones et d'entrées sont indépendants). Si nous considérons que les S neurones forment un vecteur de neurones, alors nous pouvons créer les vecteurs :

equation
  (105)

Ceci nous amène à la représentation simplifiée illustrée ci-dessous :

equation
  (106)

Finalement, pour construire un réseau de neurones (ou PMC pour "Perceptron Multi-Couches") , il ne suffit plus que de combiner des couches comme ci-dessous :

equation
  (107)

Cet exemple comporte R entrées et trois couches de neurones comptant respectivement equation neurones. Dans le cas général, de nouveau ces nombres ne sont pas nécessairement égaux. Chaque couche possède aussi sa propre matrice de poids equation, où k désigne l'indice de couche. Dans le contexte des vecteurs et des matrices relatives à une couche, nous emploierons toujours un exposant pour désigner cet indice. Ainsi, les vecteurs equation sont aussi associés à la couche k.

Il importe de remarquer dans cet exemple que les couches qui suivent la première ont comme entrée la sortie de la couche précédente. Ainsi, nous pouvons enfiler autant de couches que nous voulons, du moins en théorie. Nous pouvons fixer un nombre quelconque de neurones sur chaque couche. En pratique, nous verrons plus tard qu'il n'est cependant pas souhaitable d'utiliser trop de neurones. Notons aussi que rien ne nous empêche de changer de fonction de transfert d'une couche à l'autre. Ainsi, dans le cas général nous n'avons pas nécessairement equation.

Définition: La dernière couche est nommée "couche de sortie". Les couches qui précèdent la couche de sortie son nommées "couches cachées".

remarque Remarque: Les réseaux multicouches sont beaucoup plus puissant que les réseaux simples à une seule couche bien évidemment. En utilisant deux couches, à condition d'employer une fonction d'activation sigmoïde sur la couche cachée, nous pouvons "entraîner" un réseau à produire une approximation de la plupart des fonctions, avec une précision arbitraire. Sauf dans de rares cas, les réseaux de neurones formels exploitent deux ou trois couches.
fin remarque

Définition: "Entraîner" un réseau de neurones signifie modifier la valeur de ses poids et de ses biais pour qu'il réalise la fonction d'entrée sortie (I/O). Nous étudierons en détails différents algorithmes et méthodes d'approche heuristiques pour y parvenir dans différents contextes.

ALGORITHMES GÉNÉTIQUES

Les algorithmes génétiques (AGs) sont des algorithmes d'optimisation stochastiques itérés fondés sur les mécanismes de la sélection naturelle et de la génétique.

Leur fonctionnement est relativement simple :

1. Nous partons avec une population de solutions potentielles (chromosomes) initiales arbitrairement choisies

2. Nous évaluons leur performance (fitness) relative

3. Sur la base de ces performances, nous créons une nouvelle population de solutions potentielles en utilisant des opérateurs évolutionnaires simples : la sélection, le croisement et la mutation.

4. Nous recommençons ce cycle jusqu'à ce que nous trouvions une solution satisfaisante.

Les AGs ont été initialement développés par John Holland (1975). C'est au livre de Goldberg (1989) que nous devons leur popularisation. Leurs champs d'application sont très vastes. Outre l'économie (minimisation du risque des portefeuilles), ils sont utilisés pour l'optimisation de fonctions, en finance, en théorie du contrôle optimal (recherche opérationnelle), ou encore en théorie des jeux répétés et différentiels (en l'occurence dans les jeux évolutionnaires et le dilemne du prisionner) et la recherche d'information (Google) ainsi que la recherche des plus courts chemins en théorige des graphes (routages Internet ou GPS). La raison de ce grand nombre d'applications est claire : simplicité et efficacité. Bien sûr, d'autres techniques d'exploration stochastiques existent, la méthode de Monte-Carlo peut-être considéré comme un concept similaire.

Pour résumer, Lerman et Ngouent (1995) distinguent quatre principales propriétés qui font la différence fondamentale entre ces algorithmes et les autres méthodes :

P1. Les algorithmes génétiques utilisent un codage des paramètres, et non les paramètres eux-mêmes.

P2. Les algorithmes génétiques travaillent sur une population de points, au lieu d'un point unique.

P3. Les algorithmes génétiques n'utilisent que les valeurs de la fonction étudiée, pas sa dérivée, ou une autre connaissance auxiliaire.

P4. Les algorithmes utilisent des règles de transition probabilistes, et non déterministes.

La simplicité de leurs mécanismes, la facilité de leur mise en application et leur efficacité même pour des problèmes complexes ont conduit à un nombre croissants de travaux ces dernières années.

Définitions:

D1. Un "algorithme génétique" est défini par un individu/chromosome/séquence et une solution potentielle au problème donné.

D2. Une "population" est un ensemble de chromosomes ou de points de l'espace de recherche

D3. "L'environnement" est assimilé à l'espace de recherche

D4. La fonction que nous cherchons à optimiser est appelée "fonction de fitness"

Avant d'aller plus loin, il faut définir de manière plus formelle les concepts précédents (mais sous l'hypothèse particulière ! de codage binaire).

Définition: Les organismes en compétitions sont appelées "individus". Soit un alphabet equation, nous supposerons que chaque individu peut être représenté par un mot de longueur fixe l pris dans equation. Le mot A associé à un individu de la population sera appelé "chromosome" ou "séquence" (le terme n'est pas tout à fait équivalent à son homonyme biologique, cependant c'est une pratique courant que d'utiliser ce terme ici aussi) et donné donc par A de longueur l(A) avec equation (cause : hypothèse du codage binaire).

Dans la mesure où il n'y aura pas de risque de confusion, nous identifierons les termes individus et chromosome.

Les individus forment un population P de taille N, notée :

equation   (108)

Nous allons faire une autre assertion importante, c'est-à-dire, qu'il existe une fonction f d'une séquence à valeurs positives que nous noterons equation, dite "fonction de fitness" qui à tout equation associe un réel tel que :

equation   (109)

si et seulement si equation est mieux adapté au milieu queequation.

Remarquons que le terme "adapté" n'est pas défini. Pour cela, il faudrait caractériser le milieu dans lequel évoluent les individus, ce que nous ne ferons pas. En fait, puisque nous supposons l'existence d'une telle fonction et que nous posons l'équivalence avec le degré d'adaptation, celui-ci est automatiquement défini par la donnée de f.

Nous nommerons "génération" une population à un instant t, ce qu'il faut mettre en relation avec la notion de durée de vie ou d'âge. Cependant, nous nous placerons ici dans le cas particulier où chaque individu a une durée de vie égale à 1, donc la génération (t+1) est constituée d'individus différents de la génération t, nous les appellerons les "descendants". Réciproquement, les individus de la génération t seront les "ancêtres" des individus de la génération (t+1). Nous désignerons la génération t par P(t) soit la population à l'instant t.

Ainsi, un chromosome est vu comme une suite de bits en codage binaire appelé aussi "chaîne binaire". Dans le cas d'un codage non binaire, tel que le codage réel par exemple, alors la suite A ne contient qu'un point, nous avons equation avec equation

remarque Remarque: La fitness (efficacité) est donc donnée par une fonction à valeurs positives réelles. Dans le cas d'un codage binaire, nous utiliserons souvent une fonction de décodage d qui permettra de passer d'une chaîne binaire à un chiffre à valeur réelle :

equation   (110)

La fonction de fitness est alors choisie telle qu'elle transforme cette valeur en valeur positive soit :

equation   (111)

fin remarque

Le but d'un algorithme génétique est alors simplement de trouver la chaîne qui maximise cette fonction f. Bien évidemment, chaque problème particulier nécessitera ses propres fonctions d et f.

Les AGs sont alors basés sur les phases suivantes :

1. Initialisation : une population initiale de N chromosomes est tirée aléatoirement

2. Évaluation : chaque chromosome est décodé puis évalué

3. Sélection : création d'une nouvelle population de N chromosomes par l'utilisation d'une méthode de sélection appropriée.

4. Reproduction : possibilité de croisement et mutation au sein de la nouvelle population

5. Retour à la phase d'évaluation jusqu'à l'arrêt de l'algorithme

CODAGE ET POPULATION INITIALE

Il existerait trois principaux type de codage : (1) Binaire, (2) Gray, (3) Réel. Nous pouvons facilement passer d'un codage à l'autre. Certains auteurs n'hésitent pas, par ailleurs, à faire le parallèle avec la biologie en parlent de génotype (cf. chapitre de Dynamique Des Populations) en ce qui concerne la représentation binaire d'un individu, et de phénotype (cf. chapitre de Dynamique Des Populations) pour ce est de sa valeur réelle correspondante dans l'espace de recherche.

Rappelons que la transformation la plus simple (fonction de décodage d) d'une chaîne binaire A en nombre entier x s'opère par la règle suivante (cf. chapitre sur les Nombres) :

equation   (112)

Ainsi le chromosome equation vaut trivialement :

equation  (113)

Evidemment, la fonction d sera modifiée (par tâtonnements!) selon le problème. Ainsi, si nous cherchons à maximiser une fonction equation une méthode possible serait la suivante (la taille du chromosome dépendant bien évidemment de la précision voulue) :

equation   (114)

ce qui peut s'assimiler à une série harmonique. Pour une précision au cinquième chiffre après la virgule nous imposerons equation puisque :

equation   (115)

Une autre façon de faire serait de choisir d telle que :

equation   (116)

Petite explication :

equation   (117)

Posons equation :

equation   (118)

Ainsi, avec equation nous avons equation et :

equation   (119)

La précision demandée y étant toujours vérifiée puisque :

equation   (120)

Cette dernière règle peut se généraliser. Ainsi, admettons que nous cherchons à maximiser (normaliser serait un terme peut-être plus correct) f en fonction d'une variable réelle x. Soit equation, avec equation, l'espace de recherche permis avec equation et equation les bornes inférieures et supérieures. Soit prec la précision (chiffre après la virgule) avec laquelle nous cherchons x. Soit equation la longueur de l'intervalle D. Nous devons alors diviser cet intervalle au pire en :

equation   (121)

sous-intervalles égaux afin de respecter la précision. Par exemple, soit equation nous avons donc equation si nous voulions une précision equation, alors il nous faut diviser cet intervalle en equation sous intervalles.

Avec s l'entier naturel tel que equation (dans notre exemple, equation car equation), la transformation d'une chaîne binaire equation en un nombre réel x peut alors s'exécuter en trois étapes :

1. Conversion (base 2 en base 10) :

equation   (122)

2. Normalisation :

equation   (123)

3. Maximisation :

equation   (124)

ou ce qui revient au même directement en une seule étape par :

equation   (125)

Ainsi pour equation, et equation nous retrouvons bien :

equation   (126)

Pour ce qui est de la phase d'initialisation, la procédure est assez simple. Elle consiste en un tirage aléatoire de N individus dans l'espace des individus permis. En codage binaire, selon la taille l de la chaîne, nous effectuons pour un chromosome l tirages dans equation avec équiprobabilité.

LES OPÉRATEURS

Les opérateurs jouent un rôle prépondérant dans la possible réussite d'un AG. Nous en dénombrons trois principaux : l'opérateur de sélection, de croisement et de mutation. Si le principe de chacun de ces opérateurs est facilement compréhensible, il est toutefois difficile d'expliquer l'importance isolée de chacun de ces opérateurs dans la réussite de l'AG. Cela tient pour partie au fait que chacun de ces opérateurs agit selon divers critères qui lui sont propres (valeur sélective des individus, probabilité d'activation de l'opérateur, etc.).

OPÉRATEUR DE SÉLECTION

Cet opérateur est peut-être le plus important puisqu'il permet aux individus d'une population de survivre, de se reproduire ou de mourir. En règle général, la probabilité de survie d'un individu sera directement reliée à son efficacité relative au sein de la population.

Il existe plusieurs méthodes pour la reproduction .La méthode la plus connue et utilisée est sans nul doute, la roue de loterie biaisée (roulette wheel) de Goldberg (1989). Selon cette méthode, chaque chromosome sera dupliquée dans une nouvelle population proportionnellement à sa valeur d'adaptation. Nous effectuons, en quelque sorte, autant de tirages avec remises qu'il y a d'éléments dans la population. Ainsi, dans le cas d'un codage binaire, la fitness d'un chromosome particulier étant equation, la probabilité avec laquelle il sera réintroduit dans la nouvelle population de taille N est :

equation   (127)

Les individus ayant une grande fitness ont donc plus de chance d'être sélectionnées. Nous parlons alors de "sélection proportionnelle".

L'inconvénient majeur de cette méthode repose sur le fait qu'un individu n'état pas le meilleur pourrait tout de même dominer la sélection (imaginez la recherche du maxima d'une fonction dans equation, il peut y en a avoir plusieurs – de maxima - et donc mauvaise sélection...), nous parlerons alors à juste titre de "convergence prématurée" et c'est l'un des problèmes les plus fréquents lors de l'utilisation des algorithmes génétiques. Elle peut aussi donc engendrer une perte de diversité par la domination d'un super individu. Un autre inconvénient est sa faible performance vers la fin quand l'ensemble des individus se ressemblent.

Une solution a ce problème ne tient pas dans l'utilisation d'une autre méthode de sélection mais dans l'utilisation d'une fonction de fitness modifiée. Ainsi, nous pouvons utiliser un changement d'échelle (scaling) afin de diminuer ou accroître de manière artificielle l'écart relatif entre les fitness des individus.

Brièvement, il existe d'autres méthodes, la plus connue étant celle du tournoi (tournament selection) : nous tirons deux individus aléatoirement dans la population et nous reproduisons le meilleur des deux dans la nouvelle population. Nous refaisons cette procédure jusqu'à ce que la nouvelle population soit complète. Cette méthode donne de bons résultats. Toutefois, aussi important que soit la phase de sélection, elle ne crée pas de nouveau individus dans la population. Ceci est le rôle des opérateur de croisement et de mutation.

OPÉRATEUR DE CROISEMENT

L'opérateur de croisement permet la création de nouveaux individus selon un processus fort simple. Il permet donc l'échange d'information entre les chromosomes (individus). Tout d'abord, deux individus, qui forment alors un couple, sont tirés au sein de la nouvelle population issue de la reproduction. Puis un (potentiellement plusieurs) site de croisement est tiré aléatoirement (chiffre entre 1 et l-1). Enfin, selon une probabilité equation que le croisement s'effectue, les segments finaux (dans le cas d'un seul site de croisement) des deux parents sont alors échangés autour de ce site :

equation
  (128)

Cet opérateur permet la création de deux nouveaux individus. toutefois, un individu sélectionné lors de la reproduction en subit pas nécessairement l'action d'un croisement. Ce dernier ne s'effectue qu'avec une certaine probabilité. Plus cette probabilité est élevée et plus la population subira de changement.

Quoi qu'il en soit, il se peut que l'action conjointe de la reproduction et du croisement soit insuffisante pour assurer la réussite de l'AG. Ainsi, dans le cas du codage binaire que nous avons choisi jusqu'ici, certaines informations (in extenso : caractères de l'alphabet) peuvent disparaître de la population. Ainsi aucun individu de la population initiale ne contient de 1 en dernière position de la chaîne, et que ce 1 fasse partie de la chaîne optimale à trouver, tous les croisement possibles ne permettront pas de faire apparaître ce 1 initialement inconnu. En codage réel, une telle situation peut arriver si utilisant un opérateur simple de croisement, il se trouvait qu'initialement toute la population soit comprise entre 0 et 40 et que la valeur optimale était de 50. Toutes les combinaisons convexes possibles de chiffres appartenant à l'intervalle [0,40] ne permettront jamais d'aboutir à un chiffre de 50. C'est pour remédier entre autre à ce problème que l'opération de mutation est utilisé.

OPÉRATEUR DE MUTATION

Le rôle de cet opérateur est de modifier aléatoirement, avec une certaine probabilité, la valeur d'un composant de l'individu. Dans le cas du codage binaire, chaque bit equation est remplacé selon une probabilité equation par son inverse equation. C'est ce qu'il illustre la figure ci-dessous. Tout comme plusieurs lieux de croisement peuvent être possibles, nous pouvons très bien admettre qu'une même chaîne puisse subir plusieurs mutations.

equation
  (129)

La mutation est traditionnellement considérée comme un opérateur marginal bien qu'elle confère en quelque sorte aux algorithmes génétiques la propriété d'ergodicité (in extenso : tous les points de l'espace de recherche peuvent être atteints). Cet opérateur est d'une grande importance. Il a de fait un double rôle : celui d'effectuer une recherche locale et/ou de sortir d'une trappe (recherche éloignée).

Les opérateurs de l'algorithme génétique sont guidés par un certain nombre de paramètres fixés à l'avance. La valeur de ces paramètres influence la réussite ou non d'un algorithme génétique. Ces paramètres sont les suivants :

- La taille de la population N, et la longueur du codage de chaque individu l (dans le cas de codage binaire). Si N est trop grand, le temps de calcul de l'algorithme peut s'avérer très important, et si N est trop petit, il peut converger trop rapidement vers un mauvais chromosome.

- La probabilité de croisement equation. Elle dépend de la forme de la fonction de fitness. Son choix est en général heuristique (tout comme pour equation). Plus elle est élevée, plus la population subit évidemment de changements importants. Les valeurs généralement admises sont comprises entre 0.5 et 0.9.

- La probabilité de mutation equation. Ce taux est généralement faible puisqu'un taux élevé risque de conduire à une solution sous-optimale.

Plutôt que de réduite equation, une autre façon d'éviter que les meilleurs individus soient altérés est d'utiliser la reconduite explicite de l'élite dans une certaine proportion. Ainsi, bien souvent, les meilleurs 5%, par exemple, de la population sont directement reproduits à l'identique, l'opérateur de reproduction ne jouant alors que sur les 95% restant. Cela est appelée une "stratégie élitiste".

Parant du constat que les valeurs des paramètres des différents opérateurs sont eux-mêmes inconnus et ne peuvent être améliorés au fur et à mesure que de manière expérimentale, certains auteurs, tels que Novkovic et Sverko (1997), proposent d'utiliser une sorte de méta-AG : l'un pour trouver l'individu optimal et l'autre pour trouver la valeur optimale des paramètres. Ces deux algorithmes tourneraient alors simultanément ou séquentiellement. Toutefois, il est inévitable que le temps de calcul (la complexité algorithmique) s'alourdisse en conséquence.

Voyons maintenant un exemple d'AG (exemple de Goldberg – 1989). Il consiste à trouver le maximum de la fonction equation sur l'intervalle [0,31] où x est un entier. La première étape consiste à coder la fonction. Par exemple, nous utilisons un codage binaire de x, la séquence (chromosome) contenant au maximum 5 bits. Ainsi, nous avons equation, de même equation. Nous recherchons donc le maximum d'une fonction de fitness (nous choisirons equation lui-même dans cet exemple simple) dans un espace de 32 valeurs possible de x.

1. Tirage et évaluation de la population initiale

Nous fixons la traille de la population à equation. Nous tirons donc de façon aléatoire 4 chromosomes sachant qu'un chromosome est composé de 5 bits, et chaque bit dispose d'un probabilité ½ d'avoir une valeur 0 ou 1. Le maximum, (au hasard) 16 est atteint par la deuxième séquence. Voyons comment l'algorithme va tenter d'améliore ce résultat.

D'abord nous obtenons le tableau suivant :

Chromosome

Valeur

Fitness f(x)

Pi %

1

00101

5

5

14.3

2

10000

16

16

45.7

3

00010

2

2

5.7

4

01100

12

12

34.3

Total

   

35

100

  (130)

Nous tournons donc quatre fois cette roue pour obtenir la séquence suivante :

Tirage

Chromosome

1

10000

2

01100

3

00101

4

10000

  (131)

Nous voyons bien ici le risque que nous aurions à perdre la séquence N° 2 dès le départ... c'est le problème de cette méthode. Elle peut converger moins vite que d'autres. Cependant, le lecteur remarquera que nous avons perdu la séquence N° 3.

Nous passons maintenant à la partie du croisement : les parents sont sélectionnées au hasard. Nous tirons aléatoirement un lieu de croisement ("site" ou "locus") dans la séquence. Le croisement s'opère alors à ce lieu avec une probabilité equation. Le tableau ci-dessous donne les conséquences de cet opérateur en supposant que les chromosomes 1 et 3, puis 2 et 4 sont appariés et qu'à chaque fois le croisement s'opère (par exemple avec equation).

 

l=2

l=3

Séquences d'origine

100|00

01|100

001|01

10|000

Séquences croisées

10001

01000

00100

10100

  (132)

Nous passons maintenant à la partie mutation : dans cet exemple à codage binaire, la mutation est la modification aléatoire occasionnelle (de faible probabilité) de la valeur d'un bit (inversion d'un bit). Nous tirons ainsi pour chaque bit un chiffre aléatoire entre 0 et 1 et si ce chiffre est inférieur à equation alors la mutation s'opère. Le tableau ci-dessous avec equation met en évidence ce processus :

Anc. Chr.

Tirage aléa.

Nouveau bit

Nouveau Chr.

10001

15 25 36 04 12

1

10011

00100

26 89 13 48 59

-

00100

01000

32 45 87 22 65

-

01000

10100

47 01 85 62 35

1

11100

  (133)

Maintenant que la nouvelle population est entièrement créée, nous pouvons de nouveau l'évaluer :

Chromosome

Valeur

Fitness f(x)

Pi %

1

10011

19

19

32.2

2

00100

4

4

6.8

3

01000

8

8

13.5

4

11100

28

28

47.5

Total

   

59

100

  (134)

Le maximum est maintenant 28 (N° 4). Nous sommes donc passé de 16 à 28 après une seule génération. Bien sûr, nous devons recommencer la procédure à partir de l'étape de sélection jusqu'à ce que le maximum global, 31, soit obtenu, ou bien qu'un critère d'arrêt ai été satisfait.

remarque Remarque: Il est possible de démontrer mathématiquement, ce qui est remarquable !!!, que les portions de chromosomes qui se retrouvent chez les meilleurs individus vont avoir tendance à se reproduire...
fin remarque

Haut de page

METHODES NUMERIQUES (1/2)FRACTALS

 
 

2002-2009 Sciences.ch
Ce document et son contenu n'est soumis à aucune licence!