• Aucun résultat trouvé

Énoncé de TD

N/A
N/A
Protected

Academic year: 2022

Partager "Énoncé de TD"

Copied!
2
0
0

Texte intégral

(1)

Algorithmes Évolutionnaires — Master 2 MIAGE IA

2

Travaux dirigés N

o

5 : régression symbolique

Andrea G. B. Tettamanzi Université côte d’Azur

andrea.tettamanzi@univ-cotedazur.fr Année universitaire 2021/2022

Résumé

Dans cette séance, nous appliquerons la programmation génétique à un problème de régression symbolique. Pour ce faire, nous utiliserons leframework DEAP.

1 Introduction

Dans la régression, on cherche à ajuster les paramètres d’un modèle (linéaire, logistique, ou autre) pour approcher une variable à partir d’autres qui lui sont corrélées. Pourtant, la forme générale du modèle est donnée ou, dit autrement, le modèle est une hypothèse. La régression symbolique, par contre, consiste à chercher un modèle (c-à-d une fonction) qui approche la va- riable cible à partir des autres, sans faire d’hypothèses sur sa forme. La programmation génétique semble donc un outil parfaitement adapté pour ce genre d’exercice.

Nous allons utiliser le framework DEAP pour développer une approche de la régression symbolique basée sur la programmation génétique. Nous supposerons que le jeu de données du problème à résoudre soit donné dans un fichier en format TSV (de l’anlaistab-separated values), dont la première ligne contient les noms des variables et les lignes suivantes contiennent les observations dont ont dispose. La variable à approcher à partir des autres est, par convention, la dernière. Un exemple d’un tel fichier est le suivant :

x1 x2 y

1.0 0.0 1.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 2.0 1.0 2.0 3.0 2.0 1.0 3.0

2 Consignes

1. Vous pouvez vous inspirer du tutoriel avancé de DEAP sur la programmation génétique.

2. Choisissez un ensemble d’opérations primitives suffisant pour exprimer même les fonctions les plus complexes ; outre aux opérations arithmétiques, pensez à inclure aussi l’exponen- tiel, le logarithme et des fonctions trigonométriques.

3. Faites attention aux opérations/fonctions dont le domaine de définition ne coincide pas avec R: pour éviter tout problème, redéfinissez-les pour les « protéger » des arguments hors domaine.

1

(2)

4. Utilisez l’erreur quadratique moyenne comme critère d’optimisation (à minimiser). Soit yla variable cible, x1, . . . , xnles autres variables et f la fonction réalisée par l’individu à évaluer ; l’erreur quadratique moyenne def est défini comme

EQ(f) = 1 N

N

X

i=1

(y(i)−f(x(i)1 , . . . , x(i)n ))2, (1)

oùN est le nombre d’observations fournies.

5. Créez un jeu de données bateau pour tester votre algorithme pendant son développement.

6. Une fois que vous êtes sûrs que votre algorithme marche correctement, essayez-le sur un jeu de données plus difficile. Vous pouvez en trouver en grand nombre, par exemple, sur le site https://www.kaggle.com. Veillez à en choisir un où les variables sont toutes numériques.

7. Vous constaterez peut-être que les fonctions trouvées par votre algorithme sont trop compliquées. Dans ce cas, vous pourriez décider de pénaliser les modèles inutilement compliqués en introduisant un autre critère d’optimisation, basé par exemple sur la taille de l’arbre syntaxique d’un individu. Vous pouvez le garder comme critère séparé (auquel cas, votre problème deviendra multi-objectif et vous chercherez donc un front de Pareto de solutions non dominées) ou bien le combiner avec l’erreur quadratique moyenne, en le traitant à l’instar d’une fonction de pénalisation).

Rendez votre code et vos observations par courriel, dans un archive zippé.

2

Références

Documents relatifs

Comme le procédé que je vais développer , pour la solution de chacun des deux problèmes est exactement le même , quel que soit le nombre des cotés ( plus grand

Bien évidemment nous connaissons la solution à l'avance (c'est la chaine 111. .1), mais nous souhaitons que l'algorithme génétique la découvre tout seul, en ayant comme seul indice

Cela s'adapte parfaitement à un algorithme génétique simple, qui représente une solution candidate avec une chaîne de chires binaires!.

Accessoirement, des contraintes peuvent être imposées sur les choix admissible, comme un poids minimum et maxi- mum pour certaines classes d’actifs (par exemple,

Dans les deux cas, il y a des avantages et des inconvénients : si on décide de coder soi-même, il fau- dra investir du temps dans le développement, mais on aura un contrôle et

Téléchargez les données brutes pour la dernière année an par an (depuis la même date qu’aujourd’hui l’année dernière jusqu’à hier : c’est l’option par défaut).. Ne

R ÉSUMÉ. Comment concilier réfutation du critère par les sceptiques et adop- tion d’un critère par les sceptiques ? La première partie de l’article revient sur les formulations

Le réglage de l’entraxe des 3 broches s’effectue après desserrage de l’écrou 14 en faisant tourner, autour de XX’, les fourre au x 17 dans leur logement respectif prévu sur