Nettoyage avant apprentissage: principe de la mise en quarantaine

09 Déc 2020

Nettoyage avant apprentissage: principe de la mise en quarantaine

Pour un client cherchant à analyser le niveau d’usure de certaines pièces mécaniques vous devez mettre en place un système prédictif à partir d’un historique de données contenant 2 millions d’enregistrements, chacun composé de quelques centaines de mesures numériques (par exemple par ultrason) et de 3 photos prises en noir & blanc (vue 3D totale de la pièce). La prédiction à faire est une classification à 3 états : 0=rien à signaler, 1=pièce corrompue à changer et 2=état dégradé, à surveiller.

Le client vous signale que sur les 2 millions de cotations humaines, certaines sont « incorrectes » ou a minima discutables, et que d’autres ont eu des photographies parfois incorrectement attachées ; et que sur cet historique portant sur un grand nombre d’années, humainement il ne sait absolument pas comment « nettoyer » ses bases de données de ces diagnostics pollueurs, sauf en « tombant » dessus par hasard.

C’est à vous de jouer, vous avez carte blanche, mais le budget est léger (comme d’hab) et le temps de production, assez court ; donc il va falloir taper juste, vite et bien 😉.

L’idée ici n’est pas de présenter des résultats dans les détails, mais d’offrir un point de vue, discutable, sur certaines approches possibles (parmi beaucoup d’autres), bref, la vraie vie ! On ne propose pas ici la « top meilleure approche de tous les temps » comme on trouve partout, mais simplement on propose UNE approche, comme on sait faire!

Donc tapons vite & bien comme on a dit : laissons tomber une analyse fine et une sélection d’un sous-ensemble pertinent, créons de suite 300 modèles en automatique (1) sur l’ensemble des données et (2) sur des sélections aléatoires de 60% des données. Si le prédicteur (1) a une précision de 99%, alors l’impact des diagnostics erronés est négligeable de façon possiblement suffisante mais non nécessairement. Bien évidemment, ce n’est pas le cas, la précision est de l’ordre de 85%. L’approche 2 nous fournit alors une distribution de précisions à 300 valeurs, et ses valeurs extrêmes vont nous permettre d’essayer de « deviner » le « poids » de ces diagnostics incorrects dans l’apprentissage, en constatant par exemple la dispersion faible ou forte de la précision. Oui, ce n’est pas parfait, mais c’est pragmatique.

Avant de continuer, précision ce sur quoi nous effectuons les apprentissages : chaque enregistrement (représentant une cotation) contient

  1. Les valeurs des différentes mesures numériques,
  2. Un ensemble de valeurs numériques extraites de chacune des 3 photos, représentant les « caractéristiques » de la photo.

Libre à vous de choisir l’algorithme d’extraction des caractéristiques d’une image qui vous sied le mieux (contours, stochastique, gradients…). Ce qui est important ici, c’est que vous tentiez une approche brutale & rapide en créant des modèles de suite, comme c’est souvent le cas. Chez NEHOOV, notre technologie nous permet aussi de connaitre les champs d’entrée effectivement utiles, et le constat pour tous les modèles construits est clair : environ 45% des champs numériques sont utilisés, dont la quasi-totalité des champs non issus des photos  (ouf monsieur le client, votre métier est pertinent 😊), et un bon nombre des caractéristiques photos aussi, pour les 3 photos.

L’analyse de la distribution de précision est sans détour (utilisez pour cela ce qui vous plait: Kolmogorov Smirnov, Cramer Von Mise, Jansen…): il y a lieu de mettre en quarantaine effectivement le set de cotations corrompues (si on le connaissait…), ou en tout cas un set les contenants « au mieux ».

A partir de là, nous décidons d’effectuer 3 approches :

  1. Non supervisée : création d’une clustérisation par cartes auto-organisatrices
  2. Non supervisée : création d’une clustérisation par cartes auto-organisatrices PAR BLOCS,
  3. Semi-supervisée : croisement des cartes 1 & 2 avec les sorties d’un classifieur crée avec/sans quarantaine.

 Le classifieur de l’approche 3 est un prédicteur à trois états 0,1 ou 2, créé par apprentissage avec ou sans la mise en quarantaine (voir plus bas). Pour les approches 1 & 2, rappelons qu’une carte auto-organisatrice est un réseau de neurones où chaque neurone contient après apprentissage un ensemble de cotations, d’où une clustérisation (on dit aussi segmentation) naturelle.

Pour l’approche 1, on créé des cartes tri-dimensionnelles à 500 clusters sur les données d’entrée (numériques + photos), SANS la cible ; nous avons choisi un environnement 3D afin que l’algorithme itératif de mise à jour des poids sur le voisinage d’un neurone soit plus « dense » qu’en 2D.

Pour l’approche 2, on créé des cartes à 100 clusters sur les données numériques, ainsi que des cartes à 100 clusters sur les photos, puis on effectue l’intersection de ces cartes, obtenant donc environ 10 000 clusters. Appelons ces intersections des « bi-cartes ».

En reprenant le champ « cotation » que nous avions mis de côté, pour une carte donnée, pour chaque neurone, on peut regarder la proportion des cotations valant 0, 1 et 2. Si la « discrétisation » produite par la carte était parfaite, nous n’aurions, pour chaque neurone, qu’une seule valeur de cotation. Bien évidemment, ce n’est pas le cas : ci-dessous, pour une carte de l’approche 1, on donne par neurone le % de la classe 0, 1 ou 2 la plus présente (nous avons trié les neurones de façon décroissante via ces %):

La discrétisation ici n’est pas mauvaise (beaucoup de 100%), mais pas parfaite. L’approche 2, par bi-carte, donne de meilleurs résultats, mais attention, avec 10 000 clusters, nous avons aussi un paquet de clusters ne contenant qu’une seule cotation, donc on ne peut pas dire grand-chose, et c’est bien, car ces cotations sont des points relativement isolés dans l’espace de recherche, donc a priori on ne peut rien en dire. L’approche 2 a aussi l’avantage de bien isoler par neurones des plages numériques et des classes de photos spécifiques, alors que dans l’approche 1 nous avons plus « d’effets de bord ».  Donc nous décidons de rester sur l’approche 2.

Pour toute carte de l’approche 2, isolons les neurones contenants chacun plus de 10 éléments avec un poids de cotation la plus présente inférieure à 90% : par cette méthode de sélection, nous obtenons alors en moyenne 1% de cotations, et celles-ci nous allons les mettre en QUARANTAINE, en considérant que ces enregistrements sont douteux. Bien évidemment, nous demandons au préalable au client de regarder au hasard quelques enregistrements et de nous confirmer que ceux-ci ne doivent pas être utilisés pour l’apprentissage (erreur humaine, décision humaine discutable, erreur de photos incorrectement attachées).

Nous passons alors à l’approche 3, en

  • Créant des prédicteurs sur l’entièreté des données (appelons-les les P),
  • Créant des prédicteurs sur les données auxquelles nous avons retiré celles en quarantaine (appelons-les les P-Q).

Il n’est pas l’objet ici de décrire la méthode de création des prédicteurs, disons juste que nous avons opté pour des réseaux de neurones profonds créés par algorithmes génétiques en cascade (pour gagner du temps!). Ce qu’il est important de mentionner au niveau des résultats, c’est

  1. Le niveau de précision sur les cotations en quarantaine est très mauvais, que ce soit avec les P ou les P-Q ;
  2. Le niveau de précision du meilleur P-Q sur les données autres que celles mise en quarantaine, dépasse 97% (98% sur le set d’apprentissage et 96.5% sur le set de validation).

Le client a validé cette approche! Elle a permis d’isoler un ensemble de cotations « douteuses » grâce à une bi-carte, puis de créer un prédicteur/classifieur sur le set de cotations restant. L’analyse des enregistrements mis en quarantaine est en cours d’étude par le client, étude « aléatoire », car il y a quand même plus de 22 000 enregistrements en quarantaine!

Il est probablement possible d’avoir une approche plus performante, mais pas dans le délai qui nous était imposé. A l’impossible nul n’est tenu, mais à toute demande, une solution pragmatique doit être proposée, en tout cas c’est un de nos leitmotivs chez NEHOOV !

Share

Laisser un commentaire