Et dans la deuxième partie, j’ai utilisé la méthode de réseaux bayésiens pour expliquer les causes de la corrosion sur les canalisations en analysant les relations découvertes entre les
Trang 1Institut de la francophonie pour l’informatique
Lieu du stage: Gaz de France, Direction de la Recherche, 361 Av du
Pdt Wilson - BP 33 93211 La Plaine Saint Denis Cedex
Période du stage: du 01/03/2006 au 31/08/2006
Tutrice de stage: Marketa PICHLOVA
CHU Thanh-Quang
Rapport de stage de fin d’études
Application des méthodes d'intelligence
artificielle à l'analyse des données
concernant les canalisations de gaz
Trang 2REMERCIEMENTS
Je tiens tout d’abord à remercier monsieur Yves MELQUIOND, chef du pôle Statistiques et Intelligence Artificielle à la Direction de la Recherche de Gaz de France, pour m’avoir permis d’effectuer mon stage ici
Je voudrais exprimer mes reconnaissances à Marketa PICHLOVA, mon maître
de stage, qui a dirigé mon travail de recherche et qui m'a donné de bons conseils
et des aides précieuses tout au long de mon stage de fin d’études
Je souhaite également remercier chaleureusement toute l’équipe du projet RPCI&IA: Emmanuel CHATEAU, chef de projet, Michel MEYER, expert corrosion et Mures ZAREA Leur cordialité et leur écoute m’ont permis de m’intégrer rapidement, et de travailler dans une ambiance agréable
Je tiens également à exprimer toute ma sympathie à l’ensemble des collègues
du pôle, pour leur accueil et leur attitude ouverte vis-à-vis des stagiaires, que l’ensemble du personnel de l’entreprise soit aussi remercié, pour permettre de faire perdurer cette politique d’ouverture enrichissante
J’adresse mes reconnaissances aux professeurs de l’Institut de la Francophonie pour l’Informatique, pour m’avoir aidé à effectuer ce stage à Gaz
de France
Paris, juillet - 2006 Chu Thanh Quang
Trang 3Etudiant en deuxième année à l'Institut de la Francophonie pour l'Informatique au Vietnam, je prépare le diplôme de master en informatique J’ai fait mon stage de fin d’études chez Gaz de France – Direction de la Recherche dans le Pôle Statistiques et Intelligence artificielle J’ai travaillé pendant 6 mois sur le sujet « Application des méthodes d'intelligence artificielle à l'analyse des données concernant les canalisations de gaz »
L’objectif du stage est de l’explorer des informations intéressantes concernant le problème de corrosion des canalisations de gaz Il s’agit d’utiliser différentes méthodes d’Intelligence Artificielle pour analyser une base de données des défauts de revêtements sur les tubes transportant du gaz
Il y a deux parties dans mon travail La première partie, consistait à étudier la présence
de la corrosion sur les défauts de revêtement en utilisant des méthodes qui peuvent faire la prédiction de la corrosion telles que les réseaux de neurones, les arbres de décision, les machines à vecteur support, k-plus proches voisins, etc Ces méthodes non-explicatives ne sont pas capables d’expliquer les causes de la corrosion Et dans la deuxième partie, j’ai utilisé la méthode de réseaux bayésiens pour expliquer les causes de la corrosion sur les canalisations en analysant les relations découvertes entre les variables de la base de données
Abstract
In my second year at the Information Technology Institute of the Francophone in Vietnam, I’ve prepared the master program on IT I have an internship at Gaz de France - Research Direction, in the Pole Statistics and artificial Intelligence I’ve been working for 6 months on the subject “Applying the artificial intelligence method on the data analysis of the gas pipelines” The internship objective is to indicate some interesting information concerning the corrosion problem on the gas pipelines It is a question of using various Artificial Intelligence methods to analyze a database of the coatings defects on the tubes transporting of gas
There are two parts in my work The first part, I studied the presence of corrosion on the coatings defects by using the methods, which can predict corrosion problem such as Neural Network, Decision Tree, Support Vector Machine, and K-Nearest Neighbors etc However, these methods cannot be good explanations for the corrosion problem Therefore, in the second part, I use the Bayesian Network method to explain the causes of corrosion on the tubes by analyzing the found relationship among the variables of data
Trang 4TABLE DES MATIERES
1 PRESENTATION DE L’ENTREPRISE 7
1.1 Présentation de Gaz de France 7
1.1.1 Organisation 7
1.1.2 Ambition 7
1.1.3 Activités 7
1.1.3.1 Acheter 7
1.1.3.2 Vendre 7
1.1.3.3 Produire 7
1.1.3.4 Etre leader du GNL en Europe 7
1.1.3.5 Gérer des infrastructures 8
1.1.4 Recherche et Développement 8
1.2 Présentation de la Direction de la Recherche 8
1.2.1 Organisation 8
1.2.1.1 Entités support 8
1.2.1.2 Matrice Recherche et Développement 9
1.2.2 Chiffres-clés 9
1.2.3 Accueil des stagiaires 10
2 CONTEXTE DU STAGE 11
2.1 Généralités 11
2.1.1 Corrosion électrochimique 11
2.1.2 Canalisations de transport de gaz et leur protection contre la corrosion 11
2.1.2.1 Protection par revêtement externe 11
2.1.2.2 Protection cathodique 12
2.1.3 Méthodes de détection de la corrosion 12
2.1.3.1 Piston instrumenté – inspection de la corrosion par voie interne 12
2.1.3.2 Excavation – inspection directe de la corrosion externe 12
2.1.3.3 Mesures de surface 12
2.1.4 Fiche de constat sur Fouille 12
2.2 Projet PRCI&IA 13
2.3 Base de données REX (Retour d’Expérience) 13
2.4 Objectifs du stage et déroulement des travaux 14
2.5 Logiciels utilisés 14
2.5.1 Statistica 14
2.5.2 BayesiaLab 14
3 ETUDES DES METHODES D’INTELLIGENCE ARTIFICIELLE 15
3.1 Réseaux de neurones 15
3.1.1 Introduction 15
3.1.2 Perceptron multicouche 16
3.1.3 Réseaux de fonction à base radiale 16
3.2 Arbre de décision 17
3.2.1 Introduction 17
Trang 53.3 Machine à vecteurs supports 19
3.3.1 Introduction 19
3.3.2 Notes techniques 20
3.4 K-plus proches voisins 20
3.4.1 Classification 20
3.4.2 Régression 20
3.5 Classifieurs Nạfs bayésiens 21
3.5.1 Introduction 21
3.5.2 Exemple 21
3.6 Réseaux bayésiens 23
3.6.1 Introduction 23
3.6.2 Exemple très simple dans la modélisation des risques 23
3.6.3 Construction et utilisation des réseaux bayésiens 24
3.7 Comparaison des méthodes d’intelligence artificielle 25
4 TRAVAIL EFFECTUE 26
4.1 Définition du problème d’analyse de données de canalisation 26
4.1.1 Définir le problème de détection de la corrosion 26
4.1.1.1 Essayer la prédiction de l’atteinte au métal 26
4.1.1.2 Essayer la prédiction de la corrosion 27
4.1.2 Réduire le nombre de variables à analyser 27
4.2 Pré-traitement de données 28
4.2.1 Objectifs 28
4.2.2 Problèmes liés aux données 28
4.2.2.1 Taille de données 28
4.2.2.2 Valeurs manquantes 28
4.2.2.3 Incohérence de données 28
4.2.2.4 Déséquilibre de données 29
4.2.3 Solutions 29
4.2.3.1 Gestion des valeurs manquantes 29
4.2.3.2 Rectification des données incohérentes 29
4.2.3.3 Réplication des corrosions 29
4.3 Analyse des données par les méthodes de classification 30
4.3.1 Construction des modèles d’analyse de données 30
4.3.1.1 Echantillonnage de données avec différentes tailles de données 30
4.3.1.2 Apprentissage des modèles de classification 31
4.3.1.3 Choix des critères de comparaison entre les méthodes 31
4.3.2 Analyse des résultats 32
4.3.2.1 Influence de la taille d’échantillon sur le taux de classification 32
4.3.2.2 Taux de classification de l’ensemble de test et de l’ensemble global 33
4.3.2.3 Taux de classification des classes corrosion et non-corrosion 34
4.4 Analyse des données par Réseaux bayésiens 35
4.4.1 Discrétisation des variables continues 36
4.4.1.1 Discrétisation « égales distances » 36
4.4.1.2 Discrétisation « égales fréquences » 36
4.4.1.3 Discrétisation manuelle 37
4.4.1.4 Rectification de discrétisation 38
4.4.2 Apprentissage sans échantillonnage et comparaison des réseaux différents 39
Trang 64.4.3 Analyse des résultats 40
4.4.3.1 Analyse des relations découvertes 40
4.4.3.2 Analyse des causes de la corrosion 41
4.4.3.3 Analyse des évidences et des contradictions dans les observations 44
4.4.3.4 Exécution des requêtes sur réseaux bayésiens 45
4.4.3.5 Echantillonnage de données, calcul de la performance des réseaux bayésiens 47
4.4.4 Conclusion sur les réseaux bayésiens 50
5 PERSPECTIVES POUR LA POURSUITE DES RECHERCHES 51
5.1 Amélioration des données d’entrées 51
5.2 Intégration des connaissances de l’expert dans le processus d’apprentissage du réseau bayésien 51
5.3 Simulation temporelle de la corrosion 51
6 BILAN DU STAGE 52
7 GLOSSAIRE 53
8 LISTE DES TABLEAUX 54
9 LISTE DES FIGURES 55
10 BIBLIOGRAPHIE 56
11 ANNEXE 57
11.1.Description de la base de Rex 57
11.2.Incohérences de données dans la base de Rex 62
11.3.Règles d’intégrité de la base de Rex 62
11.4.Sélection des variables pour le problème de classification 64
11.5.Rapport d’analyse des relations des variables 65
11.5.1 Discrétisation égales distances 65
11.5.2 Discrétisation égales fréquences 66
11.5.3 Discrétisation manuelle 67
11.5.4 Discrétisation manuelle rectifiée 68
11.6.Rapport d’analyse de la variable Corrosion 70
11.6.1 Discrétisation égales distances 70
11.6.2 Discrétisation égales fréquences 73
11.6.3 Discrétisation manuelle 76
11.6.4 Discrétisation manuelle rectifiée 80
Trang 71 PRESENTATION DE L’ENTREPRISE
1.1 Présentation de Gaz de France
Gaz de France est un acteur majeur de l'énergie en Europe Le Groupe produit, transporte, distribue et commercialise du gaz, de l'électricité et des services auprès de 13,8 millions de clients (particuliers, entreprises, collectivités)
1.1.1 Organisation
Le management de Gaz de France repose sur un Comité exécutif et 4 Branches opérationnelles Quatre fonctions de pilotage sont également rattachées au Président Directeur Général: stratégie, communication, audit et risques et délégation aux cadres dirigeants Groupe
L'organisation opérationnelle du Groupe s'articule aujourd'hui autour d'un Comité exécutif, organe de pilotage du groupe Gaz de France et de 4 Branches opérationnelles: Approvisionnements
et Production, Infrastructures, Clientèles, International
1.1.2 Ambition
Gaz de France a pour ambition de fournir de l'énergie et des services à ses clients au meilleur prix, de s'imposer comme un gestionnaire d'infrastructures de référence en Europe, d’être un acteur engagé du développement durable et de créer de la valeur pour ses actionnaires
1.1.3 Activités
Le Groupe produit, transporte, distribue et vend du gaz, de l'électricité et des services auprès de 13,8 millions de clients (particuliers, entreprises, collectivités locales) en Europe Il intervient sur l'ensemble de la chaîne gazière
1.1.3.1 Acheter
Gaz de France est le 4ème acheteur mondial de gaz naturel et dispose du portefeuille d'approvisionnement le plus diversifié en Europe C'est pourquoi Gaz de France peut garantir à ses clients la fourniture d'une énergie compétitive
1.1.3.2 Vendre
Gaz de France vend à ses clients du gaz, de l'électricité et des services en France et en Europe
Le Groupe est le 3ème opérateur de services énergétiques en France et le 2ème en Italie
1.1.3.3 Produire
Etre producteur est le fruit d'une politique volontariste de diversification du portefeuille d'approvisionnements du Groupe Depuis 2005, Gaz de France produit également de l'électricité
1.1.3.4 Etre leader du GNL en Europe
Gaz de France est le 2ème acteur du gaz naturel liquéfié (GNL), le 2ème opérateur de réception
de GNL en Europe et le 5ème importateur mondial En 2005, le GNL a représenté 26 % des approvisionnements de long terme de Gaz de France
Trang 81.1.3.5 Gérer des infrastructures
Gaz de France investit significativement sur son réseau en France et renforce ses positions en Europe, pour s'imposer comme un gestionnaire d'infrastructures de référence
1.1.4 Recherche et Développement
La Direction de la recherche de Gaz de France joue un rôle décisif car elle prépare l'avenir du Groupe en anticipant les évolutions et en contribuant à construire des avantages concurrentiels Les 4 priorités de la Direction de la recherche de Gaz de France sont la sécurité, la performance économique (tant pour Gaz de France que pour ses clients), la construction d'avantages concurrentiels pour les activités commerciales du Groupe et la préparation de l'avenir énergétique dans une perspective de développement durable
1.2 Présentation de la Direction de la Recherche
La Direction de la Recherche est le Centre de recherche de Gaz de France, modèle choisi d'une R&D intégrée au Groupe, dont la finalité est d'apporter son expertise sur tous les métiers du domaine gazier et de l'énergie, de façon à favoriser le développement du Groupe comme la DR le fait depuis l'origine de Gaz de France
Le centre de recherche est réparti sur 2 sites, tous les 2 dédiés à la recherche appliquée : l'un situé à Saint Denis et l'autre à Alfortville (France)
Des programmes de recherche fondamentale sont également menés en partenariat avec des organismes comme le CNRS, des grandes écoles et des universités, des fondations ou des pôles de compétitivité
Gaz de France joue également un rôle majeur dans la recherche énergétique européenne et figure parmi les leaders mondiaux de la recherche gazière
La Direction de la recherche de Gaz de France a environ de 590 collaborateurs et effectue 40 % des recrutements ingénieurs chez Gaz de France
1.2.1 Organisation
La Direction de la Recherche est organisée selon une structure matricielle constituée d'un axe
«programme de recherche» et d'un axe «compétences»
Les 7 programmes de recherche couvrent l'ensemble de la chaîne gazière :
Gaz Naturel Liquéfié (GNL), Transport, Distribution, Clients Industriels, Clients Résidentiels et Tertiaires, Nouveaux Marchés, Etudes Economiques et Générales
Ils incluent les 80 projets de recherche définis par le Contrat de Recherche triennal
1.2.1.1 Entités support
Le Département DCG (Contrôle de Gestion), les Missions MICIV (Connaissance Information Veille), MiRIC (Mission Relations Institutionnelles et Communication), MQHSE (Qualité Sécurité Environnement et Normalisation), la Mission Valorisation et le pôle RH apportent leur support aux départements
Trang 91.2.1.2 Matrice Recherche et Développement
Les compétences nécessaires à la mise en oeuvre de ces projets sont regroupés dans 3 départements, le département réseaux (DRX), le département utilisations (DU) et le département économie et traitement de l'information (DETI), constitués de 17 pôles de compétence
Le fonctionnement de la matrice peut être illustré par le projet PRCI auquel j’ai contribué Ce projet s’inscrit dans le cadre du programme Transport La majorité des personnes qui y participent, font partie du Pôle Techniques de Transport au sein du Département Réseaux, qui rassemble les compétences dans le domaine des canalisations et de la corrosion, mais ma responsable de stage appartient au Pôle Statistiques Intelligence Artificielle du département Economie et Traitement de
l’Information regroupant les personnes avec les compétences en analyse de données, apprentissage automatique etc
Figure 1: Organisation matricielle de la Direction de Recherche
1.2.2 Chiffres-clés
- 600 personnes dont 510 chercheurs et techniciens
- 9 thésards sur le site, une dizaine d'autres en laboratoires sous contrat avec le Centre de Recherche
- 100 stagiaires des grandes écoles d'ingénieurs et des universités (DESS, DEA, doctorat)
- 123 partenariats industriels
- 97 contrats de recherche
- 11 contrats-cadre de travail commun avec des institutionnels (Ademe, CNRS )
- 15 projets européens en cours financés par l'Europe dans le cadre du Programme Cadre de Recherche et Développement (PCRD)
- 200 brevets en vigueur en France, 1 600 à l'étranger
Trang 101.2.3 Accueil des stagiaires
La Direction de la Recherche de Gaz de France accueille régulièrement de nombreux stagiaires L’habitude de travailler avec des stagiaires rend leur accueil chaleureux et facilite leur intégration au sein de leur équipe de travail Les stagiaires ont de nombreux avantages au sein de cette entreprise, comme le temps de travail de 35 heures par semaine, le restaurant du site à prix correct, la possibilité d’accéder à la bibliothèque, à la vidéothèque etc…
Trang 11Le réseau de transport de gaz français est âgé en moyenne de 25 ans Les inspections par piston instrumenté d’une part, et les incidents ayant eu lieu sur des réseaux étrangers plus anciens d’autre part, accréditent la thèse selon laquelle le risque d’atteinte à l’intégrité des canalisations du fait de la corrosion augmenterait dans les décennies à venir si des mesures compensatoires n’étaient pas prises Le niveau de vigilance doit donc être accru afin de garder un niveau de sécurité optimal sur le réseau français
2.1.2 Canalisations de transport de gaz et leur protection contre la corrosion
Définition : un tube de transport de gaz est un tube d’acier recouvert d’un revêtement qui assure une protection passive contre la corrosion
2.1.2.1 Protection par revêtement externe
Le revêtement extérieur sert à isoler, donc protéger passivement, les canalisations des actions physico-chimiques des sols (qui engendrent la corrosion) Il joue un rôle très important pour le maintien dans le temps du bon état de ces canalisations
Sur le réseau de Gaz de France, essentiellement trois types de revêtements ont été mis en œuvre :
- Les revêtements hydrocarbonés (brai de houille et bitume de pétrole): Fabriqués à partir de résidus de charbon ou de pétrole, ces revêtements ont été utilisés jusque dans les années 80 Lorsque le revêtement PE bi-couches est apparu, l’utilisation des revêtements hydrocarbonés a été progressivement stoppée, notamment pour des raisons de toxicité lors de leur mise en œuvre
- Le PE bi-couches: Il associe à une couche adhésive à base d’un copolymère d’éthylène appliquée sur le tube, une couche de polyéthylène
- Le PE tri-couches : C’est le plus récent des revêtements et il n’est utilisé que depuis une dizaine d’années en France C’est un PE bi-couches auquel une sous-couche époxydique a été rajoutée afin de conférer à la liaison adhésive du revêtement une meilleure tenue dans le temps
Figure 2: Revêtement tri-couches
Trang 122.1.2.2 Protection cathodique
En complément de l’utilisation de revêtements de plus en plus performants, Gaz de France a toujours protégé ces canalisations contre la corrosion à l’aide d’une protection électrochimique active appelée « protection cathodique » Le but de la protection cathodique est de pallier les conséquences possibles des défauts de revêtement en abaissant le potentiel électrochimique des surfaces d’acier exposées au milieu extérieur jusqu’au potentiel d’immunité de l’acier ó la corrosion devient impossible
Il arrive cependant que la protection cathodique (PC) soit défaillante, en raison de la présence d’un obstacle à la continuité électrique ; on appelle cela une situation d’écran, qui peut avoir différentes causes:
- Le sol ne conduit pas assez : c’est le cas des sols électriquement très résistifs ou des sols qui subissent une alternance humidité/sécheresse Dans le premier cas, ces sols sont également peu corrosifs, ce qui atténue le problème Dans le second cas, c’est plus difficile : lors de la période humide, le sol est potentiellement corrosif mais peu résistif, donc bien conducteur des courants de
PC Lors de la période sèche, le courant de protection ne circule plus, mais des espèces corrosives et
de l’eau peuvent néanmoins rester piégées au contact de la canalisation
- Le revêtement est décollé : l’acier sous le revêtement est en contact avec l’électrolyte (le sol), mais le revêtement isole électriquement le sol de l’acier de la canalisation Les courants de protection cathodique ne parviennent pas jusqu’à l’acier
- Un obstacle physique non-conducteur arrête les courants de protection cathodique : c’est le cas par exemple d’une pierre ayant perforé le revêtement et restant au droit du défaut de revêtement
2.1.3 Méthodes de détection de la corrosion
2.1.3.1 Piston instrumenté – inspection de la corrosion par voie interne
Un piston instrumenté parcourt l’intérieur d’une canalisation en acier et mesure l’épaisseur de métal de celle-ci, tout au long de son parcours et sur toute la circonférence Il peut ainsi détecter des pertes de métal dans l’acier des canalisations, en fournissant les dimensions des ces anomalies, ainsi que leur position
2.1.3.2 Excavation – inspection directe de la corrosion externe
Une excavation a lieu suite à une inspection qui a décelé la présence d’un défaut dans le revêtement ou dans l’acier, d’une canalisation enterrée Son but est de décrire l’anomalie de ce revêtement et l’éventuelle atteinte au métal, afin d’en estimer la gravité et la cause A cette occasion,
un grand nombre de renseignements concernant l’environnement de la canalisation sont disponibles
et des mesures sont effectuées au niveau des défauts
2.1.3.3 Mesures de surface
Une inspection de surface a pour but d’étudier l’endommagement du revêtement d’une canalisation en acier enterrée Elle est réalisée grâce à des méthodes électriques, mises en oeuvre à partir de la surface du sol
2.1.4 Fiche de constat sur Fouille
Une fiche de constat sur fouille est un formulaire que les agents de terrain de Gaz de France doivent compléter à chaque excavation S’il est bien rempli, ce document fournit de nombreuses
Trang 13fiche : Identification du défaut, Environnement, Défaut de revêtement, Etat du métal, Mesures électriques, Informations générales sur la canalisation
2.2 Projet PRCI&IA
Le PRCI (Pipeline Research Council International) est un regroupement de pétroliers et de gaziers, principalement nord-américains, ayant pour objectif de faire progresser la Recherche concernant les canalisations
En septembre 2003, Gaz de France a proposé un projet au PRCI, dans le but d’optimiser les intervalles de ré-inspection à l’aide de bases de données et de l’Intelligence Artificielle Ces bases de données sont obtenues à l’aide d’inspections des canalisations par pistons instrumentés et lors d’excavations Le cỏt de ce projet était estimé à 150 000 $ et la durée à 3 ans Ce programme s’inscrit dans le programme de recherche « Optimisation des Intervalles de Ré-inspection » du PRCI
La première phase de ce projet consiste en la création d’une base de données devant recevoir beaucoup de données différentes, provenant de différents gaziers et pétroliers La création de cette base de données a fait l’objet d’un stage précédent, donc elle n’est pas traitée dans ce rapport
La deuxième phase du projet consiste à faire remplir la base de données par les opérateurs du PRCI, c’est à dire par les entreprises adhérentes L’analyse de données demande d’avoir en sa possession une masse de données suffisante ; c’est pourquoi, pour la réussite de ce projet, il est nécessaire de rassembler les données du plus grand nombre d’opérateurs
La troisième phase du projet consiste à tester la capacité de l’Intelligence Artificielle à trouver une corrélation entre les données issues d’une inspection par un piston instrumenté et les données issues d’une excavation, concernant un même défaut
La quatrième phase du projet consiste à tester la capacité de l’Intelligence Artificielle à trouver les combinaisons de paramètres (ou variables) en corrélation avec l’occurrence de corrosion Le but
de cette phase est donc de trouver quelles sont les variables liées à la présence de corrosion et comment elles le sont L’idéal serait donc d’obtenir des règles logiques conduisant à la présence de corrosion C’est dans ce cadre que s’inscrit l’exploration de données que j’ai réalisée durant ce stage 2.3 Base de données REX (Retour d’Expérience)
La base de données mise à notre disposition pour cette étude possède une quarantaine de variables numériques et symboliques, mais peu d’exemples au regard du nombre de variables Il s’agit d’une base élaborée par Gaz de France, dans le cadre d’un projet visant à capitaliser toutes les informations récupérées suite à des excavations de canalisations Ces excavations ont lieu dans toute
la France pour réparer les canalisations endommagées et les informations recueillies sont les réponses à un questionnaire qui est le même pour tous Gaz de France a ainsi pu récolter des données sur plus de 4700 excavations et continue à en amasser d’année en année
La base de données est stockée dans un fichier Excel et se présente sous la forme d’un immense tableau unique Mais les variables de la base ne sont jamais toutes bien renseignées En effet, beaucoup de données sont manquantes et certaines sont erronées, voir aberrantes etc La partie 4.2 décrit en détails les problèmes rencontrés et les solutions proposées
Chaque observation de la base correspond à un « défaut de revêtement » sur une canalisation Les défauts sont détectés à partir de la surface du sol, par des procédés électriques appelés « inspections de surface », puis ils donnent lieu à une excavation Lors de ces excavations, une « Fiche
de Constat sur Fouille » est remplie et les données collectées viennent s’ajouter à la base La base
Trang 14REX ne contient que des informations issues de ces fiches Plusieurs défauts peuvent être rencontrés lors d’une même excavation Chaque excavation est réalisée dans un environnement (terrain, sol…) dont la description est présente dans la base Outre la description du défaut de revêtement, on trouve également des mesures électriques prises au niveau du défaut Le défaut peut parfois être associé à
un décollement du revêtement, à la présence d’une corrosion (ou d’un dépôt) et également à la présence d’une atteinte au métal de la canalisation
2.4 Objectifs du stage et déroulement des travaux
L’objectif du stage est de l’explorer des informations intéressantes concernant le problème de corrosion des canalisations de gaz Il s’agit d’utiliser de différentes méthodes d’Intelligence Artificielle pour analyser la base de données REX
J’ai travaillé sur ce sujet pendant six mois et j’ai réalisé les travaux suivants : j’ai commencé par
la collecte des données Ensuite, j’ai collaboré avec un expert du domaine afin de choisir les variables plus importantes en termes d’influence sur la corrosion Puis, j’ai procédé à la rectification des erreurs et au traitement des valeurs manquantes pour avoir une base de données prête à exploiter Après, j’ai construit des modèles de classification avec la variable cible « corrosion » en utilisant différentes méthodes de classification comme les réseaux de neurones, les arbres de décision, les machines à vecteurs supports et k-plus proches voisins Ces modèles ont eu pour but de classifier des observations en deux classes « corrosion » et « non-corrosion » et ils ont été construits à partir d’un ensemble de données d’apprentissage J’ai comparé les performances des modèles en utilisant
le taux de classification correcte sur les ensembles de données de test Enfin, j’ai retenu les meilleurs modèles pour faire la prévision de la corrosion
L’explication des causes de la corrosion est une tâche très importante dans l’analyse des données de canalisation et, la méthode de réseaux bayésiens peut faire ce type d’analyse d’une manière très efficace Pour cette raison, j’ai utilisé le logiciel BayesiaLab de la société Bayesia, pour construire par apprentissage un réseau bayésien comportant les relations entre les variables de la base de données Le réseau obtenu permet aux experts en corrosion d’analyser l’influence des autres variables sur la présence de la corrosion et d’en déduire les causes
2.5 Logiciels utilisés
2.5.1 Statistica
STATISTICA offre la gamme la plus riche du marché en termes de procédures d'analyse, de gestion et de représentation des données, ainsi que de solutions de data mining Parmi ces techniques, citons une gamme impressionnante de techniques de modélisation prédictive, de clustering, de classification ou de techniques exploratoires, sur une même plate-forme logicielle Toutes les informations nécessaires sont trouvées sur le site http://www.statsoft.com/
2.5.2 BayesiaLab
BayesiaLab est un laboratoire complet de manipulation de réseaux bayésiens qui permet d’élaborer des modèles décisionnels par recueil d’expertise et automatiquement à partir des données, d’assimiler rapidement des connaissances représentées grâce à une boite à outils d’analyse originale, d’exploiter des modèles en mode interactif ou par lots et faire l’apprentissage des politiques d’actions On peut consulter aussi le site http://www.bayesia.com/ pour avoir plus d’information
Trang 153 ETUDES DES METHODES D’INTELLIGENCE ARTIFICIELLE
Dans le domaine de data mining, les méthodes d’Intelligence Artificielle peuvent résoudre plusieurs types de problèmes comme la classification pour prédire les valeurs catégorielles des variables, la régression pour prédire les valeurs numériques des variables, etc En, général on les divise en deux groupes : méthodes explicatives et méthodes non-explicatives
Dans le cadre du travail de ce stage, j’ai utilisé les méthodes de réseaux de neurones, d’arbre
de décision, de machines à vecteurs supports, de k-plus proches voisins et la classification nạve bayésienne pour le problème de classification de la corrosion L’objectif est de prédire la présence de
la corrosion au droit d’un défaut de revêtement de la canalisation Et puis, pour le problème d’explication des causes de la corrosion j’ai utilisé la méthode explicative des réseaux bayésiens Toutes ces méthodes ont de nombreux paramètres à régler Le changement des paramètres va influencer la taille de la mémoire utilisée, le temps d’exécution des algorithmes et le résultat obtenu Pour avoir de bons résultats avec des ressources matérielles limitées, il est nécessaire de choisir les valeurs appropriées des paramètres
3.1 Réseaux de neurones
3.1.1 Introduction
Un réseau de neurones (ou Artificial Neural Network en anglais) est un modèle de calcul dont la conception est très schématiquement inspirée du fonctionnement de vrais neurones (humains ou non) Les réseaux de neurones sont généralement optimisés par des méthodes d’apprentissage de type statistique, si bien qu’ils sont placés d’une part dans la famille des applications statistiques, qu’ils enrichissent avec un ensemble de paradigmes permettant de générer de vastes espaces fonctionnels souples et partiellement structurés, et d’autre part dans la famille des méthodes de l’intelligence artificielle qu’ils enrichissent en permettant de prendre des décisions s’appuyant davantage sur la perception que sur le raisonnement logique formel
Figure 3: Structure d'un neurone artificiel
La structure d'un neurone artificiel est illustrée ci dessus : le neurone calcule la somme de ses entrées puis cette valeur passe à travers la fonction d'activation pour produire sa sortie
La large majorité des réseaux de neurones possède un algorithme d’apprentissage qui consiste
à modifier les poids synaptiques en fonction d’un jeu de données présentées en entrée du réseau Le but de cet apprentissage est de permettre au réseau de neurones « d’apprendre » à partir des
Trang 16exemples Si l’apprentissage est correctement réalisé, le réseau est capable de fournir des réponses
en sortie très proches des valeurs d’origines du jeu de données d’apprentissage
3.1.2 Perceptron multicouche
Le perceptron multicouche (PMC) est la première grande famille de réseaux de neurones qui comporte L couches, chaque neurone d'une couche étant totalement connecté aux neurones de la couche suivante On suppose que la rétine comporte un neurone particulier dont la sortie, constante
et égale à 1, est reliée à une entrée de tous les neurones des couches supérieures (les poids de connexions issues de ce neurone d'entrée particulier joueront le rơle de seuils pour les automates receveurs) Chaque neurone k est un automate linéaire généralisé dont la fonction de transfert fk est supposée sigmọdale
Figure 4: Perceptrons multicouches
L'algorithme d'apprentissage par rétro-propagation du gradient de l'erreur est un algorithme itératif qui a pour objectif de trouver le poids des connexions minimisant l'erreur quadratique moyenne commise par le réseau sur l'ensemble d'apprentissage Cette minimisation par une méthode
du gradient conduit à l'algorithme d'apprentissage de rétro-propagation
Cet algorithme, qui présente l'avantage d'exister, reste discutable dans la mesure ó sa convergence n'est pas prouvée Son utilisation peut conduire à des blocages dans un minimum local
de la surface d'erreur Son efficacité dépend, en effet, d'un grand nombre de paramètres que doit fixer l'utilisateur : le pas du gradient, les paramètres des fonctions sigmọdes des automates, l'architecture du réseau (nombre de couches, nombre de neurones par couche), l'initialisation des poids
3.1.3 Réseaux de fonction à base radiale
Les réseaux GRBF (Gaussian Radial Basis Functions, fonction à base radiale gaussienne) forment une deuxième famille de réseaux de neurones C’est un réseau à deux couches Les neurones de la première couche sont reliés aux entrées et ont chacun deux paramètres : un vecteur prototype et
un coefficient d'étalement strictement positif La fonction réalisée, de forme gaussienne, est la suivante :
Le vecteur prototype définit un point dans l'espace d'entrée La sortie du neurone est égale
à 1 pour une entrée égale à , puis décroỵt vers 0 lorsque l'entrée s'éloigne de La vitesse de décroissance est réglée par : plus le coefficient est petit et plus la fonction sera concentrée autour
Trang 17Les neurones de la seconde couche quand à eux calculent la sortie du réseau en effectuant une combinaison linéaire des sorties de ceux de la première couche, et un biais est ajouté au total La fonction qu'ils réalisent est la suivante :
Où est un vecteur composé des sorties de tous les neurones de la première couche, est un vecteur de poids et est le biais et sont ajustés lors de l'apprentissage
Ainsi le réseau peut être représenté par le schéma suivant :
Figure 5: Schéma général d'un réseau GRBF
Et chaque sortie du réseau GRBF est donnée par la formule :
Où est le numéro de la sortie (c'est à dire le numéro du neurone de la seconde couche dont on calcule la sortie) le nombre de neurones de la première couche le vecteur prototype du neurone numéro de la première couche, son coefficient d'étalement, les poids du neurone de sortie , et son biais
Il a été montré que le réseau GRBF est un approximateur universel, c'est à dire que le réseau est capable d'approximer n'importe quelle fonction douce avec une précision donnée, pourvu que l'on fournisse un nombre suffisant de neurones, et que l'on utilise un algorithme d'apprentissage adéquat Lors de l'apprentissage d'un réseau GRBF deux problèmes se posent : la constitution de la première couche (choix du nombre de neurones, choix des prototypes et des coefficients d'étalement), et la détermination des poids et biais de la seconde couche
3.2 Arbre de décision
3.2.1 Introduction
Pour certains domaines d'application, il est essentiel de produire des procédures de classification compréhensibles par l'utilisateur C'est en particulier le cas pour l'aide au diagnostic médical ó le médecin doit pouvoir interpréter les raisons du diagnostic Les arbres de décision répondent à cette contrainte car ils représentent graphiquement un ensemble de règles et sont aisément interprétables Pour les arbres de grande taille, la procédure globale peut être difficile à appréhender, cependant, la classification d'un élément particulier est toujours compréhensible
Trang 183.2.2 Exemple
Pour mieux appréhender l’induction des arbres de décision, nous allons reprendre un exemple décrit dans l’ouvrage de Quinlan (1993) Il s’agit de prédire le comportement de sportifs (Jouer ; variable à prédire) en fonction de données météo (Ensoleillement, Température, Humidité, Vent ; variables prédictives)
Tableau 1: Exemple des données
L’algorithme d’apprentissage cherche à produire des groupes d’individus le plus homogène possible du point de vue de la variable à prédire à partir des variables de météo Le partitionnement est décrit à l’aide d’un arbre de décision
Sur chaque sommet de l’arbre est décrit la distribution de la variable à prédire Dans le cas du premier sommet, la racine de l’arbre, nous constatons qu’il y a 14 observations dans notre fichier, 9 d’entre eux ont décidé de jouer (Jouer = oui), 5 ont décidé le contraire (Jouer = non)
Ce premier sommet est segmenté à l’aide de la variable Ensoleillement, 3 sous-groupes ont été produits Le premier groupe à gauche (Ensoleillement = Soleil) comporte 5 observations, 2 d’entre eux correspondent à Jouer = oui, 3 à Jouer = non
Chaque sommet est ainsi itérativement traité jusqu’à ce que l’on obtienne des groupes suffisamment homogènes Elles correspondent aux feuilles de l’arbre, des sommets qui ne sont plus segmentés
Figure 6: Arbre de décision
La lecture d’un arbre de décision est très intuitive, c’est ce qui fait son succès L’arbre peut être traduit en base de règles sans pertes d’informations Si l’on considère la feuille la plus à gauche,
Trang 19nous pouvons aisément lire la règle d’affectation suivante : « Si ensoleillement = soleil et humidité < 77.5% alors jouer = oui »
3.3 Machine à vecteurs supports
3.3.1 Introduction
La méthode de machine à vecteurs supports a pour but de séparer un ensemble d’individus en plusieurs classes différentes par les frontières de décision Par exemple, on veut séparer les points dans la Figure 7: Exemple simple de machine à vecteurs supports en deux classes : vert et rouge La ligne est la frontière qui sépare le plan en deux côtés Le côté gauche est la classe pour les points rouges et le côté droit est la classe pour les points verts Pour un nouvel individu quelconque, exemple le point blanc, s’il est tombé vers la gauche de la ligne il est donc classé rouge Au contraire,
il est un membre de la classe verte
Figure 7: Exemple simple de machine à vecteurs supports
En réalité, le problème de classification est souvent beaucoup plus complexe On ne peut pas utiliser une frontière linéaire pour séparer les classes En fait, il faut trouver une frontière plus optimale comme dans la Figure 8: Exemple plus complexe de machine à vecteurs supports En plus dans la plupart des cas, on ne peut pas même représenter les objets aux points sur le plan parce que les individus ont plusieurs paramètres Les données des individus sont multidimensionnelles
Figure 8: Exemple plus complexe de machine à vecteurs supports
L'illustration ci-dessous Figure 9: L'idée principale de la machine à vecteurs supports montre l'idée fondamentale des machines à vecteur de supports Les objets originaux (côté gauche du schéma) sont réarrangés en utilisant un ensemble de fonctions mathématiques, connu sous le nom
de noyau Grâce au processus de réarrangement, les objets (côté gauche du schéma) sont bien séparés par une frontière linéaire
Figure 9: L'idée principale de la machine à vecteurs supports
Trang 203.3.2 Notes techniques
La machine à vecteurs supports (SVM) est principalement une méthode de classification par construction d’une frontière dans l’espace multi dimensions pour séparer les classes SVM peut manipuler des variables continues et catégorielles multiples dans la résolution de problème de classification et même de régression
Pour construire une frontière optimale, SVM utilise un algorithme d’apprentissage pour réduire
au minimum une fonction d’erreur Selon la forme de la fonction erreur, les modèles de SVM peuvent être classifiés dans quatre groupes distincts :
• Classification SVM Type 1 ( C-SVM classification)
• Classification SVM Type 2 ( nu-SVM classification)
• Regression SVM Type 1 ( epsilon-SVM regression)
• Regression SVM Type 2 ( nu-SVM regression)
3.4 K-plus proches voisins
3.4.1 Classification
Pour illustrer la méthode k-plus proches voisins, on va considérer le problème de classification d’un nouvel objet (point de requête) dans un certain nombre d'exemples connus Ceci est montré dans la figure ci-dessous : il y a une classe des signes plus, une autre classe des signes moins et un point de requête en rouge Notre problème est « à quelle classe appartient le point de requête ? »
Figure 10: Classification par k-plus proches voisins
On cherche d’abord les k plus proches voisins du point de requête Dans ce cas, k est égal à 1
En effet, si on considère que la classe de ce point est la classe du point le plus proche, le résultat est alors le signe plus Dans le cas ó k est égal à 2, on ne peut pas définir le résultat parce que deuxième voisin est un signe moins Si on augmente k à 5, on obtient donc une région des voisins définie par le cercle En fait, il y a 2 signes plus et 3 signes moins dans cette région Et la classe du point de requête est le signe moins
3.4.2 Régression
La méthode k-plus proches voisins peut résoudre aussi les problèmes de régression Des problèmes de régression ont pour but de prévoir la valeur d'une variable dépendante si on a un ensemble de variables indépendantes
Trang 21Dans le schéma montré ci-dessus, il y a un ensemble de points (points verts) identifiés par la relation entre la variable indépendante x et la variable dépendante y (courbe rouge) L'ensemble d'objets verts constitue les données d'exemples On utilise la méthode k-plus proches voisins pour prévoir le résultat d’une valeur x quelconque Dans le cas ó k est égal à 1, le voisin de x est x4 Donc, la valeur de y correspondant est y4 Dans le cas ó k est égal à 2, les voisins de x sont x3 et x4 Le résultat est alors la moyenne des valeurs y3 et y4
Figure 11: Régression par k-plus proches voisins
3.5 Classifieurs Nạfs bayésiens
3.5.1 Introduction
Nommés d'après le théorème de Bayes, ces méthodes sont qualifiées de "Nạve" ou "Simple" car elles supposent l'indépendance des variables L'idée est d'utiliser des conditions de probabilité observées dans les données On calcule la probabilité de chaque classe parmi les exemples Ce sont les probabilités a-priori Par exemple, si la classe "informatique" revient 2 fois sur les 5 documents donnés en exemple, sa probabilité a-priori sera de 2/5 En plus des probabilités a-priori, l'algorithme calcule les fréquences d'apparition de chaque variable d'entrée avec celles de sortie Pour classer des documents, les variables d'entrée sont les mots présents dans l'ensemble des documents A chaque mot on calcule le nombre de fois qu'il apparaỵt dans les documents classés dans une classe donnée
On calcule cette fréquence pour chaque classe
3.5.2 Exemple
Un exemple du classifieur Nạf bayésien est donné dans l'illustration ci-dessous Figure 12: Exemple pour classifier nạf bayésien Les objets peuvent être classifiés comme VERT ou ROUGE Notre tache est de classifier de nouveaux cas comme ils arrivent, c.-à-d., décider la classe à laquelle ils appartiennent
Figure 12: Exemple pour classifier nạf bayésien
Trang 22Dans l’exemple, on a les probabilités a-priori comme suivant :
objets des
total Nombre
VERTS objets
des Nombre VERT
apriori obabilité
_ _ _
_ _
_ _
_
objets des
total Nombre
ROUGES objets
des Nombre ROUGE
apriori obabilité
_ _ _
_ _
_ _
_
Pr obabilité apriori VERT =
60
20 _
_
Pr obabilité apriori ROUGE =
Après avoir calculé les probabilités a-priori, nous sommes maintenant prêts à classifier un nouvel objet (cercle BLANC) Puisque les objets sont bien groupés, il est raisonnable de supposer que
le PLUS objet vert (ou rouge) proche de X, plus les nouveaux cas appartiennent probablement à cette couleur Pour mesurer cette probabilité, nous traçons un cercle autour de X qui entoure un nombre (choisi a priori) de points indépendamment de leurs étiquettes de classe Alors nous calculons le nombre de points du cercle appartenant à chaque étiquette de classe À partir de ceci nous calculons
la probabilité conditionnelle :
VERTS objets
des Nombre
X proches VERTS
des Nombre VERT
sachant X
obabilité
_ _
_
_ _
_ _ _
_ _
ROUGES objets
des Nombre
X proches ROUGES
des Nombre ROUGE
sachant X
obabilité
_ _
_
_ _
_ _ _
_ _
En appliquant les nombres :
40
1 _
_ _
Pr obabilité X sachant VERT =
20
3 _
_ _
Pr obabilité X sachant ROUGE =
Bien que les probabilités a-priori indiquent que X peut appartenir au VERT, la probabilité conditionnelle indique autrement que la classe de X est ROUGE Dans l'analyse bayésienne, la classification finale est produite en combinant les deux sources d'information, c.-à-d., la probabilité a-priori et la probabilité conditionnelle, pour former une probabilité finale en utilisant la règle Bayes
60
1 40
1
* 6 4
_ _
_
* _
_
_ _ _ Pr
=
=
= probabilit é apriori VERT probabilit é X sachant VERT
VERT est
X obabilité
20
1 20
3
* 6 2
_ _
_
* _
_
_ _ _ Pr
=
=
= probabilit é apriori ROUGE probabilit é X sachant ROUGE
ROUGE est
X obabilité
Finalement, la classe de X est Rouge
Trang 23Une variante des Naive Bayes sont les réseaux bayésiens : dans ce modèle, on ne suppose plus que les variables sont toutes indépendantes, et on en autorise certaines à être liées Cela alourdit considérablement les calculs et les résultats n’augmentent pas de façon significative
3.6 Réseaux bayésiens
3.6.1 Introduction
Les réseaux bayésiens sont à la fois :
• Des modèles de représentation des connaissances
• Des "machines à calculer" les probabilités conditionnelles
Pour un domaine donné, on décrit les relations causales entre variables d'intérêt par un graphe Dans ce graphe, les relations de cause à effet entre les variables ne sont pas déterministes, mais probabilisées Ainsi, l'observation d'une cause ou de plusieurs causes n'entraîne pas systématiquement l'effet ou les effets qui en dépendent, mais modifie seulement la probabilité de les observer
L'intérêt particulier des réseaux bayésiens est de tenir compte simultanément de connaissances
a priori d'experts (dans le graphe) et de l'expérience contenue dans les données Les réseaux bayésiens sont surtout utilisés pour le diagnostic (médical et industriel), l'analyse de risques, et le datamining
3.6.2 Exemple très simple dans la modélisation des risques
Un opérateur travaillant sur une machine risque de se blesser, s’il l’utilise mal Ce risque dépend de l’expérience de l’opérateur et de la complexité de la machine «Expérience» et
«Complexité» sont deux facteurs déterminants de ce risque (Figure 13: Structure de causalité)
Bien sûr, ces facteurs ne permettent pas de créer un modèle déterministe Si l’opérateur est expérimenté, et la machine simple, cela ne garantit pas qu’il n’y aura pas d’accident D’autres facteurs peuvent jouer : l’opérateur peut être fatigué, dérangé, etc La survenance du risque est toujours aléatoire, mais la probabilité de survenance dépend des facteurs identifiés
Le schéma ci-dessous représente la structure de causalité de ce modèle Figure 13: Structure de causalité
Figure 13: Structure de causalité
Trang 24Le suivant représente la probabilisation de la dépendance : on voit que la probabilité d'accident augmente si l'utilisateur est peu expérimenté ou la machine complexe
On voit ici comment intégrer des connaissances d'expert (les facteurs déterminants) et des données (par exemple, la table de probabilité d'accident en fonction des déterminants peut venir de statistiques)
Figure 14: Intégration des connaissances d'expert et des données
3.6.3 Construction et utilisation des réseaux bayésiens
Construire d’un réseau bayésien c'est donc :
• Définir le graphe du modèle
• Définir les tables de probabilité de chaque variable, conditionnellement à ses causes
Le graphe est aussi appelé la "structure" du modèle, et les tables de probabilités ses
"paramètres" Structure et paramètres peuvent être fournis par des experts, ou calculés à partir de données, même si en général, la structure est définie par des experts et les paramètres calculés à partir de données expérimentales
L'utilisation d'un réseau bayésien s'appelle "inférence" Le réseau bayésien est alors véritablement une "machine à calculer des probabilités conditionnelles" En fonction des informations observées, on calcule la probabilité des données non observées Par exemple, en fonction des symptômes d'un malade, on calcule la probabilité des différentes pathologies compatibles avec ces symptômes On peut aussi calculer la probabilité de symptômes non observés, et en déduire les examens complémentaires les plus intéressants
Trang 253.7 Comparaison des méthodes d’intelligence artificielle
utilisées Solution Problème résolu Explicative Réseaux de neurones Numériques Vectorisation
des variables catégorielles
Classification, Régression
Non
Arbre de décision Catégorielles Discrétisation
des variables numériques
Classification, Oui
Machine à vecteurs supports Numériques Vectorisation
des variables catégorielles
Classification, Régression
Non
K-plus proches voisins Numériques Vectorisation
des variables catégorielles
Classification, Régression
Non
Classifieurs Nạfs bayésiens Catégorielles Discrétisation
des variables numériques
Classification Non
Réseaux bayésiens Catégorielles Discrétisation
des variables numériques
Classification Oui
Tableau 2: Bilan des méthodes d'intelligence d'artificielle
Trang 264 TRAVAIL EFFECTUE
4.1 Définition du problème d’analyse de données de canalisation
La première étape du processus d’analyse de données est de choisir la bonne variable cible Dans les données relatives aux canalisations, les variables les plus intéressantes sont la corrosion externe, la corrosion interne, le temps et le lieu de la corrosion
La base de données utilisée dans ce stage est la base d’excavation des défauts de revêtement sur les canalisations en acier maintenue par Gaz de France Dans cette base, il y a deux variables susceptibles de donner une indication sur la présence d’une perte de métal Ce sont « l’atteinte au métal » et « la corrosion » En effet, l’atteinte au métal peut avoir différentes causes comme la griffure, l’enfoncement, la fusion, le dépôt de soudure etc Mais la plupart des atteintes viennent de
la corrosion électrochimique Il y a une étude précédente qui a trouvé que la corrosion était dans 80% des cas la cause de l’atteinte au métal
4.1.1 Définir le problème de détection de la corrosion
Dans ce travail, la corrosion est choisie comme la variable cible pour analyser les données de canalisations, parce que la prédiction de la corrosion électrochimique est plus logique que la prédiction d’atteinte au métal En outre, des défauts de type « griffure » ou « ’enfoncement » sont très rares Il s’agit d’événements aléatoires qui ne suivent aucune règle J’ai fait des tests en prenant deux variables cibles différentes D’abord, j’ai essayé avec « l’atteinte au métal » comme variable cible et puis, j’ai choisi « la corrosion » En comparant les résultats de ces deux tests j’ai trouvé que
le taux de classification était toujours plus élevé dans le deuxième cas que dans le premier
4.1.1.1 Essayer la prédiction de l’atteinte au métal
Dans ce cas, la variable « l’atteinte au métal » est choisie comme variable cible J’ai fait le test
en utilisant plusieurs échantillons de données avec différentes tailles Le taux de classification correcte est retenu comme critère pour faire la comparaison 4 méthodes d’apprentissage sont utilisées pour réaliser cette tâche : les réseaux de neurones, les arbres de décision, les machines à vecteurs supports, et les k-plus proches voisins
Trang 274.1.1.2 Essayer la prédiction de la corrosion
Dans le deuxième test, j’ai modifié un peu la base de données En effet, j’ai équilibré le nombre
de corrosion avec le nombre de non-corrosion dans la base d’apprentissage Mais, avec toujours les mêmes méthodes, le taux de classification si on choisit « la corrosion » comme variable cible est toujours meilleur que dans le cas précédent (c’est-à-dire avec l’atteinte au métal comme cible)
Figure 16: Résultats du problème de prédiction de la corrosion
4.1.2 Réduire le nombre de variables à analyser
Parmi les quarante variables dans la base de données REX (la description détaillée de la base
de données de Retour d’expérience est présentée dans l’annexe 11.1), il y en a certaines qui sont très importantes en terme de l’influence sur la présence de la corrosion mais il y en a aussi un certain nombre qui sont indépendantes de la corrosion Donc, on peut supprimer ces variables pour réduire
la mémoire utilisée et le temps d’exécution des algorithmes
Après consultation d’un expert corrosion j’ai choisi seulement 21 variables pour analyser le problème de corrosion La sélection des variables avec ses nombres des valeurs manquants est détaillée dans le Tableau 8: Variables choisies avec leur nombre de valeurs manquantes de l’annexe
11
Trang 284.2 Pré-traitement de données
4.2.1 Objectifs
La base de données est stockée dans un fichier Excel et se présente sous la forme d’un immense tableau unique Elle contient de nombreuses variables dont certaines ont des valeurs symboliques et d’autres ont des valeurs numériques Elle comporte en tout environ 40 variables, mais qui ne sont jamais toutes bien renseignées En effet, beaucoup de données sont manquantes et certaines sont erronées, voir aberrantes
En plus, pour bien analyser les données en utilisant les méthodes d’intelligence artificielle Il faut une base de données de grande taille, bien structurée et consistante En particulier pour le problème de classification, l’équilibre du nombre d’observation des classes de la variable cible est aussi nécessaire
Dans l’étape de pré-traitement de données, je dois d’abord détecter, éventuellement corriger les erreurs de la base REX et même compléter les données manquantes J’ai été aussi obligé de faire une réplication des données de la classe de corrosion pour équilibrer le nombre de défauts de revêtement présentant une la corrosion avec le nombre de défauts de revêtement sans corrosion
4.2.2 Problèmes liés aux données
4.2.2.1 Taille de données
Au total, la base de données Rex contient un peu plus de 4700 observations, ce nombre apparaỵt insuffisant pour qu’on puisse bien analyser le problème de corrosion en utilisant les méthodes d’intelligence artificielle Néanmoins, c’est un volume d’informations énorme pour une base de données de défauts de canalisation : les observations sont collectées lors d’excavations qui peuvent cỏter jusqu’à 30000€, quelques centaines d’excavations sont effectuées tous les ans mais il est clair qu’il n’est pas possible du point de vue économique d’en faire plusieurs milliers Donc, il faut se contenter de ces données
4.2.2.2 Valeurs manquantes
Toutes les méthodes d’intelligence artificielle ne peuvent pas travailler avec les observations ayant des valeurs manquantes Cependant il y a beaucoup de valeurs manquantes dans la base de données Rex, (10569 au total) Les statistiques détaillées sont présentées dans partie annexe Tableau 8: Variables choisies avec leur nombre de valeurs manquant
4.2.2.3 Incohérence de données
Comme les données de la base Rex sont entrées dans le fichier Excel manuellement, sans masque de saisie, l’exactitude de données, la consistance des entités et les règles de cohérence ne sont pas systématiquement vérifiées Donc, les valeurs de données ne sont pas forcément fiables Par exemple, une même canalisation n’a qu’une valeur unique d’âge, de diamètre nominal, de cơte de charge Mais, on peut facilement trouver dans la base des valeurs différentes de ces variables pour une même canalisation On a exactement 469 ensembles de valeurs différents dans la base Rex pour seulement 398 canalisations En plus, certaines de ces variables ont des valeurs multiples comme « l’année de pose » avec les valeurs « 1958 + 1961 », « 1960 + 1968 »
Toutes les incohérences détaillées sont précisées dans la partie de l’annexe 11.2
Trang 294.2.2.4 Déséquilibre de données
Parmi les 4700 défauts de revêtement dans la base de données Rex, il n’y a que 452 défauts avec corrosion, 4088 défauts sans corrosion et 187 observations ó on ne sait pas s’il y a ou non présence de corrosion Cela veut dire que le nombre d’observations qui peuvent décrire la corrosion sur canalisation est trop petit par rapport au nombre total de défauts de revêtement
En particulier, pour le problème de classification binaire, le déséquilibre de données d’entrée a une grande influence sur le résultat obtenu Le taux de bonne prédiction de la classe ayant la grande population est toujours meilleur que celui de l’autre classe Donc dans ce cas, la prédiction de corrosion n’est pas très bonne à cause du déséquilibre de données
4.2.3 Solutions
4.2.3.1 Gestion des valeurs manquantes
Pour que les algorithmes d’intelligence artificielle puissent traiter les observations ayant les valeurs manquantes dans la base de données, il faut remplacer ces valeurs Pour les variables catégorielles, j’ai remplacé tous les valeurs manquantes par la valeur inconnue « UNKNOWN » Et, pour les variables numériques, soit les valeurs manquantes sont remplacées par la valeur moyenne de
la variable soit on supprime les observations ayant les valeurs manquantes de type numérique
4.2.3.2 Rectification des données incohérentes
Pour résoudre le problème d’incohérence de données, il a fallu faut d’abord chercher les valeurs erronées dans la base de données Pour faire ceci, j’ai dû identifier toutes les règles d’intégrité concernant les données de canalisations Ceci m’a permis ensuite de trouver les valeurs qui ne leur correspondaient pas Les règles d’intégrité sont présentées dans la partie annexe 11.3 J’ai essayé d’exporter le fichier Excel de la base de Rex vers une base de données Access Les valeurs mal structurées et incorrectes n’ont pas été importées et ont été listées dans un tableau
Ensuite, les valeurs incorrectes ont dû être rectifiées J’ai construit un tableau de correspondances entre les valeurs incorrectes et les valeurs correctes à l’aide des opérateurs logiques
et des indications l’expert corrosion Enfin, la correction des valeurs a été faite par les requêtes de mise à jour en SQL dans Access
4.2.3.3 Réplication des corrosions
Pour résoudre le problème de déséquilibre de données, tout d’abord j’ai remplacé les valeurs corrosions inconnues par l’existence de corrosion s’il y a atteinte au métal au droit du défaut de revêtement Ceci était possible parce que la probabilité de la présence de corrosion est de 0.8 lorsqu’il y a une atteinte au métal Puis, j’ai répliqué 7 fois les données avec corrosion dans la base et
la base de données résultante était à peu près équilibrée
Trang 304.3 Analyse des données par les méthodes de classification
Dans cette partie, je présente les étapes d’analyse de données après avoir prétraité les données
Je me concentre sur le problème de classification de corrosion en utilisant les méthodes de classification classiques comme les réseaux de neurones, les arbres de décision, les machines à vecteurs supports, les k-plus proches voisins et les classifieurs nạfs bayésiens
4.3.1 Construction des modèles d’analyse de données
Pour construire un modèle de data mining, je dois déterminer comment on utilise les données d’entrées, comment on fait l’apprentissage, le test et comment on fait la comparaison des résultats obtenus avec les différentes méthodes Le processus de construction des modèles de classification contient plusieurs étapes:
− la sélection d’échantillon de données d’entrées pour faire l’apprentissage du modèle,
− l’exécution de l’algorithme d’apprentissage,
− le test du modèle en utilisant les échantillons de données de test
4.3.1.1 Echantillonnage de données avec différentes tailles de données
Pour étudier l’influence de la taille des données d’apprentissage sur les méthodes d’intelligence artificielle, j’ai fait l’échantillonnage de données en plusieurs tailles: 1000, 2000, 3000,
4000, 5000, 6000, 7000 observations Pour chaque taille de données, j’ai choisi plusieurs échantillons Pour chaque échantillon, le nombre de défauts de revêtement avec corrosion était en équilibre avec le nombre défauts de revêtement sans corrosion
Ensuite, j’ai divisé chaque échantillon en 2 parties : une base de données d’apprentissage avec 75% de données de l’échantillon, et une base de données de test comportant 25% des observations Pour identifier le nombre d’échantillons de chaque taille de données, j’ai fait une expérience avec deux tests Dans le premier test, j’ai calculé la moyenne des taux de classification de 10 échantillons pour une taille Ensuite, j’ai augmenté ce nombre à 30 échantillons dans le deuxième
Trang 31Figure 17: Comparaison du résultat entre 10 et 30 échantillons
Finalement, il n’y a pas de grande différence entre les résultats de deux tests J’ai donc décidé
de choisir 10 échantillons pour tous les autres tests Ceci économise le temps d’exécution, mais garde la même fiabilité dans le résultat obtenu
4.3.1.2 Apprentissage des modèles de classification
J’ai choisi 5 méthodes d’intelligence artificielle avec 8 instances de modèle de classification (3 instances d’arbres de décision, 2 instances de réseaux de neurones, une instance de machines à vecteurs supports, une instance de k-plus proches voisins, et un classifieur nạf bayésien)
Figure 18: Schéma de la classification d’un échantillon de données
Le processus de classification d’un échantillon de données est illustré par la Figure 18: Schéma
de la classification d’un échantillon de données L’échantillon est divisé en 2 sous-ensembles par une procédure qui partage une base en base d’apprentissage et base de test
Pour chaque méthode, le processus d’apprentissage est d’abord exécuté en utilisant la base d’apprentissage et donne le résultat de classification Puis, le processus de test utilise la base de test comme l’entrée pour générer le résultat de test
La procédure de comparaison est effectuée par un comparateur qui peut collecter et compter les
pourcentages de divergence de chaque méthode
4.3.1.3 Choix des critères de comparaison entre les méthodes
Chaque modèle de classification donne plusieurs type de rapport dans le résultat La matrice de confusion et le taux de classification sont considérés comme les paramètres les plus importantes pour estimer un modèle Pour faire la comparaison entre les méthodes d’intelligence artificielle, on peut utiliser le taux de bonne classification ou le taux de mauvaise classification Si le taux de bonne classification est élevé alors le modèle a une bonne capacité de prédire la corrosion Au contraire, si
le taux de mauvaise classification est élevé alors le modèle n’est pas très capable de prédire la corrosion, chaque classe ayant un taux de classification différent Les modèles avec taux élevé de bonne classification de la classe corrosion sont considérés plus performants que les autres modèles
Trang 324.3.2 Analyse des résultats
4.3.2.1 Influence de la taille d’échantillon sur le taux de classification
Pour obtenir le taux de classification pour chaque taille de données, j’ai calculé la moyenne des taux de classification de tous les échantillons de même taille
Le taux de classification dépend de la taille de l’échantillon de données Pour les méthodes de réseaux de neurones, d’arbre de décision et k-plus proches voisins le taux de classification augmente si on augmente la taille des échantillons Mais, le taux de classification de la méthode SVM
se dégrade si on augmente la taille de données d’échantillon K-plus proches voisins est la méthode
la plus sensible à la taille de données Les réseaux de neurones sont assez stables si la taille de données est changée
Dans l’application des méthodes de classification au problème de détection de la corrosion sur
la base de données Rex, on peut expliquer ces résultats comme suit :
• Si le nombre de cas est augmenté alors la corrosion est mieux décrite dans la base de données d’apprentissage Donc, la capacité de reconnaître la corrosion des méthodes va normalement être augmentée
• Pour la méthode des réseaux de neurones, le processus d’apprentissage est effectué à chaque fois par une observation choisie aléatoirement Le taux de classification du réseau est raffiné comme les paramètres du réseau de neurones après chaque itération,
et le nombre itérations est indépendant du nombre d’observations dans la base d’apprentissage Cette méthode n’est pas alors influencée par le bruit de données et même par le changement du nombre de cas des échantillons
• Pour la méthode k-plus proches voisins, la classe d’une observation est reconnue par la classe de l’observation la plus proche En fait, cette reconnaissance est très sensible au bruit de données Donc, si la base d’apprentissage décrit mieux la corrosion, la méthode k-plus proche voisins classe mieux les observations
• Pour la méthode machine à vecteurs supports, le taux de classification correcte se dégrade si le nombre de cas est augmenté, c’est à cause de la réplication des observations dans la classe de corrosion que j’ai faite à partir de la base de données d’origine Le nombre de cas de la base totale est augmenté mais la description de la classe corrosion n’est pas meilleure, la méthode rencontre plus de difficulté pour séparer les deux classes corrosion et non-corrosion
• Parmi les quatre méthodes d’apprentissage automatique, la méthode de l’arbre de décision a le taux de classification correcte le plus élevé
Trang 334.3.2.2 Taux de classification de l’ensemble de test et de l’ensemble global
Avant le processus d’apprentissage des modèles de classification, l’ensemble global de données est l’échantillon total de données Il est divisé en deux parties: l’ensemble d’apprentissage et l’ensemble de test
Figure 19: Taux de classification de l'ensemble global
Figure 20: Taux de classification de l'ensemble de test
Le taux de classification de la méthode d’arbre de décision est calculé seulement sur l’ensemble global Inversement, le taux de classification de la méthode k-plus proches voisins n’est calculé que sur l’ensemble de test tandis qu’on peut afficher le résultat de deux méthodes machine à vecteurs supports et réseaux de neurones sur l’ensemble d’apprentissage, sur l’ensemble de test ou même sur l’ensemble global de données
La Figure 19: Taux de classification de l'ensemble global est la comparaison des taux de classification entre les méthodes sur l’ensemble global La Figure 20: Taux de classification de l'ensemble de test est la comparaison des taux de classification entre les méthodes sur l’ensemble de test Le résultat des deux méthodes d’arbre de décision et k-plus proches voisins sont similaires
Trang 34dans les deux cas Le résultat des deux méthodes machine à vecteurs supports et réseaux de neurones sont différents
4.3.2.3 Taux de classification des classes corrosion et non-corrosion
A cause du déséquilibre du nombre d’observations entre deux classes corrosion et non-corrosion dans la base de données d’origine, les taux de classification entre ces deux classes sont assez
différents malgré la réplication des données de corrosion
Figure 21: La différence des taux de classification entre 2 classes corrosion et non-corrosion
Pour les trois méthodes arbre de décision, machine à vecteurs supports et réseaux de neurones,
le taux de classification de la classe OUI (classe de corrosion) est plus élevé que celui de la classe NON Au contraire, le taux de classification de la classe OUI est plus bas que celui de la classe NON dans le résultat de la méthode k-plus proches voisins
Pour expliquer le résultat de la méthode k-plus proches voisins, on voit que la probabilité de désignation de la classe corrosion à une observation quelconque n’augmente pas avec la réplication des données de corrosion parce que le nombre de points représentant les données corrosion dans l’espace à n dimensions n’est pas augmenté, et que le nombre de points de la classe NON est toujours plus élevé Donc, la probabilité de désignation de la classe non-corrosion à une observation quelconque est plus élevée que celle de la classe corrosion
La différence du taux de classification entre deux classes corrosion et non-corrosion augmente
si la taille de l’échantillon de données est augmentée, parce que la réplication est effectuée plus de fois dans ce cas
Trang 354.4 Analyse des données par Réseaux bayésiens
Les réseaux bayésiens sont une méthode d’intelligence artificielle explicative Cette méthode est utilisée dans ce stage pour expliquer les causes de la corrosion et pour analyser les relations entre les variables
Les réseaux bayésiens travaillent uniquement avec les données catégorielles Dans un premier temps il est donc nécessaire de discrétiser les variables continues à l’aide d’une des méthodes de discrétisation (voir paragraphe 4.4.1) Puis, j’ai pu mettre la base de données discrétisées à l’entrée
du processus d’apprentissage dont le résultat était un réseau bayésien qui décrit les relations entre les variables de la base de données Ensuite, j’ai pu évaluer la performance du réseau en utilisant une base de données de test
J’ai pu identifier les connaissances cachées dans la base de données en utilisant les méthodes d’analyse des résultats comme le rapport d’analyse des relations entre variables, le rapport d’analyse des relations avec la variable cible, l’exécution des requêtes sur réseau, etc
Echantillons d’apprentissage
Echantillonnage
Réseaux bayésiens
Estimation la performance
Echantillons
de test
Rapport d’analyse des relations
Rapport d’analyse des corrosions Analyse des corrosions
Exécution des requêtes
Résultat des requêtes Analyse des relations
Figure 22: Processus d’analyse de données par la méthode des réseaux bayésiens
Trang 364.4.1 Discrétisation des variables continues
Comme je l’ai déjà expliqué, les réseaux bayésiens peuvent manipuler seulement les données catégorielles Il faut donc faire une discrétisation des variables continues Il existe trois méthodes de discrétisation différentes Pour chaque variable continue, le logiciel BayesiaLab fait automatiquement une discrétisation « égales distances » ou « égales fréquences » La troisième façon de discrétiser est manuelle ó les plages de chaque variable à discrétiser sont choisies par l’expert du domaine de la corrosion
4.4.1.1 Discrétisation « égales distances »
Au départ, il faut choisir le nombre de classes et puis, pour chaque variable continue, les valeurs sont classées à l’aide des seuils qui correspondent aux distances égales entre le minimum et
le maximum présents dans les données La discrétisation « égales distances » est facile à réaliser, mais la distribution des populations dans les classes créées est déséquilibrée
Pour illustrer ce problème je peux citer par exemple la discrétisation de la variable résistivité_du_sol dans la base de données Rex La valeur minimale du résistivité_du_sol est 0, et la valeur maximale est 7278 Donc, les valeurs sont classées en quatre classes à l’aide de trois seuils : 1819.5 – 3639 – 5458.5 La distance entre les seuils est 1819.5 Dans le résultat de la discrétisation,
il y a 98.43% d’observations dont la résisvité_du_sol est inférieure à 1819.5, et il reste un petit pourcentage pour les trois autres classes
Figure 23: Discrétisation égales distances
4.4.1.2 Discrétisation « égales fréquences »
Comme dans le cas précédent, pour effectuer une discrétisation « égales fréquences » il faut dans un premier temps choisir le nombre de classes Les plages de valeurs sont choisies pour égaliser la distribution de population de la variable donnée Donc, les populations des valeurs sont assez équilibrées En réalité, la discrétisation est choisie comme la discrétisation par défaut dans les
Trang 37Figure 24: Discrétisation égales fréquences
4.4.1.3 Discrétisation manuelle
Figure 25: Discrétisation manuelle
Trang 38Les deux façons de discrétiser à savoir « égales distances » et « égales fréquences » sont faites automatiquement par le logiciel Cependant elles ne correspondent pas forcément aux représentations des experts du domaine Il est alors préférable de consulter un expert pour établir une discrétisation qui a une signification physique ou logique
L’ensemble des données dans une classe générée automatiquement n‘a pas souvent de signification Par exemple, avec la variable Ec_on_continu dans la base de données de Rex le seuil à -1500mV permet de faire la distinction entre les revêtements sous protégés et les revêtements sur protégés Il est donc préférable de rajouter un seuil supplémentaire à –1500nV dans la discrétisation qui n’aurait pas pu apparaître dans les discrétisations automatiques
Le résultat de la discrétisation manuelle avec consultation de l’expert corrosion est présenté dans la Figure 25: Discrétisation manuelle
4.4.1.4 Rectification de discrétisation
La discrétisation manuelle est la meilleure façon en terme de signification de données, mais elle peut engendrer un problème de déséquilibre entre les populations des différentes classes présentes dans la base de données d’apprentissage Dans ce cas, il faut faire une rectification des plages de données pour éliminer le déséquilibre de classes tout en gardant la signification de données discrétisées
J’ai aussi rencontré ce problème au cours du travail sur les réseaux bayésiens J’ai procédé à une deuxième consultation cette fois-ci avec deux experts corrosion pour construire une nouvelle discrétisation experte
Figure 26: Discrétisation rectifiée
Trang 394.4.2 Apprentissage sans échantillonnage et comparaison des réseaux
différents
Le logiciel BayesiaLab permet d’effectuer un apprentissage du réseau bayésien en prenant la base de données discrétisée comme l’entrée du processus sans faire d’échantillonnage de données
Le réseau bayésien construit est le résultat obtenu pour la base de données totale
Le réseau est un graphe acyclique orienté qui se compose des nœuds correspondant aux variables de la base de données et d’arcs représentant les relations entre celles-ci Chaque relation est représentée par un arc orienté et l’épaisseur de l’arc indique la force de la relation
Figure 27: Réseau bayésien obtenu après l'apprentissage
Si on fait des discrétisations différentes, on obtient forcément des réseaux différents Dans ce cas, une question se pose : comment peut-on discrétiser les données pour avoir un réseau de bonne qualité ? Pour répondre à cette question, il faut d’abord savoir estimer la qualité d’un réseau bayésien En effet, les réseaux bayésiens sont des représentations des connaissances exploitées après le processus d’apprentissage sur une base de données Il n’est pas facile de mesurer la qualité des connaissances obtenues parce que cela dépend de l’évaluation des experts du domaine
Cependant, dans le but d’analyser les causes de la corrosion sur les canalisations en utilisant la base de données Rex, on peut faire une comparaison entre les réseaux bayésiens en se basant sur le taux de classification correcte qui exprime la fiabilité et la capacité de prédiction de la corrosion Le taux de classification est le résultat de l’étape test du réseau sur une base de données de test Il est calculé par le pourcentage de bonne prédiction du réseau par rapport à l’ensemble de la base de test
Trang 40Pour comparer l’efficacité des méthodes de discrétisation, j’ai fait l’apprentissage de 4 réseaux bayésiens correspondant aux 4 façons différentes de discrétiser : la discrétisation « égales distances », la discrétisation « égales fréquences », la discrétisation manuelle et la discrétisation manuelle rectifiée
Après les évaluations des experts, le réseau obtenu par la discrétisation manuelle rectifiée est
le meilleur en terme de la qualité des relations trouvées entre les variables dans la base de données
En faite, les résultats du réseau sont non seulement cohérents mais de plus enrichissants par rapport aux connaissances du domaine
4.4.3 Analyse des résultats
Différentes méthodes d’analyse des résultats à partir du réseau obtenu sont possibles dans le logiciel BayesiaLab
4.4.3.1 Analyse des relations découvertes
Figure 28: Analyse la force des relations
Les relations entre les variables dans la base de données sont orientées du nœud parent au nœud enfant Chaque relation se compose de trois mesures différentes: la distance de Kullback-Leibler, le poids relatif et la corrélation de Pearson La distance de Kullback-Leibler et le poids relatif sont deux mesures désignant la force des relations L’échelle du poids relatif est de 0 à 1 Zero est la valeur la plus faible et 1 est la valeur la plus forte du poids relatif Dans le schéma au-dessus la force des relations est représentée par l’épaisseur des arcs