1 of 21

Machine Learning pour le diagnostic de machines défectueuses

Aymen Baccar - Loïc Bal - Antoine Brossas - Tom Carrere - Florian Derlique

1

2 of 21

Sommaire

I - Introduction

II - Librairies et théorie des différents algorithmes étudiés

III - Mise en pratique

IV - Création et traitement d’un dataset

V - Conclusion

2

3 of 21

Introduction

3

  • Objectifs du S7 :

Créer notre propre dataset avec MATLAB et pouvoir faire des tests dessus avec nos différents algorithmes.

4 of 21

Librairies utilisées

4

  • Pandas:
    • Permet la création de Dataset.
    • Importation et lecture des données. (.csv)
    • Manipulation des données. (Numpy)
  • Seaborn :
    • Bibliothèque de visualisation de données.
    • Permet de charger et d’afficher les données sur un graphe.
    • Permet de visualiser des modèles de régression.
  • Numpy:
    • Utile pour les calculs mathématiques complexes ainsi que pour l’utilisation des vecteurs et des matrices.
    • Manipulation de tableaux de données.

5 of 21

Etude des algorithmes - Régression linéaire

5

Modèle affine : Y = aX + b

Fonction coût : Méthode des moindres carrés

Minimisation : Descente de Gradient

Note : généralisable à n dimensions

6 of 21

Etude des algorithmes - Régression linéaire

6

Points importants :

  • Utilisé pour des problèmes de prédiction

  • Peu appropriée pour les problèmes de classification

  • Inadaptée à des nuages de points

7 of 21

Etude des algorithmes - Régression logistique

7

Établir une loi de probabilité

Modèle :

Fonction coût : Vraisemblance, ie la mesure de l’adéquation entre la loi de probabilité et les données

Maximisation : Descente de Gradient

Régression logistique avec S=0

8 of 21

Etude des algorithmes - Régression logistique

8

Points importants :

  • Nécessite des échantillons de grandes tailles

  • N’a pas besoin de relation linéaire entre les caractéristiques et la cible

  • Largement utilisé pour des algorithmes de classification

9 of 21

Etude des algorithmes - Méthode Bayésienne

Établir une loi de probabilité.

Formule utilisé :

9

10 of 21

Etude des algorithmes - Méthode Bayésienne

Méthode:

  • Calcul des différentes probabilités d'appartenance à une classe.
  • Choix de la classe associé avec la probabilité la plus élevé.

Avantages:

  • Méthode nécessitant peu de valeur.
  • Facile à mettre en place, classification des données.

10

11 of 21

Mise en pratique

11

Le machine learning sur Python se déroule sur 3 étapes :

1 - Pré-traitement de données

2 - Séparation de la base de données en 2 parties (partie entrainement et test)

3 - Application des algorithmes, entraînement de la base de données

En S6 nous avons scruter la base du machine learning, mais il est important de rappeler les conclusions pour la suite

12 of 21

Mise en pratique

12

Étape 1

Pré-traitement

Étape 2

Séparation des donnée en 2 parties

Étape 3

Entraînement de la base à l’aide des algorithmes

En 3 étapes :

  • Étude de la base
  • Valeurs manquantes
  • Équilibrage données

→ Régression linéaire

→ Régression logistique

→ Naives Bayes

Étude précision :

→ Matrice de confusion

TOUT CECI GRÂCE A SKLEARN !!!

13 of 21

Mise en pratique - Conclusion pour S7

→ Algorithme de la régression linéaire à abandonner (pas adapté à notre application)

→ Algorithme de Naives Bayes à vérifier

→ Algorithme de la régression logistique semble être la meilleure option

SMOTE ≠ Bonne option

→ Nouvelle technique but du S7 : Création d’une propre dataset

13

14 of 21

Création d’une dataset:

Etude du système:

14

On dispose d’un fichier de simulation d’un moteur asynchrone triphasé réalisé sur MATLAB dont les paramètres sont modifiables.

15 of 21

Création d’une dataset:

  • L’implémentation des blocs “TO FILE” de Matlab qui servent à enregistrer les données dans un fichier d'extension mat
  • L’introduction des défauts qui caractérisent un fonctionnement défaillant.

PROBLÈMES RENCONTRÉE :

→ Impossible de tout sauvegarder sur un seul fichier d’extension .mat = Travail supplémentaire sur Python

→ Impossible de changer la fréquence d'échantillonnage pour prendre un nombre précis de données

15

Récupération de la dataset

16 of 21

Création d’une dataset:

  • L’introduction d’une nouvelle librairie sur Python pour ouvrir et traiter les fichiers .mat (mat73)
  • Algorithme pour rassembler tous les fichiers .mat

16

Pré-traitement sur Python

17 of 21

Création d’une dataset:

17

Pré-traitement de données

Équilibrage des données

Détection valeurs manquantes

→ TOUT SEMBLE BON

ou presque…

18 of 21

Création d’une dataset

Grosse erreur lors de la récupération des données :

→ Taille des données NON ÉGAUX

Pourquoi ?

Problème sur le time sample sur MATLAB : les données ne sont pas prises à un temps t fixé mais variable

→ Sur une ligne ⇒ données issue d’un temps d'acquisition différent = PROBLÈME

18

Pré-traitement de données - Problèmes rencontrés et erreurs

19 of 21

Application des différents algorithmes

Au final nous avons entraîner notre modèle avec 2 features : le couple et la vitesse, nous pouvons tracer la caractéristique couple-vitesse de notre base

19

= Pas la caractéristique souhaitée

→ A cause de la solution temporaire des données de tailles non-égaux

⇒ Seulement la partie régime transitoire prise et non les deux

⇒ Risque de problèmes dès l'entraînement

20 of 21

Application des différents algorithmes

Naives Bayes

Régression logistique

20

21 of 21

Conclusion

Enjeu de ce semestre : Création et traitement d’un dataset

Problèmes rencontrés :

  • Nouveaux logiciels à prendre en main
  • Dataset créé trop petite
  • Dataset actuel fausse (problème de temps d'échantillonnage)

Objectifs du semestre prochain :

  • Utiliser la maquette de chaîne de production disponible à l’école pour créer un meilleur dataset
  • Finir la dataset de MATLAB en corrigeant les problèmes rencontrées
  • S’intéresser à de nouveaux algorithmes de classification (Réseaux de Neurones)

21