Les algorithmes évolutionnaires appliqués à la classification

Article Mikhail Kamalov Algorithmes évolutifs

Mikhail Kamalov est un doctorant INRIA financé par MyDataModels. Nous l’avions interviewé une première fois quand il a publié son premier article scientifique à propos de classification semi-supervisée appliquée à la classification de documents en novembre dernier.

Un autre de ses articles a été accepté pour publication en ce mois de mai dans une conférence prestigieuse : EUSIPCO. Nous aimerions en savoir plus à propos de ce deuxième article et en particulier à propos de son usage innovant des algorithmes évolutionnaires pour la classification.

MyDataModels : Bonjour Mikhail, ravie de vous revoir. Félicitations pour la publication de votre article dans EUSIPCO.

Mikhail : Merci. Nous sommes très contents de cette publication dans l’équipe.

MyDataModels : est-ce que cette publication a été plus simple à obtenir que celle du premier article ?

Mikhail : je pense qu’il n’est jamais simple d’aboutir à la publication d’un article dans une revue scientifique. En tant que scientifiques, nous nous sentons humbles devant les challenges auxquels nous faisons face. Pour cet article en particulier nous avons dû le retravailler plusieurs fois en fonction des retours reçus de la part des examinateurs. Mais au moins je m’améliore sur les aspects pédagogiques. C’est un très bon apprentissage.

Est-ce que le sujet concerne les algorithmes évolutionnaires appliqués à la classification ?

Mikhail : il s’agit de plus que de cela. Il est vrai que nous traitons des algorithmes évolutionnaires pour la classification mais pas uniquement.

Qu’est-ce que cela veut dire ? Vous traitez d’analyse de données ? D’analyse prédictive ? D’analyse augmentée ?

Mikhail (riant) : en effet tout le vocabulaire autour de l’analyse de données est très à la mode. Qu’il s’agisse de l’analyse des données, de l’analyse augmentée ou de l’analyse prédictive. Mais en tant que scientifique, ce sont tous des cas d’usage. Ce sont des exemples d’applications et d’utilisation de ce que je fais. Ce n’est pas le cœur de ce que j’ai fait.

MyDataModels : est-ce que ça veut dire que vous ne vous souciez pas d’analyse de données mais seulement d’algorithme évolutionnaire ?

Mikhail : non. Je me soucie des cas d’application de ma recherche. Simplement ma contribution se focalise sur les algorithmes eux-mêmes. Les cas d’usage et d’application sont des illustrations de ce que je peux faire.

MyDataModels : OK. Quel est le sujet de votre contribution dans ce cas ? Les algorithmes d’apprentissage semi-supervisés ?

Mikhail : oui en grande partie.

En quoi consistent les autres parties ? En algorithme génétique ?

Mikhail : oui il s’agit bien des deux.

MyDataModels : mais ces deux familles d’algorithmes n’ont rien en commun. Vous ne pouvez pas utiliser les deux ensembles, si ?

Mikhail : si c’est possible de les utiliser ensemble.

MyDataModels : pouvez-vous nous en dire plus ?

Mikhail : il est en effet possible de combiner des algorithmes différents en intelligence artificielle. Il existe une technique appelée le stacking. En d’autres termes c’est l’empilage. Cette technique consiste à empiler des modèles d’intelligence artificielle un peu comme on le ferait avec des blocs de Lego. Il y a les modèles de bases qui sont un peu comme les briques de Légo elles-mêmes. Et il y a le modèle final qui est une construction obtenue à partir de la combinaison des briques de Légo. Au niveau zéro, il y a plusieurs modèles de base. Ce qu’ils génèrent nourrit la prochaine couche de modèles ce qui permet de former au final une espèce de pyramide ou un pipeline de modèle. Les modèles qui composent cette construction sont générés à partir d’algorithmes d’intelligence artificielle complètement différents qui n’ont aucun lien les uns avec les autres.

MyDataModels : d’accord je saisis. On peut encapsuler à la queue leu leu des modèles complètement différents donc des algorithmes complètement différents. Dans quel intérêt ?

Mikhail : le but est d’obtenir une performance supérieure en combinant les modèles aux performances qu’on obtient avec les modèles individuels.

MyDataModels : est-ce que cela veut dire qu’ à chaque fois qu’on encapsule ou qu’on empile des algorithmes, la performance de l’ensemble est supérieure aux performances individuelles de chaque algorithme ?

Mikhail : ce n’est pas systématique non. Quelquefois la performance de l’ensemble est supérieure et dans d’autres cas, elle ne l’est pas.

MyDataModels : et donc quels sont les algorithmes que vous avez empilés dans cet article ?

Mikhail : nous avons empilé un algorithme semi-supervisé avec un algorithme génétique.

MyDataModels : pourquoi faire une chose pareille ?

Mikhail : parce que notre algorithme génétique ZGP a besoin en entrée de données complètement labellisées. Chaque donnée fournie en entrée de ZGP pour son entraînement doit être identifiée comme appartenant à une catégorie donnée c’est-à-dire à une classe. Et c’est grâce à ces données complètement labellisées que ce ZGP apprend à classifier. C’est une des forces de ZGP. Il est excellent en classification. C’est un algorithme évolutionnaire fait pour la classification (au moins dans ce contexte).

MyDataModels : et une fois qu’il a été entraîné il peut classifier de nouvelles données tout seul ?

Mikhail : exactement.

MyDataModels : d’accord alors pourquoi chercher à empiler cet algorithme avec un autre ?

Mikhail : parce que dans des situations réelles on collecte des données mais c’est compliqué ça prend beaucoup de temps de labelliser chaque donnée manuellement.

MyDataModels : vous voulez dire que la classification est faite à la main pour les données d’entraînement ?

Mikhail : oui. Ce sont des êtres humains qui labelisent chaque donnée à la main.

Est-ce que cela dépend du cas d’usage ? Est-ce que c’est la même chose sinon on fait de l’analyse prédictive, de l’analyse de données ou de l’analyse augmentée ?

Mikhail : cela prend beaucoup de temps de labelliser de donner à la main quelles que soient les données et quel que soit le cas d’usage.

MyDataModels : OK donc c’est à ce niveau qu’interviennent les algorithmes d’apprentissage semi-supervisés ?

Mikhail : oui avec un algorithme d’apprentissage semi-supervisé tel que PRPCA on peut labelliser automatiquement tout un jeu de données à partir de quelques exemples.

MyDataModels : OK.

Mikhail : oui nous essayons de combiner les forces des algorithmes de classification semi-supervisés comme PRPCA, le fameux algorithme de Google, avec la résilience de ZGP.

MyDataModels : et c’est pour cela que vous les empilez ?

Mikhail : Oui.

MyDataModels : et donc qu’est-ce que cela donne en termes de performance ?

Mikhail : le modèle qui combine les deux algorithmes montre des performances exceptionnelles bien meilleures que chacun des algorithmes pris séparément.

MyDataModels : comment pouvez-vous mesurer cela ?

Mikhail : nous avons pris trois jeux de données. Le premier est un jeu de données que nous avons généré expérimentalement. Et les deux autres sont des jeux de données disponibles dans le domaine public. Ils se nomment DC motor (celui que nous avons généré), WII et UWave (ce qui proviennent du domaine public).

MyDataModels : comment avez-vous généré le jeu de données expérimental ?

Mikhail : pour pouvoir travailler avec des données réelles provenant de problèmes moteur, nous avons conduit nos propres expériences qui permettent de simuler des anomalies comme si nous étions dans un environnement de production. Des poids ont permis de générer des déséquilibres sur un disque plat justement monté sur un des moteurs.

MyDataModels : c’est intéressant et qu’avez-vous mesuré ?

Mikhail : nous avons mesuré les accélérations, les rotations, et le champ magnétique en utilisant un accéléromètre, un gyroscope et un magnétomètre.

MyDataModels : attendez une seconde. Si vous avez cherché à prédire une panne de moteur alors vous avez fait de l’analyse prédictive !

Mikhail : c’est vrai. C’est une combinaison d’algorithmes génétiques, d’optimisation et d’analyse prédictive.

Vous avez appliqué les algorithmes d’apprentissage semi-supervisés comme PRPCA empilé avec l’algorithme génétique ZGP sur chacun de ces trois jeux de données c’est-à-dire que vous avez fait de l’analyse de données ?

Mikhail : oui parfaitement.

MyDataModels : et comment étaient les performances de la combinaison des deux algorithmes ?

Mikhail : très bonnes. Quand on applique PRPCA seul sur le jeu de données expérimentales, on obtient une précision qui varie entre 66 % et 71 %.

MyDataModels : OK c’est déjà un très bon niveau de précision des prédictions.

Mikhail : oui mais on peut faire mieux.

Quelles sont les performances de l’algorithme ZGP seul ?

Mikhail : ZGP seul à une précision dans ses prédictions qui varie entre 26 % et 62 % sur le jeu de données expérimentales.

MyDataModels : OK et quand on combine les deux modèles ?

Mikhail : L’empilement de PRPCA (algorithme semi-supervisé) avec ZGP (algorithme génétique) fournit une précision des prédictions qui varie entre 94,2 % % et 98,8 %.

MyDataModels : formidable !

Mikhail : oui c’est probablement pourquoi le comité chargé de la sélection des articles a sélectionné celui-ci.

MyDataModels : et maintenant le modèle résultant de cette combinaison d’algorithmes peut être appliqué à n’importe quel sujet sur n’importe quel cas d’usage ?

Mikhail : a une grande variété oui. Il peut être utilisé pour faire de l’analyse de données, pour faire de l’analyse augmentée, de l’analyse prédictive. C’est l’utilisation d’algorithmes évolutionnaires semi-supervisés appliqués à la classification.

Share
Partager sur linkedin
Partager sur twitter
Partager sur facebook

Start making sense of  your data

Test easily TADA with our test data here

You might also like...

Retrouvez Alain Blancquart, notre PDG, sur le plateau de BFMTV !

MyDataModels et CIUS

MyDataModels collabore avec le CIUS dans le cadre d’un programme de recherche international

Apprentissage semi-supervisé pour la classification des documents

Roi Data Analytics

Comment générer plus de revenus en entreprise grâce à l’analyse des données?