UNIVERSITÉ MOHAMMED V FACULTÉ DES SCIENCES Rabat N° d’ordre : 2785 THÈSE DE DOCTORAT Présentée par : EL BOUJNOUNI Mohamed Discipline: Sciences de l’Ingénieur Spécialité : Informatique Contribution à l’optimisation de la machine d’apprentissage SVDD application à la détection de spams et de virus informatiques Soutenue le 21-07-2015 Devant le jury composé de : Président : Mr. Aziz ETTOUHAMI Professeur à la Faculté des Sciences de Rabat. Rabat Examinateurs : Mr. Jamal OUENNICHE Professeur au Business School, Université niversité d’Edinburgh (UK) Mr. Abdelaziz BOUROUMI Professeur à la Faculté des Sciences Ben M’sik M’ Casablanca. Mr. Noureddine ZAHID Professeur à la Faculté des Sciences de Rabat. Rabat Mr. Mohamed JEDRA Professeur à la Faculté des Sciences de Rabat. Rabat Mr. Mohammed Majid HIMMI Professeur à la Faculté des Sciences de Rabat. Rabat Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc Tel +212 (0) 37 77 18 34/35/38, Fax : +212 (0) 37 77 42 61, http://www.fsr.ac.ma 1 Avant propos Les travaux présentés dans cette thèse ont été effectués au Laboratoire Conception et Systèmes (Microélectronique et Informatique) LCS à la Faculté des Sciences de Rabat sous la direction du Professeur M. Jedra. Mes premiers remerciements s’adressent à mon directeur de thèse Monsieur M. Jedra, Professeur à la Faculté des Sciences de Rabat, pour sa disponibilité et ses conseils judicieux qu’il m’a prodigués. Je lui suis tout particulièrement reconnaissant d’avoir su m’orienter et de m’avoir encouragé tout au long de cette recherche. J’ai particulièrement apprécié ses commentaires, son sens de critique aiguisé et son grand respect pour les idées. Il a été une source d’inspiration, et de rigueur scientifique. Je tiens à exprimer ma haute considération à Monsieur A. Ettouhami, Professeur à la Faculté des Sciences de Rabat, directeur du laboratoire LCS, d’avoir accepté de présider le jury de cette thèse et d'être rapporteur de mon travail. Je le remercie vivement pour ses remarques pertinentes et ses nombreux conseils. Ma profonde gratitude va également à Monsieur N. Zahid coencadrant, Professeur à la Faculté des Sciences de Rabat, pour ses recommandations et sa collaboration qui m’ont été de grande pertinence et de réelle utilité pour mener à bien ce projet de recherche et aussi pour sa participation à ce jury de thèse. Je présente à Monsieur M. Himmi, Professeur à la Faculté des sciences de Rabat, l’expression de ma profonde reconnaissance, pour le grand honneur qu’il me fait en acceptant de participer à ce jury de thèse. 2 Je présente également à Monsieur A. Bouroumi, Professeur à la faculté des sciences Ben M’sik de Casablanca, l’expression de ma profonde reconnaissance, pour le grand honneur qu’il me fait en acceptant de participer à ce jury de thèse. Je tiens également à témoigner ma profonde gratitude à Monsieur J.Ouenniche, Professeur au Business School à l’université d’Edinburgh, d’avoir porté un jugement sur ce travail en qualité de rapporteur. Je lui suis très reconnaissant d’avoir accepté de faire partie de ce jury de thèse. Enfin, je tiens à remercier et à exprimer ma sincère sympathie à tous les Professeurs et les Doctorants du Laboratoire Conception et Systèmes (Micro-électronique et Informatique) de la faculté des sciences de Rabat. 3 Dédicace T Åt ytÅ|ÄÄx xà õ Åxá tÅ|á 4 Table des matières Introduction Générale ...................................................................................... 9 Chapitre I ......................................................................................................... 12 État de l'art de l’apprentissage automatique.................................................. 12 1.1. Introduction ................................................................................................................................... 12 1.2. Les types d'algorithmes d'apprentissage ........................................................................................ 13 1.3. L’apprentissage supervisé .............................................................................................................. 14 1.3.1. Les réseaux de neurones à apprentissage supervisé ............................................................... 15 1.3.2. Les séparateurs à vaste marge ................................................................................................ 19 1.3.3. Les arbres de décision ............................................................................................................ 20 1.3.4. Le classifieur Bayesien naïf ..................................................................................................... 23 1.4. L’apprentissage non-supervisé ....................................................................................................... 24 1.4.1. Les réseaux de neurones à apprentissage non supervisé......................................................... 25 1.4.2. L’analyse en composantes principales .................................................................................... 27 1.4.3. Les k-moyennes ...................................................................................................................... 31 1.4.4. Les méthodes hiérarchiques ................................................................................................... 33 1.5. L’apprentissage semi-supervisé ...................................................................................................... 34 1.6. L’apprentissage par renforcement.................................................................................................. 35 1.7. Conclusion ..................................................................................................................................... 36 Chapitre II ........................................................................................................ 37 Machines d’apprentissage à noyaux ............................................................... 37 2.1. Introduction ................................................................................................................................... 37 2.2. Principe de la minimisation du risque ............................................................................................. 38 2.2.1. La minimisation du risque théorique....................................................................................... 38 2.2.2. La minimisation du risque empirique ...................................................................................... 39 2.2.3. La minimisation du risque structurel ....................................................................................... 39 2.3. Les Séparateurs à Vaste Marge (SVMs) ........................................................................................... 41 2.3.1. SVMs mono-classe.................................................................................................................. 41 5 2.3.2. SVMs bi-classes ...................................................................................................................... 43 2.3.3. Variantes des séparateurs à vaste marge ................................................................................ 47 2.3.3.1. Moindres carrés SVM.............................................................................................................. 47 2.3.3.2. SVM Proximale ....................................................................................................................... 48 2.4. Support Vector Domain Description (SVDD) ................................................................................... 50 2.4.1. SVDD mono-classe.................................................................................................................. 50 2.4.2. SVDD bi-classes ...................................................................................................................... 51 2.4.3. Variantes du Support Vector Domain Description ................................................................... 53 2.4.3.1. SVDD avec sphère unique ....................................................................................................... 53 2.4.3.2. SVDD basé sur le maximum de distance entre les centres de deux sphères. ............................ 54 2.5. Méthodes de décomposition multi-classes ..................................................................................... 55 2.6. Méthodes à noyaux ....................................................................................................................... 58 2.6.1. Principe .................................................................................................................................. 58 2.6.2. Propriétés des noyaux ............................................................................................................ 59 2.6.3. Exemples de noyaux ............................................................................................................... 60 2.7. Conclusion ..................................................................................................................................... 61 Chapitre III ...................................................................................................... 62 Optimisation de la séparabilité interclasses de la machine SVDD ................ 62 3.1. Introduction ................................................................................................................................... 62 3.2. Maximisation de la séparabilité inter-sphères ................................................................................ 63 3.2.1. Formulation mathématique .................................................................................................... 63 3.2.2. Résultats obtenus sur des bases standards ............................................................................. 67 3.3. Contrôle des volumes des sphères minimales................................................................................. 73 3.3.1. Introduction d’un paramètre de contrôle des volumes des sphères minimales ....................... 74 3.3.2. Résultats obtenus sur des bases de référence......................................................................... 76 3.4. SVDD avec une fonction de décision floue ...................................................................................... 79 3.4.1. Les fonctions de décision floues.............................................................................................. 79 3.4.2. Les séparateurs à vaste marges floues .................................................................................... 79 3.4.3. Exploitation de l’appartenance floue dans le SVDD ................................................................. 81 3.4.4. Résultats obtenus sur des bases standards ............................................................................. 82 6 3.5. Conclusion ..................................................................................................................................... 85 Chapitre IV....................................................................................................... 86 Paramétrage optimal de l’espace des caractéristiques. .................................. 86 4.1. Introduction ................................................................................................................................... 86 4.2. Largeur optimale du noyau Gaussien et séparabilité interclasses ................................................... 87 4.2.1. Problème du choix des paramètres de la fonction noyau ........................................................ 87 4.2.2. Formulation mathématique .................................................................................................... 88 4.2.3. Résultats obtenus sur des bases standards ............................................................................. 89 4.3. Largeur optimale du noyau Gaussien et distance intercentres ........................................................ 92 4.3.1. Capacité de généralisation d’un modèle ................................................................................. 92 4.3.2. Utilisation d’un nouveau indice de séparation ........................................................................ 93 4.3.3. Résultats obtenus sur des bases standards ............................................................................. 95 4.4. SVDD avec coefficients de confiance .............................................................................................. 97 4.4.1. Génération des coefficients de confiance ............................................................................... 99 4.4.2. Utilisation des nouveaux coefficients de confiance ............................................................... 101 4.4.3. Résultats obtenus sur des bases standards ........................................................................... 103 4.5. Conclusion ................................................................................................................................... 107 Chapitre V ...................................................................................................... 109 Classification et détection des spams et des virus informatiques par SVDD ......................................................................................................................... 109 5.1. Introduction ................................................................................................................................. 109 5.2. Filtrage anti-spam par SVDD ......................................................................................................... 110 5.2.1. Méthodes de classification automatique des spams ............................................................. 112 5.2.2. Approche proposée pour la classification des spams ............................................................ 112 5.2.3. Résultats obtenus sur une base standard de spams .............................................................. 113 5.3. Détection des logiciels malveillants par N-grammes et SVDD........................................................ 118 5.3.1. Méthodes de classification automatique des logiciels malveillants utilisant les N-grammes .. 120 5.3.2. Méthode proposée pour la détection des virus informatiques .............................................. 121 5.3.3. Résultats obtenus pour une base standard de virus informatiques ....................................... 122 7 5.4. Conclusion ................................................................................................................................... 127 Conclusion générale ....................................................................................... 128 Bibliographie .................................................................................................. 131 ANNEXE ........................................................................................................ 144 8 Introduction Générale Le domaine de l’intelligence artificielle a pour objectif le développement de systèmes informatiques capables de simuler des comportements associés à l’intelligence humaine. Il couvre un large champ d’applications notamment les sciences cognitives, la robotique, la vision par ordinateur, la reconnaissance de formes, la fouille de données, la représentation et l'acquisition des connaissances, le raisonnement, etc. L'apprentissage automatique est un des sous-domaines de l'intelligence artificielle, qui consiste à concevoir des systèmes capables d'extraire et d'exploiter à partir des informations disponibles, les connaissances utiles servant à la prise de décision. Ces systèmes d’apprentissage ont la faculté d’apprendre d’une façon autonome de nouvelles connaissances non connues à priori. Divers modèles d’apprentissage ont ainsi été développés pour la mise au point de systèmes d’aide à la décision très utilisés dans de nombreuses applications: supervision des processus, reconnaissance de forme, prédiction …etc. 9 Introduction Générale Parmi les techniques les plus populaires et prometteuses utilisées dans le domaine d’apprentissage automatique supervisé, on trouve les machines à apprentissage comme les Support Vector Machines et les Support Vector Domain Description. Elles constituent une classe d’algorithmes issus de la théorie d’apprentissage statistique et possèdent plusieurs propriétés attractives notamment : Elles sont basées sur un fondement mathématique solide, elles conduisent à la résolution d’un problème quadratique convexe dont la solution est globale, elles exploitent les fonctions noyaux permettant un passage implicite de l’espace de représentation des données à un espace augmenté afin de classifier les données non linéairement séparables et elles nécessitent le réglage d’un nombre réduit de paramètres. Elles ont montré leur efficacité dans de nombreux domaines d’application tels que la supervision des procédés industriels, la prédiction boursière, le diagnostic médical, etc. Parmi ces domaines on trouve la sécurité des systèmes informatiques où elles ont été utilisées particulièrement pour la détection d’intrusions dans les réseaux informatiques, le filtrage des courriers électroniques indésirables connus sous le nom de spam et la détection des attaques dûes aux virus informatiques. Par ailleurs, les systèmes informatiques accompagnent aujourd’hui tous les processus métiers des entreprises, des administrations publiques, et du mode de vie des citoyens, il s’agit d’une composante essentielle de leur performance. Vu l’importance des informations gérées par lesdits systèmes, ces derniers peuvent être exposés à des attaques qui exploitent leurs éléments vulnérables. La sécurité des systèmes informatiques a pour objectif de lutter contre les menaces pouvant peser sur la confidentialité de l’information, son intégrité, sa disponibilité, etc. Les attaques les plus répandues sont dûes aux virus, aux spams, aux vers, aux spyware, etc. Cette thèse s’inscrit dans le cadre de l’apprentissage automatique et s’intéresse essentiellement à l’amélioration de la machine à apprentissage SVDD et aux problèmes de la sécurité des systèmes informatiques, en particulier le filtrage anti-spam et la détection des virus informatiques. Ce mémoire de thèse est organisé de la manière suivante : Dans le premier chapitre nous allons dresser un état d’art de l’apprentissage automatique, dans lequel nous allons étudier les différents types d’apprentissage : hors ligne, incrémental, et en ligne. Nous allons exposer les différents modes d’apprentissage supervisé, non supervisé, semisupervisé et par renforcement. Ensuite, nous allons nous focaliser sur les deux premiers modes car ils sont les plus populaires. Nous allons mettre en exergue les algorithmes les plus utilisés dans ces deux modes, en citant leurs avantages, leurs inconvénients, leurs variantes, et leurs domaines d’application. Le second chapitre fait l’objet d’une présentation approfondie des méthodes à noyaux, en particulier les deux méthodes : Support Vector Machines et Support Vector Domain Description. Ce chapitre est organisé autour de trois axes principaux, le premier introduit les fondements de la théorie d’apprentissage statistique, plus particulièrement le principe de minimisation du risque structurel et la VC-dimension, le second présente la théorie desdites méthodes dans le cas monclass et bi-classes, leurs variantes, et leurs mode d’utilisation dans le cas multi-classes , le troisième décrit le principe de transformation de données dans un espace augmenté à l’aide des fonctions noyaux. 10 Introduction Générale Le troisième et le quatrième chapitre sont consacrés aux contributions apportées au classifieur Support Vector Domain Description, qui visent à améliorer ce dernier de point de vue performances d'apprentissage et capacité de généralisation, ces contributions sont basées sur une modélisation mathématique rigoureuse et ont été validées sur plusieurs bases de données de référence. Le cinquième chapitre présente deux applications de la machine SVDD améliorée, dans le domaine de la sécurité informatique. La première application concerne le filtrage anti-spam dans laquelle nous avons combiné deux versions améliorées du classifieur SVDD. Cette combinaison a permis d’augmenter considérablement le taux de reconnaissance des spams. La deuxième application s’intéresse à la détection des virus informatiques, dans laquelle nous avons associé la méthode N-gramme et une version améliorée du classifieur SVDD. Les résultats expérimentaux sur une base réelle des virus informatiques ont montré de bonnes performances de classification et de détection des virus informatiques. 11 Chapitre I État de l'art de l’apprentissage automatique 1.1. Introduction L'apprentissage automatique est un des sous-domaines de l'intelligence artificielle, il a pour objectif le développement d’algorithmes permettant à une machine d'extraire et d'exploiter automatiquement l'information en se basant sur des échantillons, c’est-à-dire sur un ensemble limité de données disponibles. L’apprentissage automatique est un domaine pluridisciplinaire, que ce soit par ses fondements théoriques ou ses applications, car ses fondements font appel à l’informatique, aux probabilités, aux statistiques, aux neurosciences, aux sciences cognitives, au traitement du signal, à la biologie, etc. Ces champs d’applications recouvrent potentiellement l’ensemble de problèmes nécessitant des méthodes automatiques de traitement de données, par exemple l’identification biométrique (la reconnaissance de visage, de voix, d’empreinte digitale, etc.), la robotique (la vision artificielle, la reconnaissance d’objets, etc.), l’analyse financière (la prévision d’évolution de marchés, la prédiction des cours boursiers, etc.), le traitement du langage naturel (la fouille de textes, etc.), le diagnostic médical (la classification et la reconnaissance des maladies, etc.), la sécurité informatique (la reconnaissance de virus, la détection de pourriel, la détection d’intrusion, etc.)… 12 État de l'art de l’apprentissage automatique Dans ce chapitre, nous allons introduire la notion d’apprentissage automatique en spécifiant ses différents types, ensuite nous allons exposer les différents modes d’apprentissage supervisé, non supervisé, semi-supervisé, et par renforcement. Nous allons nous focaliser sur les deux premiers modes car ils sont les plus répandus, nous décrivons les algorithmes les plus utilisés dans ces deux modes. Aussi, nous citons les avantages de ces algorithmes, leurs inconvénients, leurs variantes, et leurs domaines d’applications. 1.2. Les types d'algorithmes d'apprentissage En matière d’apprentissage automatique, il existe différentes hypothèses ou contraintes qui portent à la fois sur les données (disponibilité, quantité, vitesse d’arrivée, ..), et sur le modèle d’apprentissage que l’on veut réaliser. Selon ces circonstances, un système d’apprentissage peut être utilisé de plusieurs manières. Nous pouvons distinguer trois modes d’utilisation: - L’apprentissage hors ligne Dans ce mode, l’apprentissage est exécuté sur un ensemble de données spécifique de taille faible à moyenne et disponible au moment de l’apprentissage [18]. Pour des ensembles de grande taille le temps d’accès et de lecture des données est excessif et il devient difficile de réaliser un apprentissage rapide. Ce mode d’apprentissage montre ses limites dans le cas où les données ne peuvent être entièrement chargées en mémoire. - L’apprentissage incrémental Dans l’apprentissage incrémental [10], le jeu de données n’est pas forcément disponible dès le début de l’entrainement. Les données sont introduites au fur et à mesure et le système doit être capable d’apprendre à partir de chacune de ces données d’une façon séparée. Il doit donc être en mesure de se modifier et d’ajuster ses paramètres après l’observation de chaque exemple pour apprendre à partir de celui-ci ; mais sans oublier la connaissance acquise à partir des exemples précédents. Ce mode d’apprentissage est employé soit lorsque le jeu de données est trop grand pour être utilisé en une seule fois ; soit lorsque l’ensemble d’apprentissage n’est pas complet et que les données d’entrainement arrivent de manière séquentielle. La propriété désirée d’un algorithme incrémental est un temps d’apprentissage beaucoup plus rapide par comparaison à l’apprentissage hors ligne. Pour être considéré comme tel, un système d’apprentissage [17]: − Doit être capable d’apprendre des connaissances supplémentaires à partir des nouvelles données ; − Ne doit pas nécessiter l’accès aux données d’origine (c’est-à-dire les données qui ont été utilisées pour l’apprentissage du classifieur actuel) ; − Doit préserver les connaissances déjà acquises ; − Doit être en mesure d’apprendre de nouvelles classes susceptibles d’être introduites avec de nouvelles données. 13 État de l'art de l’apprentissage automatique - L’apprentissage en ligne Dans ce mode d’apprentissage, l’arrivée des exemples se fait de manière continue. Un tel mode est capable de fournir un modèle intégrant de nouveaux exemples. Les exigences en termes de complexité calculatoire sont plus fortes que pour l’apprentissage incrémental, car il s’agit d’apprendre et de prédire à la vitesse du flux. Bien souvent s’ajoutent à cette différence essentielle des contraintes de mémoire et des problèmes de dérive de concept, lorsque la distribution qui génère les exemples d’apprentissage évolue au cours du temps. 1.3. L’apprentissage supervisé L’apprentissage supervisé consiste à inférer un modèle de prédiction à partir d’un ensemble d’apprentissage, c'est-à-dire plusieurs couples de la forme {observation, étiquette}, où chaque étiquette dépend de l'observation à laquelle elle est associée. Un algorithme d'apprentissage supervisé a pour but de déterminer une fonction s'approchant au mieux de la relation liant les observations et les étiquettes à partir de l'ensemble d'apprentissage uniquement. Cette fonction doit par ailleurs posséder de bonnes propriétés de généralisation et ainsi être capable d'associer une étiquette adéquate à une observation qui n'est pas dans l'ensemble d'apprentissage [53]. On distingue en général deux types de problèmes auxquels l’apprentissage supervisé est appliqué. − Problème de classification : Si un point classe parmi , … , (Figure 1.1). est associé à un label , ce label identifie une Figure 1.1 - Exemple d'un problème de classification − Problème de régression : L’entrée n’est pas associée à une classe, mais dans le cas général, à une valeur (ou un vecteur) dans un ensemble continu de réels [81], c-à-d le labely ∈ ℝ (Figure 1.2). 14 État de l'art de l’apprentissage automatique Figure 1.2 - Exemple d’un problème de régression. Les modèles qui utilisent l’apprentissage supervisé sont nombreux. On peut citer parmi d’autres : les réseaux de neurones, les séparateurs à vastes marges, les arbres de décision et les le classifieurs Bayesiens. 1.3.1. Les réseaux de neurones à apprentissage supervisé Les réseaux de neurones sont l’association en un graphe plus ou moins complexe d’objets élémentaires (les es neurones formels). formels Ils se distinguent essentiellement par leur configuration (partiellement connectés, à connexions complètes, à couches), leur nombre de neurones neurones, et par leurs fonctions de transition [15]. [15] Chez les êtres vivants, les neurones (Figure 1.3) sont les cellules nerveuses, ils sont dotés de ramifications ns nommés les dendrites par lesquelles les transite l’information (signal électrique) venue de l’extérieur vers le corps de la cellule (le noyau). Le neurone traite cette information et renvoie le résultat au travers l’axone, axone, le signal émis par le neurone peut ensuite être transmis au travers les synapses (les points de connexion) aux autres neurones, aux fibres nerveuses ou musculaires; Figure 1.3 1. - Schéma d’un neurone biologique 15 État de l'art de l’apprentissage automatique Par analogie, le neurone formel (Figure 1.4) est un modèle qui se caractérise par un état interne, des signaux d’entrée , … , et une fonction de transition d’état f. L’état de la sortie est identifié par la formule suivante : = − 1.1 Où p est un vecteur qui représente les signaux d’entrée du neurone, est un vecteur composé des poids de connexion, correspond au biais du neurone, est une fonction d’activation, est la sortie du neurone. Figure 1.4 - Schéma d’un neurone formel. La fonction de transition opère une transformation d’une combinaison affine déterminée par un vecteur de poids[ , … , ] dont b étant appelé le biais du neurone. Cette combinaison affine est associée à chaque neurone et dont les valeurs sont estimées dans la phase d’apprentissage. Ils constituent "la mémoire" ou "la connaissance répartie" du réseau. Les différents types de neurones se distinguent par la nature de leur fonction d’activation (Table 1.1). Table 1.1 - Exemples de fonctions d’activation Fonction Equation associée ℎ Heaviside Signe ")& Linéaire Linéaire à seuil ou multi-seuils Sigmoïde + + 1"# ≥ 0( =! 0"#&'& =! +1"# ≥ 0( −1"#&'& = ∈ [-, .] = , ."# ≥ . ( -"# ≤ = 1 1 + 0 12 16 État de l'art de l’apprentissage automatique Les réseaux de neurones peuvent être divisés en deux catégories principales : les réseaux à apprentissage supervisé et les réseaux à apprentissage non supervisé. Dans la première catégorie (par exemple le perceptron multi-couches [27], le réseau RBF [4], etc.), on présente au réseau l’entrée et la sortie désirée et le réseau adapte les poids de connexions entre les neurones afin que la sortie du réseau correspond à celle désirée. Dans la deuxième catégorie (par exemple le réseau de Hopfield [5], la carte auto organisatrice de Kohonen [137], etc.), on présente une entrée au réseau et on le laisse évoluer jusqu'à ce qu'il se stabilise. Perceptron multi-couches (PMC) Un perceptron multicouches [24, 26, 27] (Figure 1.5) est un classifieur pour lequel les neurones sont organisés en couches successives, les connexions sont toujours dirigées à partir des couches inférieures vers les couches supérieures et les neurones d'une même couche ne sont pas interconnectés. Un neurone ne peut donc transmettre son état qu'à un neurone situé dans une couche postérieure à la sienne. Choisir l'architecture d'un PMC consiste à fixer le nombre de couches, le nombre de cellules par couche, la nature des différentes connexions entre les neurones et la nature des neurones sur chaque couche [138, 139]. L’algorithme du perceptron multi-couches consiste en une inférence sur les meilleures pondérations afin de construire le prédicteur le plus efficace sur des données d'apprentissage. Figure 1.5 - Exemple d’un Perceptron multi-couches Les réseaux de RBF (Radial Basis Function) Le réseau RBF (Figure 1.6) est un cas particulier d’un PMC, il est constitué uniquement de 3 couches : La couche d’entrée qui permet de retransmettre les entrées sans distorsion, la couche RBF représente la couche cachée qui contient les neurones RBF et la couche de sortie qui comporte une fonction linéaire. Chaque neurone RBF est équivalent à une gaussienne qui est centrée sur un point de l’espace d’entrée. Pour une entrée donnée, la sortie du neurone RBF est la hauteur de la gaussienne en ce point. La fonction gaussienne permet aux neurones de ne répondre qu’à une petite région de l’espace d’entrée, région sur laquelle la gaussienne est centrée. Donc il y a quatre paramètres principaux à régler dans un réseau RBF : 17 État de l'art de l’apprentissage automatique - Le nombre de neurones RBF existant dans la couche cachée. - La position du centre de la gaussienne de chacun des neurones. - La largeur de ces gaussiennes. - Le poids des connexions entre les neurones RBF et le(s) neurone(s) de sortie. Figure 1.6 - Représentation d’un réseau RBF L'étude des réseaux de neurones est une voie prometteuse de l'intelligence artificielle, qui a des applications dans de nombreux domaines, par exemple le contrôle de machines [134], la reconnaissance automatique de caractères manuscrits [135], la reconnaissance de signatures [129], La bioinformatique [130], la reconnaissance et la détection de visage [131], etc. Les réseaux de neurones possèdent plusieurs avantages : − Ils sont capables de traiter des problèmes non structurés, c-à-d des problèmes dont on ne dispose d’aucune information à priori. En particulier, la distribution de probabilité des variables ; − Le temps de réponse d’un réseau de neurones pour la classification d’un nouvel exemple est minimal, car les opérations calculatoires requises, sont simples du point de vue informatique, et peu gourmandes en CPU ; − Les données d’entrée d’un réseau de neurones peuvent être incomplètes ou bruitées. L’incomplétude des données peut être prise en compte par l’ajout de neurones supplémentaires ce qui peut améliorer la classification [136] ; − Les réseaux de neurones ont une bonne capacité de généralisation, et ils sont capables s’il sont dotés d’une bonne structure d’apprendre plusieurs types de fonctions, ce qui présente un intérêt dans les domaines où les fonctions cibles sont un peu compliquées ; 18 État de l'art de l’apprentissage automatique − Les réseaux de type Perceptron multicouches sont des approximateurs universels (Théorème de Kolmogorov, 1957). Ils ont la capacité d’apprendre tous les types de problèmes de classification. Néanmoins les réseaux de neurones possèdent certains inconvénients d’ordre pratiques : − La difficulté de choisir la structure du réseau (le type de réseau, le nombre de neurones d’entrée, le nombre de neurones de sortie, le nombre de neurones cachés, l’organisation de neurones, la connexion, etc.) la mieux adaptée à un problème donné; − La difficulté du paramétrage du réseau. Un mouvais paramétrage peut provoquer un surapprentissage (Over-fitting). C’est un apprentissage par cœur qui réduit considérablement la capacité de généralisation de certains réseaux de neurones ; − Le temps d’apprentissage risque d’être démesuré, spécialement quand il s’agit des bases de données de taille énorme ; − La structure statique d’un réseau de neurones impose de recommencer l’apprentissage à partir du début si on veut faire apprendre de nouvelles données, contrairement aux algorithmes de type paresseux (k plus proche voisins, classificateur naïf de Bayes,…). 1.3.2. Les séparateurs à vaste marge Les bases des Séparateurs à Vaste Marge (SVMs) ont été proposées par Vapnik. Cependant les premières vraies publications basées sur ce procédé de classification sont apparues après des années [83] [84]. L’idée de base est de trouver l’hyperplan qui maximise la distance (la marge) entre les éléments de classes différentes. Se basant sur ce concept, une autre approche (appelée en anglais Support Vector Domain Description ou SVDD) a été proposée par Tax et Duin [51] [52] [58] et consiste à rechercher l’enveloppe sphérique de rayon minimal englobant les points d’une classe et excluant ceux des autres classes. Les SVMs ont montré leur efficacité dans plusieurs problèmes tels que l’estimation de densité, la classification, la régression et le classement. Les SVMs ont été appliquées dans de nombreux domaines tel que la reconnaissance et l’authentification de visage [149,150], la reconnaissance de caractères manuscrites [193], la vérification et l’identification du locuteur [173], la récupération d'images [210], la catégorisation de texte [146], la classification de textes [147], la classification des phénomènes météorologiques [197][205], la prédiction [185],etc. A son tour le SVDD a été appliqué dans plusieurs travaux tels que la détection du visage [164], la reconnaissance du visage [170], la vérification du locuteur [148], la biométrie [144], la bioinformatique [143], la prédiction de panne [145], etc. 19 État de l'art de l’apprentissage automatique Les séparateurs à vaste marge offrent de nombreux avantages par rapport aux autres classifieurs : − Ils possèdent des fondements mathématiques solides, car ils exploitent les concepts relatifs à la théorie de l’apprentissage statistique et à la théorie des bornes de Vapnik et Chervonenkis [114]. − La classification par les séparateurs à vaste marge implique la résolution d’un problème quadratique convexe dont la solution est unique (Absence d’optimum local) et est donnée par des méthodes mathématiques classiques de programmation quadratique. − La classification d’un nouveau exemple consiste à vérifier le signe d’une fonction de décision, ce qui revient à faire un calcul en se basant juste sur les vecteurs de support et non pas sur la totalité des exemples d’apprentissage, ce qui réduit le temps de classification d’un nouvel échantillon. − Les séparateurs à vaste marge possèdent un petit nombre de paramètres à régler ou à estimer. − La possibilité d’introduire des fonctions noyaux, qui servent à transformer implicitement l’espace d’origine dans lequel les données ne sont pas linéairement séparables en un autre dans lequel elles deviennent séparables. Néanmoins les séparateurs à vaste marge possèdent quelques inconvénients : − L’inconvénient majeur des séparateurs à vaste marge est qu’ils sont désignés ou conçus pour la classification binaire (la séparation entre deux classes +1 et -1), d’où la nécessité de décomposer les problèmes de classification à caractère multi-classes, en utilisant l’approche un-contre-un ou un-contre-tous, ce qui peut réduire la qualité de la classification. − Les séparateurs à vaste marge nécessitent un calcul coûteux, à cause de la résolution d’un problème de programmation quadratique, surtout pour les bases de grande taille. 1.3.3. Les arbres de décision La classification par arbres de décision consiste à classer un objet selon un ensemble de classes prédéfinies (Figure 1.7), en effectuant une suite de tests sur les attributs décrivant cet objet [24]. Les tests sont organisés de façon à ce que la réponse à l’un d’eux indique à quel prochain test on doit soumettre l’objet. Ils sont donc structurés sous forme d’un arbre dont chaque nœud correspond à un test portant sur un ou plusieurs attributs de l’objet, et chaque feuille de cet arbre correspond à une des classes prédéfinies. 20 État de l'art de l’apprentissage automatique Figure 1.7 - Exemple d’un arbre de décision L’utilisation des arbres de décision dans les problèmes de classification se fait en deux étapes principales : − La construction d’un arbre de décision à partir d’une base d’apprentissage : elle consiste à sélectionner pour un nœud de décision le test d’attribut approprié et puis de définir la classe relative à chaque feuille de l’arbre induit [26]. Plusieurs algorithmes ont été développés afin d’assurer la phase de construction, parmi les algorithmes nonincrémentaux, nous citons ID3 et C4.5 développés par Quinlan [39] [40] qui sont les plus populaires, ainsi que l’algorithme CART de Breiman et al. [41]. − La classification ou l’inférence : Elle consiste à classer un nouvel objet, en utilisant l’arbre de décision construit précédemment, elle est effectuée en suivant le chemin qui parte de la racine jusqu’aux feuilles en effectuant les différents tests à chaque nœud, selon les valeurs des attributs de l’objet à classer [26]. La classification par arbre de décision a connu une évolution importante, qui s’explique par l’élaboration de plusieurs algorithmes référentiels, de construction d’arbres notamment ID3, CHAID, CART et C4.5 [3] [119]. Des versions incrémentales de ces algorithmes sont rapidement apparues, J.C. Schlimmer et D. Fisher [45] ont proposé l’algorithme ID4, P.E. Utgoff [42] a développé le ID5R qui est une extension basée sur ID3. Plus récemment P.E. Utgoff et al. [22] ont élaboré l’algorithme ITI qui consiste à sauvegarder les statistiques dans les feuilles, ce qui permet une restructuration de l’arbre lors de l’arrivée des nouveaux exemples. D’autres variantes ont été proposées, et peuvent être classées en trois catégories [179]: - La première catégorie de variantes vise à améliorer l’algorithme de recherche dans l’espace des solutions, pour ce faire trois méthodes ont été établies, la première vise à améliorer la méthode d’élagage, la deuxième procède à une optimisation globale plus 21 État de l'art de l’apprentissage automatique puissante, la troisième effectue des recherches en avant lors de la segmentation [182]. Ces techniques permettent d’obtenir généralement un arbre plus concis au prix d’un temps de calcul plus élevé. - La seconde catégorie de variantes cherche à modifier itérativement l’espace de recherche en produisant au fur et à mesure de nouveaux descripteurs. Connu sous le terme d’induction constructive, l’objectif est de trouver un espace de représentation plus approprié en élaborant des combinaisons de variables [181]. - La troisième catégorie de variantes, modifie la forme du concept lui-même en sortant du cadre de l’arbre de décision classique. Deux types de représentation sont généralement rencontrés : Les arbres obliques, qui utilisent une combinaison linéaire des variables lors de la segmentation des sommets de l’arbre [9] [19] [20]. Et les graphes d’induction, qui introduisent un nouvel opérateur "fusion" dans l’algorithme d’apprentissage. Le modèle de prédiction n’est donc plus un arbre mais un graphe latticiel. L’objectif est de permettre le regroupement d’individus ayant les mêmes caractéristiques et d’assurer ainsi une meilleure résistance à la fragmentation des données [119] [183] [184]. La classification par arbres de décision a été appliquée dans plusieurs domaines tel que la reconnaissance de caractères [191], la reconnaissance de la parole [172], la recherche associative [192], la modélisation du langage naturel [199], le diagnostic médical [41], la robotique [190], etc. Parmi les avantages des arbres de décision, on peut citer : - La méthode d’apprentissage est non paramétrique ; elle ne postule aucune hypothèse a priori sur la distribution des données. Elle est résistante aux données atypiques, le modèle de prédiction est non linéaire. Elle peut traiter des ensembles d’apprentissage avec des données manquantes. - Les arbres de décision ont la capacité de produire une connaissance simple et directement utilisable. Un arbre de décision peut être lu et interprété directement. Il est possible de le traduire en base de règles sans perte d’information. - Les arbres de décision offrent une rapidité intéressante sur des bases de taille moyenne. Ils permettent au praticien d’intervenir dans la construction. Ils possèdent un mécanisme de sélection automatique des variables pertinentes. - L’induction par arbre de décision est capable de traiter de manière indifférenciée les variables continues et discrètes. Les arbres de décision ne sont cependant pas exempts d’inconvénients. Les inconvénients majeurs sont les suivants : - La méthode d’apprentissage par arbres de décision est instable. Car le choix d’un attribut plutôt qu’un autre, surtout s’il est près de la racine, influence grandement le reste de la 22 État de l'art de l’apprentissage automatique construction. La conséquence de cette instabilité est que les algorithmes d’apprentissage par arbres de décision ont une variance importante, qui nuit à la qualité de l’apprentissage. - Les arbres de décision ont une faiblesse au niveau de la performance et le coût d’apprentissage. Ils deviennent peu performants et très complexes lorsque le nombre d’attributs et de classes augmente. En effet, ils risquent de devenir trop détaillés, ce qui leur fait perdre un peu de leur lisibilité ou encore d’aboutir à de mauvais classements et d’augmenter le coût d’apprentissage. - Un arbre de décision est incapable de détecter les combinaisons de variables, avec les algorithmes classiques (C4.5, CART, CHAID, etc.), ceci est dû au principe de construction pas à pas de l’arbre. 1.3.4. Le classifieur Bayesien naïf Le classifieur Bayesien naïf [120] suppose que les variables explicatives sont indépendantes sachant la classe cible. Cette hypothèse réduit les calculs nécessaires. Le principe de fonctionnement de ce classifieur repose exclusivement sur la formule d'inversion de Bayes [47]. 3 4/" = 3 "/4 6 7 6 8 1.2 Pour toute hypothèse 4 et toute observation". On connaît l'ensemble d'apprentissage : et on cherche à classer un nouvel élément0;<= . Le classifieur bayésien va choisir la classe >:3 qui a la plus grande probabilité, on parle de la règle du maximum a posteriori (MAP): ?@6 = A)B CD ∈C 3 3 0;<= / 3 3 0;<= /0;<= = A)B CD ∈C Il faut alors estimer les probabilités 3 probabilités a priori des classes 3 ,3 3 F = et 3 0;<= / …, 3 ;G = A)B CD ∈C 3 0;<= / 3 1.3 à partir des données d'apprentissage. Les , peuvent être estimées facilement par : &H 1.4 &@ où &CD est le nombre d’éléments d'apprentissage dans la classe et &@ est le nombre total d’éléments dans l'ensemble d'apprentissage. Pour estimer 0;<= / , l'approche naïve de Bayes suppose que les descripteurs de 0;<= ∶ , … , ;K sont indépendants. On a donc : 3 0;<= / =3 / 3 F/ …3 ;K ⁄ On peut alors estimer les probabilités 3 / 3 F / … 3 ;K / un modèle connu, par exemple, des distributions normales3 < / 1.5 ~O P, Q en supposant qu'elles suivent . 23 État de l'art de l’apprentissage automatique Une variante du classifieur Bayesien naïf est les réseaux Bayésiens. Dans lesquels on ne suppose plus que les variables sont toutes indépendantes, et on autorise certaines à être liées. Cela alourdit considérablement les calculs et les résultats ne s’améliorent pas de façon significative. Le classifieur bayésien a été appliqué avec succès sur de nombreux jeux de données réels, par exemple Hani et al. [221] l'ont appliqué dans un cadre médical, Androuts-poulos et al. [43] l’ont utilisé pour faire de la détection de courriers électroniques indésirables. Sebe et al. [44] ont employé ce classifieur pour faire de la détection d'émotion à partir de l'image du visage d'une personne, Zhou et al. [46] l'ont utilisé pour automatiser la détection d'erreur par un système de reconnaissance de la parole, McCallum et al. ont employé cet algorithme pour la catégorisation des textes [220], Ben Amor et al. ont utilisé ce classifieur pour la détection d’intrusion [224], etc. Le classifieur Bayesien naïf possède deux avantages majeurs : - La construction du classifieur est très simple. L’inférence est assurée de façon linéaire alors que l’inférence dans les réseaux bayésiens qui ont une structure générale est connue comme un problème NP complet [223]. En plus, la construction des réseaux bayésiens naïfs est incrémentale, dans le sens qu’elle peut facilement être mise à jour (il est toujours possible de prendre en considération de nouvelles classes). - La vitesse d'apprentissage du classifieur et ses bonnes performances prédictives. Avec très peu de données, sa précision est bien souvent meilleure que celles d'autres algorithmes [222]. Par contre, les réseaux bayésiens naïfs travaillent sous une hypothèse d’indépendance très forte entre les variables (données d’apprentissage), une telle hypothèse n’est pas toujours vraie dans des applications réelles. 1.4. L’apprentissage non-supervisé L’apprentissage non supervisé consiste à inférer des connaissances sur des classes, en se basant seulement sur les échantillons d’apprentissage, et sans savoir a priori à quelles classes ils appartiennent. Contrairement à l’apprentissage supervisé, on ne dispose que d’une base d’entrées et c'est le système qui doit déterminer ses sorties en fonction des similarités détectées entres les différentes entrées (règle d'auto organisation) [53] [63]. On peut distinguer en fait deux types d'apprentissage non-supervisé. Le premier est le partitionnement, le second est la réduction de dimension. − Partitionnement : Un algorithme de partitionnement tente de partitionner l’espace d’entrée en un certain nombre de classes en se basant sur un ensemble d’apprentissage fini, ne contenant aucune information de classe explicite. Les critères utilisés pour décider si deux points devraient appartenir à la même classe ou à des classes différentes sont spécifiques à chaque algorithme, mais sont très souvent liés à une mesure de distance entre points [81]. 24 État de l'art de l’apprentissage automatique − Réduction de dimensionnalité : Le but d’un algorithme de réduction de dimensionnalité est de parvenir à résumer l’information présente dans les coordonnées d’un point en haute dimension par un nombre plus réduit de caractéristiques. Le but espéré est de préserver l’information importante, de la mettre en évidence en la dissociant du bruit, et possiblement de révéler une structure sous-jacente qui ne serait pas immédiatement apparente dans les données d’origine en haute dimension [81]. Il existe une panoplie de méthodes d’apprentissage non supervisé, On peut citer à titre d’exemples : les réseaux de neurones à apprentissage non supervisé, l’analyse en composante principale, l’algorithme des k moyennes et les méthodes hiérarchiques. 1.4.1. Les réseaux de neurones à apprentissage non supervisé L’apprentissage non supervisé par les réseaux de neurones consiste, comme dans le cas de l’apprentissage supervisé, à modifier les poids de connexions des neurones, mais en tenant compte seulement des observations (absence des étiquettes), dans ce cas il n’est pas possible de calculer les poids du réseau en fonction d’une erreur sur les réponses souhaitées. En fait l’information utile se trouve uniquement dans les observations. Parmi les différents types de réseaux de neurones à apprentissage non supervisé figurent les réseaux de Hopfield [5] et les Cartes auto-organisatrices de Kohonen [137] qui représentent une classe de réseaux très utilisée dans divers domaines d’application. A titre illustratif, nous détaillons ci-après ces derniers. Réseaux de Hopfield Le réseau de Hopfield [5] est une mémoire associative constituée de neurones à deux états -1 et 1 (Figure 1.8), il s’agit d’un réseau récursif et totalement interconnecté (Il n'y a plus de notions de couche) dont la loi d'apprentissage est la règle de Hebb [2], cette dernière stipule qu'une synapse améliore son activité si et seulement si l'activité de ses deux neurones est corrélée (C'est à dire que le poids d'une connexion entre deux neurones augmente quand ces deux sont activés au même temps). Figure 1.8 - Exemple d’un réseau de Hopfield 25 État de l'art de l’apprentissage automatique La règle d’apprentissage proposée par Hopfield est basée sur la loi de Hebb [2]. Elle consiste à évaluer les poids de connexion entre les neurones de la façon suivante : 1 R S = T " "S , R = 0, R S = RS 1.6 3 6 U Où R S est le poids de la connexion entre les neurones # etW, est le nombre d’exemples à apprendre, et " est la X èY< entrée pour le neurone # (de même pour le neuroneW). On remarque que la phase d’apprentissage est immédiate en calculant directement les poids à l’aide de cette fonction. L’intérêt pratique de ce réseau réside dans sa capacité à reconstruire un nouveau exemple bruité ou incomplet, on présente alors un vecteur d’entrée au réseau. Ce dernier calcule la sortie correspondante et la réinjecte à l’entrée, ce processus est répété jusqu'à stabilisation du réseau. La règle de changement d’état est la suivante : _ _ ] ^# T R S . "S < 0 b'A"" = −1 S∈` [ [ ^# T R S . "S_ > 0 b'A"" _ = 1 1.7 ( \ S∈` [ [^# T R S . "S_ = 0 b'A"" _ = " _1 Z S∈` Hopfield a démontré que son réseau tend vers un état stable et son énergie diminue au cours de son évolution. Néanmoins, Le modèle de Hopfield possède une limite très claire : pour O neurones dans le réseau, il ne peut mémoriser que 0.14O exemples [5]. Au delà, on observe un phénomène appelé "L’oubli catastrophique". Il s’agit d’un phénomène ou le réseau oublie les exemples déjà appris. Cartes auto-organisatrices de Kohonen Ces réseaux sont inspirés des observations biologiques du fonctionnement des systèmes nerveux. En effet, il existe des zones dans le cerveau (le cortex visuel) qui présentent la même topologie que les capteurs sensoriels, c.-à-d. deux zones proches dans le cortex visuel correspondent à deux zones proches dans la rétine. C’est à base de cette observation que la carte auto-organisatrice de Kohonen a été élaborée [137]. Dans une carte de Kohonen (Figure 1.9) les neurones sont disposés sur une grille rectangulaire aux mailles déformables dans laquelle les voisins de chaque neurone sont naturellement définis [137]; en d’autres termes, on construit une représentation bidimensionnelle d’une distribution multidimensionnelle et on dispose d’une représentation graphique unique des données dans l’espace de sortie, ce qui présente un intérêt indiscutable lorsqu’il s’agit d’observer un nombre important de données. 26 État de l'art de l’apprentissage automatique Figure 1.9 - Représentation d’une carte de Kohonen La figure 1.9 montre que chaque neurone W est associé à un vecteur poids RS de telle sorte que la composante S connecte le neurone W à la # éY< composante du vecteur d’entrée e= , F, … , ; . L’algorithme d’apprentissage proposé par Kohonen est défini de la manière suivante: Après avoir présenté un vecteur d’apprentissage _ à la carte de kohonen, on détermine le neurone gagnant ) _ dont le vecteur poids est le plus proche de _ . Ce calcul est effectué comme suit : ) _ = argmin‖ 8 _ − 8‖ F 1.8 Ensuite, le poids RS du neurone gagnant, ainsi que ceux de ces voisins seront modifiés de manière à ce que les poids des connexions se rapprochent du vecteur d’entrée _ , la modification du poids est réalisée par la règle itérative suivante : RS n + 1 = RS n + o_ ℎSp 2q n r _ − RS n s 1.9 Où o_ représente le coefficient d’apprentissage qui doit décroître au cours de temps. La fonction de voisinage définit par ℎSp 2q permet de propager l’apprentissage aux neurones voisins du gagnant. Elle doit être maximale pour ) _ et diminuer lorsque l’on s’éloigne de ce neurone. Elle détermine aussi la décroissance du voisinage de ) _ dans l'espace et dans le temps. La fonction de voisinage la plus utilisée est la gaussienne avec un l’écart type décroissant. Le processus d’apprentissage est répété jusqu’à la stabilisation complète du poids des neurones de la carte de Kohonen. 1.4.2. L’analyse en composantes principales L’analyse en composantes principales (ACP) a été introduite par Pearson [28] et a été développée par la suite par Hotelling [29]. Elle est considérée comme une méthode d’apprentissage non supervisée puisque elle permet de chercher une structure sous-jacente de 27 État de l'art de l’apprentissage automatique nuage de points sous forme d’axes principaux sur lesquels seront projetées les données. L’objectif de l’ACP est de réduire le nombre de variables qui représentent chaque objet de l’ensemble d’apprentissage en exploitant la corrélation éventuelle existante entre les variables initiales. On construit alors une nouvelle description des données à l’aide d’un nombre restreint de variables décorrélées et ordonnées par ordre de valeur informative. Ainsi, la première dimension du nouvel espace contient le plus de variations entre chacun des objets tandis que la dernière contient le moins de variations. L’ACP est une technique descriptive qui calcule les axes d’inertie d’un nuage de points. Les axes d’inertie représentent des directions orthogonales suivant lesquelles la variance des données est maximale (Figure 1.10). L’ACP revient à procéder à une rotation de l’ensemble des données suivie d’une translation [27]. Figure 1.10 - Classification par ACP. Principe de L’ACP Soit , . . , ; l’ensemble de données d’apprentissage. Le principe de l’ACP repose sur le calcul de la variance des données. La variance des données initiales est définie de la manière suivante : ; ; 1 Q = TT 2& & − 1 F 1 = T &−1 ; U U SU −) − S − S − ) 1.10 Où g est le centre de gravité. L’opérateur de projection orthogonale π, sur une droite de vecteur directeur unitaire . est défini comme suit: Avec u = .. 1.11 . . = 1 1.12 La variance des observations projetées s’écrit alors : 28 État de l'art de l’apprentissage automatique QvF ; 1 = T u &−1 = U ; 1 T &−1 U − ) .. 1 = . w T &−1 ; U −) −) u −) −) − ) x. = . Σ. 1.13 Le problème à résoudre est de trouver . tel que . Σ. soit maximum avec la contrainte . . = 1 . Il s’agit d’un problème de recherche d’optimum d’une fonction de plusieurs variables liées par une contrainte (les inconnues sont les composantes de . ). La méthode des multiplicateurs de Lagrange peut alors être utilisée. La fonction de Lagrange est définie ainsi par : y = . Σ. + { 1 − . . 1.14 En dérivant la fonction de Lagrange par rapport à ν et en imposant la condition nécessaire d’optimalité, on obtient l’équation aux valeurs propres : Σ. = {. 1.15 Comme la matrice variance-covariance est symétrique définie positive, les valeurs propres sont réelles et positives. Les vecteurs propres peuvent être choisis orthonormés, la solution est de projeter les données sur le vecteur propre ayant la valeur propre λ la plus élevée. Afin de trouver le second axe de variance maximal en cherche à résoudre : B . }. |Souslescontraintes 1.16 ( . . = 1. . = 0 v Où . est le vecteur directeur du premier axe principal. Comme les vecteurs propres de Σ sont naturellement orthonormés, la solution est de choisir le deuxième vecteur propre de Σ correspondant à la deuxième valeur propre maximale, la même chose est appliquée pour trouver les axes principaux restants. Les principales variantes de l'ACP viennent des différentes transformations du tableau de données. Ainsi, le nuage de points peut être centré ou non, réduit ou non. Le cas le plus étudié est lorsque le nuage de point est centré et réduit ; dans ce cas nous parlons d'ACP normée. D'autres variantes existent telle que l'analyse en composante curviligne (ACC) [233] pour remédier au fait que les projections sont linéaires, ou encore l'analyse en composantes indépendantes (ACI) pour la séparation de sources [232]. 29 État de l'art de l’apprentissage automatique L’ACC [233] réalise une projection non-linéaire des données au moyen d’un réseau de neurones à deux couches. Au contraire des cartes auto-organisatrices de Kohonen [137], la topologie de l’espace de sortie n’est pas fixée a priori (Figure 1.11). Figure 1.11 - (a) Deux cercles imbriquées en trois dimensions (b) projection bidimensionnelle par ACC L’ACI est une extension de L’ACP fournissant une base de représentation statistiquement indépendante (et non pas simplement décorrélée) pouvant être assimilée aux détecteurs corticaux. L’ACI a été introduite par Jutten et Hérault en 1985 [231] afin de détecter des " grandeurs primitives dans un message composite ". L’ACI se propose de résoudre le problème de séparation de sources en cherchant des sources statistiquement indépendantes. L’ACI a été employée pour l’analyse d’images astronomiques à 4 bandes [230]. Elle a été aussi largement utilisée pour la séparation de sources [195], etc. L’analyse en composante principale a été employée dans plusieurs domaines tel que : La reconnaissance et la classification d’émotions humaines [225], la classification des expressions faciales [227], la détection d’intrusions [229], la classification et la reconnaissance de gestes [226], etc. L’ACP a été largement utilisée pour les avantages suivants : - C’est une méthode simple à mettre en œuvre de point de vue mathématique car les seuls véritables outils mathématiques utilisés dans l'ACP sont le calcul des valeurs et des vecteurs propres d'une matrice, et le changement de bases. - Elle permet de représenter graphiquement les résultats en 2 ou 3 dimensions, ce qui permet d’analyser le problème de classification en un simple coup d'œil. - Elle offre, en quelques opérations seulement, un résumé et une vue complète des relations existant entre les variables quantitatives d'une population d'étude, résultats qui n'auraient pas pu être obtenus autrement, ou bien aussi facilement. 30 État de l'art de l’apprentissage automatique Parmi les inconvénients de l’ACP on peut citer : - L'opération de projection par l’ACP, prend en compte uniquement les dépendances linéaires et à ce titre c’est une opération de projection linéaire. Elle n'est donc pas capable de projeter correctement une distribution non linéaire. - L'ACP, étant une méthode de réduction de dimension, il est important de savoir qu'elle ne peut pas retenir la totalité de l'information contenue dans le nuage de points initial. 1.4.3. Les k-moyennes L'algorithme des k-moyennes (k-means) [85] est la méthode de classification la plus connue et la plus utilisée dans divers domaines d'application. Ce succès est dû au fait que cet algorithme présente un rapport coût / efficacité avantageux. L'algorithme se décompose en trois étapes : La première consiste à choisir aléatoirement les centres initiaux des classes. La deuxième permet d’affecter chaque objet de la base de données à la classe de centre le plus proche, et enfin la troisième qui peut être effectuée de deux façons : − Soit chaque fois qu'un changement d'assignation d'un objet est rencontré, les deux centroïdes des classes concernées par le changement sont mis à jour, − Soit tous les centroïdes sont mis à jour simultanément après toutes les assignations des objets aux classes. L'algorithme des k-moyennes Soit † = , . . , ; l’ensemble de données d’apprentissage, on cherche à partitionner D en k classes † , … , † , l’algorithme de k-means est le suivant: 1. 2. 3. Choisir aléatoirement k objets P , … , P de la base qui forment l’ensemble des centroïdes initiaux représentant les k classes recherchées † , … , † ; Assigner chaque objet à la classe dont le centroïde est le plus proche ; Puis tant qu’au moins un objet change de classe d’une itération à l’autre : − − Mettre à jour les centroïdes des classes en fonction des objets qui leurs sont associés selon l’équation : 1 P = T ‡ Aˆ † Mettre à jour les assignations des objets nouveaux centroïdes de la façon suivante: Siˆ#"n &‡0 ,P 2‰ Š‹D Œ† aux classes en fonction de leur proximité aux < ˆ#"n &‡0• , PS Ž∀WŒ 1, . . , X 0nW ≠ X alors Œ† 31 État de l'art de l’apprentissage automatique La méthode des k-moyennes a été introduite par J. McQueen [212] en 1971 et mise en œuvre sous sa forme actuelle par E. Forgy [128]. De nombreuses variantes se sont succédées tel que kernel k-means [228], cette approche vise à étendre la capacité de classification aux cas non linéairement séparables, en utilisant des fonctions noyaux jouant le rôle d’intermédiaire entre l’espace d’origine et l’espace des caractéristiques, ainsi que d’autre améliorations tel que fuzzy kmeans [94], Gaussian-means [213], X-means [214], global-k-means [218], etc. La classification par k-moyennes a été appliquée dans plusieurs domaines tels que, la gestion du trafic dans les réseaux informatiques [142], la reconnaissance de locuteur [140], la reconnaissance vocale [132], etc. L’algorithme des k-moyennes possède les avantages suivants : - Il est très populaire du fait qu’il est très facile à comprendre et à mettre en œuvre (simplicité conceptuelle). - L’avantage majeur de cette méthode est le temps de calcul. La complexité de l’algorithme est seulement Ob') O où O est le nombre de données. Ceci permet d’appliquer cette méthode à des bases de données de grande taille comme des bases d’images ou des corpus de parole [112]. - L’algorithme de k-means améliore à chaque itération la qualité des classes (la variance intra-classe diminue). Parmi les inconvénients de l’algorithme des k-means on peut citer : − Le nombre des classes est défini par l’utilisateur au début de la classification. − Le résultat final dépend de la sélection des centres de départ, et il est lié au choix de la fonction distance. En effet, le choix des centres initiaux peut conduire à des solutions totalement différentes. Ceci provient du fait que l’on recherche un minimum local. − Le problème des classes de tailles inégales peut aussi influencer les résultats de la classification; souvent, les centres des classes très petites sont attirés par les centres des classes adjacentes plus larges. − La forme de classes est implicitement convexe ; cet algorithme n’est pas adapté à des classes de forme non convexe. 32 État de l'art de l’apprentissage automatique 1.4.4. Les méthodes hiérarchiques Les méthodes hiérarchiques non supervisées [86] [87] [88] [89] [90] consistent à trouver une organisation arborescente des classes ou un dendrogramme [112] [203] (Figure 1.12). La plupart de ces méthodes dérivent des algorithmes de lien minimal single-link [30], de l’algorithme de lien maximal complete-link [31] et de la méthode de variance minimale ou méthode de Ward [32] [33]. Figure 1.12 - Classification par méthodes hiérarchiques Méthodes hiérarchiques : Approche vers le haut (bottom-up) 1. Départ : chaque objet est attribué à une seule classe ; 2. Itération : on calcule les similarités entre toutes les paires de classes i et j et les deux classes les plus similaires sont regroupées ; 3. Arrêt ; l’algorithme s’arrête quand tous les objets sont regroupés dans une seule classe englobante. Le dendrogramme ainsi obtenu peut être coupé à n’importe quel niveau pour obtenir le nombre de classes désiré. Pourtant, déterminer le nombre exact de classes est très difficile. La visualisation du dendrogramme représente un moyen mais ceci est utile seulement pour un nombre réduit de données. Les méthodes hiérarchiques présentent de nombreux avantages. Parmi lesquels on peut citer : − On n’a pas besoin de fixer le nombre de classes à priori. On pourra le fixer de manière optimale plus tard, au moyen d’indicateurs sous forme de tableau ou de dendrogramme, ce dernier permet de visualiser le regroupement progressif des données. 33 État de l'art de l’apprentissage automatique − On travaille à partir des similarités entre les objets que l'on veut regrouper. On peut donc choisir un type de similarité adapté au sujet étudié et à la nature des données. − La classification par des méthodes hiérarchiques, peut trouver des classes de forme variable. L’inconvénient majeur de ces méthodes est qu’elles sont coûteuses au niveau calculatoire. En effet, il est de l’ordre de O ‘ (où O est le nombre d’individus de départ), ce qui dépasse rapidement les capacités des machines puissantes quand on travaille sur de grosses bases de données [6]. 1.5. L’apprentissage semi-supervisé L’apprentissage semi-supervisé [180] consiste à utiliser un ensemble comportant un petit nombre de données étiquetées DL et un grand nombre de données non-étiquetées DU, ce type de situation peut se produire quand l’étiquetage des données est coûteux ou difficile. Il a été démontré que l'utilisation de données non-étiquetées, en combinaison avec d’autres étiquetées, permet d'améliorer significativement la qualité de l'apprentissage [14]. Les modèles génératifs Les modèles génératifs visent à caractériser la source ayant génère les données étiquetées DL et non étiquetées DU en modélisant la distribution de probabilité ( , où représente l’étiquette de ) qui régit cette source. On part alors d’un modèle paramétré de cette source, et on tente d’estimer les paramètres qui ont le plus vraisemblablement donné naissance aux données observées (principe du maximum de vraisemblance). Cette technique est souvent utilisée avec des algorithmes de type EM (Expectation-Maximization), qui sont conçus pour trouver le maximum de vraisemblance des paramètres de modèle probabiliste [34] [35] [36] [180]. L’auto-apprentissage L’auto-apprentissage (self-training) est une technique qui se met à jour elle-même d’une façon incrémentale en utilisant sa propre connaissance [36, 48, 49, 50], son principe est le suivant : - Entrainer un classifieur avec les données étiquetées (DL). - Le classifieur est, ensuite, utilisé pour étiqueter les données incomplètes (DU). - Les données étiquetées avec un haut degré de confiance sont ajoutées aux données d’apprentissage (DL). - Le classifieur est ré-entrainé sur les données de DL et la procédure est répétée jusqu’`a satisfaire un critère d’arrêt. 34 État de l'art de l’apprentissage automatique Parmi les variantes de l’auto-apprentissage, on peut citer la méthode qui consiste à éliminer de DL des données ayant été mal classées. En effet, le fait d’utiliser des étiquettes erronées dans la phase d’apprentissage risque d’entrainer un renforcement d’erreur. Toutefois, le problème est de détecter ces données étiquetées étant donné que l’étiquette a été attribuée avec un degré de confiance jugé suffisamment élevé. Ce problème est souvent résolu par l’utilisation d’heuristiques se basant sur le degré de confiance du classifieur. Ainsi, si la précision du classifieur chute en dessous d’un seuil, certaines données issues de DU sont retirées de DL pour être replacées dans DU. Une autre heuristique, utilisée dans le cas de classifieur binaire, consiste à permuter les étiquettes des paires de données nouvellement étiquetées ayant de très faibles scores [180]. Cette permutation a pour objectif d’augmenter le degré de confiance du classifieur. Le co-apprentissage Le co-apprentissage (co-training) [37] peut être perçu comme une extension de la méthode de l’auto-apprentissage. Le co-apprentissage part du principe que s’il existe " deux vues " d’un même objet, indépendantes entre elles, alors deux classifieurs entrainés avec des vues différentes devront attribuer la même étiquette à l’objet. Ainsi, la méthode repose, pour des objets définis par un ensemble d’attributs tel que cet ensemble peut être divisé en deux sous-ensembles indépendants, sur l’utilisation de deux classifieurs. Chaque classifieur est entrainé dans un sousespace avec les données d’apprentissage DL. Les classifieurs sont ensuite utilisés pour étiqueter les données de DU. Les données étiquetées avec un important degré de confiance sont ajoutées à DL. La sélection et l’ajout des données dans DL peuvent s’effectuer en tenant compte des proportions de chaque étiquette afin de rester proche de la distribution originale des données. Ensuite, la phase d’apprentissage des classifieurs est réitérée sur le nouvel ensemble d’apprentissage [180]. 1.6. L’apprentissage par renforcement L’apprentissage par renforcement a comme objectif d’entraîner un agent à se comporter de façon intelligente dans un environnement donné. Un agent interagit avec l’environnement en choisissant, à chaque temps donné, d’exécuter une action parmi un ensemble d’actions permises. Le comportement intelligent que doit apprendre cet agent est donné implicitement via un signal de renforcement qui, après chaque décision de l’agent, indique s’il a bien ou mal agi [63]. L’agent doit donc se baser sur ce signal afin d’améliorer son comportement, qui est imposé par sa politique d’action. À chaque temps donné, l’agent a normalement à sa disposition un ensemble de caractéristiques ou d’indicateurs d’entrée, décrivant l’environnement. Par exemple, si l’agent correspond à un robot, ces indicateurs pourraient être obtenus à partir de capteurs sensoriels. Les concepts d’action et de signal de renforcement sont probablement ceux qui distinguent le plus l’apprentissage par renforcement des apprentissages supervisé et non supervisé. Contrairement à l’apprentissage supervisé, le comportement intelligent à apprendre n’est pas explicitement donné par une cible à prédire mais doit plutôt être défini par l’utilisateur à l’aide du signal de renforcement. 35 État de l'art de l’apprentissage automatique 1.7. Conclusion Dans ce chapitre, nous avons présenté la notion d’apprentissage automatique en spécifiant ses différents types, ensuite nous nous sommes focalisés sur les deux modes d’apprentissage automatique les plus répandus (supervisé et non supervisé). Nous avons décrit les classifieurs les plus utilisés dans ces deux modes. Nous avons mentionné également les avantages, les inconvénients, les variantes, et les domaines d’applications de chacun de ces classifieurs. Ensuite, nous avons abordé d’une façon sommaire, d’autres modes d’apprentissage moins populaires que les deux premiers, il s’agit de l’apprentissage semi-supervisé, et par renforcement. Parmi les classifieurs présentés nous allons dans le chapitre suivant nous focaliser particulièrement sur les SVMs et les SVDD qui sont des machines d’apprentissage à noyaux utilisant le mode d’apprentissage supervisé, elles sont largement utilisées dans les problèmes de classification, de classement et de régression. Nous allons présenter en détail la théorie de ces classifieurs ainsi que leurs variantes, nous allons aussi exposer les diverses techniques développées pour améliorer leurs performances. 36 Chapitre II Machines d’apprentissage à noyaux 2.1. Introduction Les méthodes de discrimination visent à construire une fonction qui permet de discriminer des exemples, en fonction de leur classe connue a priori. Il existe de nombreux algorithmes de discrimination, parmi eux les Séparateurs à Vaste Marge (SVMs) [114] [115], ils ont montré de bonnes performances dans la résolution de problèmes variés liés à la détection, la classification et la régression. Les bases des SVMs ont été initialement proposées par Vapnik dans les années 70 lors du développement de la théorie de l'apprentissage statistique. Cependant, les premières vraies publications basées sur ce procédé de classification sont apparues plus tard en 1992 par Boser et al. [83], mais leur dénomination par SVMs n’est apparue qu’en 1995 avec Cortes et al. [84]. Le 37 Machines d’apprentissage à noyaux principe général des SVMs est de trouver l’hyperplan qui maximise la marge entre les exemples de classes différentes. Les SVMs exploitent les concepts relatifs à la théorie de l’apprentissage statistique de Vapnik [114], et à la théorie des bornes de Vapnik et Chervonenkis [115] qui permettent d’exprimer le lien entre le risque empirique (erreur de classification sur les données d’apprentissage) d’une fonction de discrimination et son risque réel (erreur de classification sur les données qui n’ont pas servis à construire la fonction). Une extension novatrice des SVMs a été proposée par Tax et Duin [51] [52] [58] et est appelée Support Vector Domain Description (SVDD), elle utilise une sphère de rayon minimal englobant les points d’une classe. Dans ce cas la surface de séparation entre les différentes classes est sphérique au lieu d’être plane comme dans les SVMs. Les Séparateurs à Vaste Marge possèdent différentes propriétés attractives, elles sont basées sur des fondements mathématiques solides (la minimisation du risque structurel). Elles conduisent à la résolution d’un problème quadratique convexe dont la solution est unique. Elles nécessitent le réglage d’un nombre réduit de paramètres. Ce chapitre est organisé en trois grandes parties, la première partie introduit la théorie de l’apprentissage statistique et le principe de minimisation du risque structurel exprimé par la dimension VC. La seconde partie décrit la formulation mathématique des deux méthodes SVMs et SVDD dans les deux cas mono-classe et bi-classes, elle expose aussi quelques variantes de ces méthodes ainsi que leur extension dans le cas multi-classes. La troisième partie introduit la notion des fonctions noyaux permettant le passage implicite de l’espace d’origine vers un autre augmenté afin de classifier les données non linéairement séparables. 2.2. Principe de la minimisation du risque 2.2.1. La minimisation du risque théorique Etant donné l'ensemble de mesures suivant : †= , '-A# = 1, … , O 2.1 Chaque mesure , est décrite par un vecteur de caractéristiques associée = −1,1 . Soit + une famille de fonctions paramétrées tel que : += Λ est l’ensemble des paramètres. ’ ∈ ℝ; et la classe binaire /o ∈ Λ 2.2 Le paramètre définissant la fonction ’ est choisi de telle sorte que l'estimation ’∗ = ” de soit la meilleure possible et est noté o ∗ . Ainsi la fonction ’∗ correspondra à celle qui minimise le risque théorique, ou encore le risque fonctionnel donné par la formule suivante : 38 Machines d’apprentissage à noyaux • o = –ℒ , ’ ˆ3 , 2.3 Avec 3 , la fonction de répartition (distribution de probabilité) des données caractérisant la source, ℒ ”, étant la fonction de perte de la prédiction ” sachant que la valeur correcte est . Cette fonction peut être écrite de deux façons : Dans le cas d’une prédiction où l’écart quadratique : est à valeur réelle, la fonction de perte généralement utilisée est ℒ ”, = − ” F 2.4 ℒ ”, 1"# ≠ ” ( =˜ 2.5 0"#&'& Dans le cas d’un classement, la fonction de perte utilisée est donnée par : Le problème de l’apprentissage se ramène donc à un problème d’optimisation. En effet, les paramètres o ∗ optimums correspondent à la résolution du problème suivant : o ∗ = A)B#& • o 2.6 ’ 2.2.2. La minimisation du risque empirique La fonction de répartition 3 , est inconnue, par conséquent il est difficile d’estimer le risque• o , mais il est possible de considérer une fonction de risque empirique de la forme : •<Y™ o = 1 Tℒ O ` U ’ , Ainsi le risque empirique tend en probabilité données tend vers l’infini : 2.7 vers le risque théorique lorsque le nombre de ™ •<Y™ o š››››››œ • o 2.8 O → ∞ Il est à noter que le risque empirique n’est qu’une estimation du risque théorique. Les algorithmes employant ce principe sont souvent sujets au problème de sur-apprentissage. 2.2.3. La minimisation du risque structurel Vapnik et Chervonenkis [114] ont montré que le risque empirique seul n’était pas un bon estimateur du risque théorique. Le risque théorique peut être approché par la borne suivante: ℎ b') 2O/ℎ + 1 − b') /4 • o ≤ •<Y™ o + Ÿ 2.9 O ¡¢¢¢¢¢¢¢¢¢£¢¢¢¢¢¢¢¢¢¤ ¥;_<¦v§¨¨<©<Hª;« §;H< Pour tout 0 < < 1 avec une probabilité d’au moins 1– , et si le paramètre ℎ est inférieure au nombre de points d’entraînementO. Le paramètre ℎ est appelé la dimension de 39 Machines d’apprentissage à noyaux Vapnik-Chervonenkis (VC dimension), il permet de quantifier la capacité de séparation d’une famille + de fonctions. Pour un problème de classification binaire, ℎ est le nombre maximum de points séparables selon 2` configurations par l’ensemble de fonctions solutions. L’inégalité (2.9) représente le dilemme biais-variance (risque empirique, intervalle de confiance). Elle montre que, quand on augmente la VC-dimension de +, le biais diminue parce qu’on a plus de chance d’obtenir une solution proche de la solution du problème. En revanche, la variance augmente parce que le nombre de solutions adaptées à l’ensemble d’apprentissage augmente et on a donc plus de chance d’obtenir une solution plus adaptée à cet ensemble et moins adaptée globalement. Afin de remédier à ce dilemme, Vapnik et Chervonenkis proposent un nouveau principe d’induction appelé la minimisation du risque structurel (SRM) qui consiste à minimiser le risque en contrôlant la dimension VC. Le principe de la SRM consiste à définir une structure sur + comme étant une suite de sous ensembles emboîtés + = - ’ /o ∈ ® , ® ⊂ ®° + ⊂ +F ⊂ ⋯ ⊂ +; 2.10 La structure est ordonnée selon les VC-dimensions croissantes : ℎ ≤ ℎF ≤ ⋯ ≤ ℎ; 2.11 Pour obtenir une fonction avec le risque de généralisation le plus faible, il faut choisir le sousensemble + de fonctions avec la VC-dimension ℎ minimisant la somme du risque empirique et de la VC-confiance puis il faut chercher la fonction ’ de + minimisant le risque empirique pour être la fonction optimale. La figure 2.1 illustre le principe de la SRM. Figure 2.1 - Comportement du risque empirique, de l'intervalle de confiance et de la borne sur le risque théorique en fonction de la VC-dimension 40 Machines d’apprentissage à noyaux On distingue deux approches de minimisation de risque structurel : la première approche fixe la largeur de l’intervalle de confiance et s’intéresse à la minimisation du risque empirique. Cette approche est mise en œuvre par les réseaux de neurones. La deuxième approche fixe le risque empirique et s’intéresse à la minimisation de l’intervalle de confiance, l’algorithme des séparateurs à vaste marge suit cette démarche en annulant le risque empirique par la recherche de l’hyperplan à marge maximale. Ce choix du marge maximal est inspiré par le théorème de Vapnik qui démontre que la VC dimension de l’hyperplan séparateur ayant la marge ∆"margin separating hyperplane" est donnée par : •F ℎ ≤ B#& ³´ F µ , &¶ + 1 2.12 ∆ Avec • le rayon de la sphère minimale englobant les données d’apprentissage qui appartiennent àℝ; . La maximisation de la marge ∆ minimise la VC-dimension, et puisque l’erreur empirique relative à hyperplan séparateur est nulle (il sépare correctement l’ensemble d’apprentissage), la maximisation de la marge permettra également de minimiser la borne supérieure sur le risque prévu. En conclusion, l’hyperplan séparateur avec une marge maximale permettra également de minimiser le risque structurel. 2.3. Les Séparateurs à Vaste Marge (SVMs) Les Séparateurs à Vaste Marge ou les Machines à Vecteurs de Support, plus connues sous l’acronyme anglais SVMs (Support Vector Machines) sont des méthodes de classification par apprentissage supervisé, elles sont une classe d’algorithmes basés sur le principe de minimisation du risque structurel, décrit par la théorie de l’apprentissage statistique de Vapnik et Chervonenkis [84]. Leur objectif principal est de trouver un séparateur optimal qui maximise la marge entre deux classes différentes. Les classifieurs SVMs utilisent des fonctions appelées noyaux qui permettent une séparation non linéaire des données d’apprentissage. 2.3.1. SVMs mono-classe La classification par les SVMs mono-classe est utilisée dans le cas où la base d’apprentissage ^ = # , # = 1, … , O ne contient que les exemples positifs. L’absence des éléments négatifs (des contre-exemples) peut être justifiée soit par leur indisponibilité, soit par le coût élevé associé à leur obtention. Contrairement aux SVMs bi-classes, la classification par les SVMs mono-classe, vise à rechercher une fonction de décision positive dans une région de volume minimal qui capture la plupart des observations de ^, et négative ailleurs [122] [123]. La technique SVMs mono-classe utilise le même modèle que les SVMs binaires en considérant l’origine de l’espace comme étant la seule instance de la classe négative (Figure 2.2). Le problème revient, donc, à trouver un hyperplan qui sépare les exemples de la classe cible de l’origine de l’espace, et qui maximise la marge entre les deux [121]. 41 Machines d’apprentissage à noyaux Figure 2.2 - Classification par SVMs mono-classe Le problème primal peut être écrit sous forme de l’équation (2.13), dont l’objectif est de maximiser la marge et minimiser les erreurs de classification. La contrainte conduit à la bonne classification des exemples d’entrainement # , # = 1, … , O . 1 1 ] F [ >#&#B#"0A 2 ‖ ‖ + .O T · − ¸ ( 2.13 U \ ^'-"b0"‡'&nA #&n0" [( Z〈 , 〉( ≥ ¸ − · · ≥ 0# = 1,2, … O ` Où N est le nombre d’exemples de la classe cible, (w, ρ) sont des paramètres permettant de localiser l’hyperplan, les · représentent les erreurs permises sur les exemples, pénalisées par le paramètre v. Après avoir introduit les multiplicateurs de Lagrange, on obtient la forme duale suivante : ] [ [ > 1 #B#"0A T T o oS 2 ` ` U SU S ( 2.14 ^'-"b0"‡'&nA #&n0" \` [T o = 10n0 ≤ o ≤ 1 # = 1,2, … O [ .O ZU Les valeurs possibles des αi sont : − o = 0 correspondent aux exemples bien classés (au dessus de l’hyperplan) − 0<o < correspondent aux exemples qui se situent à l’intérieur de la marge (au v` dessous de l’hyperplan), 42 Machines d’apprentissage à noyaux − o = correspondent aux exemples appelés des vecteurs de support, ils se situent sur v` l’hyperplan. Afin de classer un nouvel élément », il suffit d’appliquer la fonction de décision donnée par : ` » = ")& ¼T o . ». U − ¸½ 2.15 Où ρ peut être déterminé par l’équation (2.16) à partir d’un exemple d’apprentissage multiplicateur de Lagrange associé o8 est non nul : ` ¸ = To . . U 8 2.16 8 dont le 2.3.2. SVMs bi-classes Dans ce problème de classification la machine à vecteurs support va être utilisée en considérant deux ensembles d’apprentissage (positif et négatif) étiquetés respectivement = 1 et = −1 c-à-d # ∈ −1,1 . Nous allons donc construire une fonction qui à chaque valeur d’entrée va faire correspondre une valeur de sortie ∈ −1,1 . : ℝ© → −1,1 , = 2.17 dans un ensemble ℝ© Dans le cas linéaire, une fonction discriminante ℎ est obtenue par combinaison linéaire de chaque vecteur d’entrée et s’écrit : ℎ = . + 2.18 + = 0 2.19 La classe d’un élément , est donnée par le signe de la fonction ℎ tel que = "#)&•ℎ Ž. Si ℎ ≥ 0 alors appartient à la classe +1, sinon appartient à la classe -1. Le séparateur est alors un hyperplan d’équation : . Si la base d’apprentissage ^ = classifieur ℎ tel que : . + , ,.., ?, ? contient > éléments, donc on veut trouver le ≥ 0# = 1,2, … > 2.20 Dans le cas simple linéairement séparable il existe de nombreux hyperplans séparateurs. Selon la théorie de Vapnick [84] l’hyperplan optimal (optimum de la distance interclasses) est celui qui maximise la marge. Cette dernière étant définie comme la distance entre un hyperplan et les points échantillons les plus proches (Figure 2.3). Ces points particuliers sont appelés des vecteurs de support. Cette distance est donnée par l’équation (2.21) : 43 Machines d’apprentissage à noyaux ˆ = | . + | 2.21 ‖ ‖ Figure 2.3 - L’hyperplan optimal de séparation entre deux classes différentes Les paramètres et étant définis à un coefficient multiplicatif près, ils vont être normalisés pour que les échantillons les plus proches 8 vérifient l’égalité suivante : . 8 8 Par conséquent pour les éléments . + + = 1 2.22 appartenant à l’ensemble d’apprentissage on obtient : ≥ 1# = 1,2, … > 2.23 La distance entre l’hyperplan et un point support est donc définie par entre deux classes est F ∥Á∥ : La forme primale (qui dépend seulement de contraintes qui s’écrit : | >#&#B#"0A F ∥ ∥Á∥ . La marge géométrique et ) est donc un problème de minimisation sous ∥F ( 2.24 ^'-"b0"‡'&nA #&n0" . + ≥ 1# = 1,2, … > La formulation primale peut être transformée en duale en utilisant les multiplicateurs de Lagrange o = [o , … , o? ] . Le problème s’écrit alors sous la forme suivante : 44 Machines d’apprentissage à noyaux Minimiser : 1 , , o = ‖ ‖F − T o 2 ? y . U + − 1 2.25 La formulation de Lagrange permet de trouver les extremums en annulant les dérivées partielles de la fonction (2.25). Le Lagrangien y doit être minimisé par rapport à et et maximisé par rapport à o. On résout ce nouveau problème en calculant les dérivées partielles par rapport aux et : Ây =  ? −To Ây = To  ? U U = 0 2.26 = 0 2.27 Après substitution des équations (2.26) et (2.27) dans l’équation (2.25), on en extrait la formulation duale suivante : ]> [ [ \ [ [ Z 1 #B#"0Ay o = T o − T o oS 2 ? ? To U U ? U ,SU ^'-"b0"‡'&nA #&n0" = 0 0no ≥ 0# = 1,2, … > S . S ( 2.28 D’autre part, on dispose des conditions de Karush Kuhn Tucker (KKT) qui sont les suivantes: o[ . + − 1] = 0, ∀# = 1,2, … > 2.29 Les deux solutions possibles de l’équation (2.29) sont o = 0 ou . + − 1 = 0. Ces deux solutions impliquent que seuls les o associés à des exemples situés sur la marge peuvent être non nuls. Ces exemples sont appelés des vecteurs de support, qui seuls contribuent à définir l’hyperplan optimal. Le problème d’optimisation quadratique énoncé précédemment a une solution dans le cas de données séparables uniquement. Dans le cas contraire, les conditions de Tucker (KKT) ne sont jamais satisfaites. Cortes et al. [84] ont proposé une technique qui consiste à accepter des erreurs d’apprentissage tout en les pénalisant, d’où l’introduction de C-SVMs pour le cas non-séparable (hyperplans à marge molle), où un paramètre de pénalisation et des variables ressort · sont utilisés, pour régler le compromis désiré entre la séparabilité des classes et l’étanchéité du modèle aux erreurs d’apprentissage. Pour se faire, des variables ressorts · (slack variables) ont été introduites comme suit : . + ≥ 1 − · ,· ≥ 0, # = 1,2 … > 2.30 45 Machines d’apprentissage à noyaux où > est le nombre total d’éléments # . La solution des C-SVMs est obtenue en minimisant une borne supérieure ∑?U · sur le risque empirique. Ce problème peut être décrit par l’équation (2.31) : Ä Ç 1 ∥ w ∥F + C T ε 2 U 2.31 ( ^'-"b0"‡'&nA #&n0" . + ≥ 1 − · ,· ≥ 0, # = 1,2 … > >#&#B#"0Ay , ,· = est une constante positive et non nulle. Plus est grande, plus on pénalise les mauvaises classifications. Après avoir effectué les calculs nécessaires, on aboutit au problème dual cidessous: ]> [ [ \ [ [ Z ? #B#"0Ay o = T o − U 1 T o oS 2 ? ,SU ^'-"b0"‡'&nA #&n0" ? 0 ≤ o ≤ 0n T o U S = 0# = 1,2, … > S ( 2.32 Ce problème d’optimisation quadratique est le même que celui du cas strictement séparable avec une contrainte supplémentaire sur les coefficients o (la borne supérieure). Les conditions KKT (Karush-Kuhn-Tucker) associées à ce problème sont : o = 0 ⇒ ≥ 10n· = 0 2.33 o = ⇒ ≤ 10n· ≥ 0 2.35 = 10n· = 0 2.34 0 < o < ⇒ Ainsi, les seuls coefficients αi non-nuls sont ceux associés aux éléments qui sont sur la marge ( 0 < o < ⇒ = 1 ou à l’intérieur de l’espace délimité par la marge o = ⇒ < 1 . Afin de classer un nouvel élément, il suffit d’appliquer la fonction de décision donnée par : ? » = ")& ¼T U o . ». + ½ 2.36 Où peut être déterminé à partir d’un vecteur de support la formule suivante: = 8 ? −T U o 8 dont0 8 < o8 < , en se basant sur 2.37 46 Machines d’apprentissage à noyaux 2.3.3. Variantes des séparateurs à vaste marge Ces fameuses machines ont été élaborées en 1992 par Boser et al. [83], mais leur dénomination par SVMs n’est apparue qu’en 1995 avec Cortes et al. [84]. Depuis lors, de nombreuses variantes visant à améliorer les SVMs ont été proposées tel que : Moindres carrés SVM (LS-SVM) [125], Lagrangian SVM (LSVM) [189], SVM Proximale (PSVM) [188], SVM réduite (RSVM) [187], Newton SVM (NSVM) [186], SVM-1 [219], ν-SVM [209], SVM semi supervisée (S3VM ) [216], SVM Transductive (T-SVM) [217], SVM à noyau [176], ainsi que d’autre variantes . Parmi les variantes des SVMs citées ci-dessus, nous détaillons à titre indicatif deux méthodes : Moindres carrés SVM et SVM Proximale. 2.3.3.1. Moindres carrés SVM Moindres carrés Support Vector Machines (LS-SVM) est une reformulation des principes de SVMs [124] [125] [126] [127]. Ce sont des machines qui sont aussi basées sur la maximisation de la marge, un principe qui minimise le risque structurel. LS-SVM applique des contraintes d’égalité au lieu des contraintes d’inégalité, et remplace la fonction de perte ε-insensible par une fonction de perte à moindre carrée. Ces modifications apportées au classifieur SVM, permettent de résoudre un système linéaire au lieu d'un problème de forme quadratique (QP) [124]. La nouvelle formulation proposée par Suykens [124] et qui a donné naissance au LS-SVM est la suivante : 1 ] [B#&#B#"0A 2 ∥ \ [ Z 1 ∥F + É T 0 F 2 2.38 ( U ^'-"b0"‡'&nA #&n0" . + = 1 − 0 # = 1,2, . . , O ` où les 0 représentent des variables d’erreur et γ est un paramètre de régularisation Le Lagrangien de ce système peut être écrit sous la forme suivante : y 1 1 , , 0, o = ‖ ‖F + É T 0 F − T o 2 2 ` ` U U . + − 1 + 0 ∀# = 1, … , O 2.39 où les o sont les multiplicateurs de Lagrange pouvant être positifs ou négatifs à cause des contraintes d'égalité. Les conditions d’optimalité sont : Ây =0⇒  ` = To U Ây = 0 ⇒ To .  ` U 2.40 = 0 2.41 47 Machines d’apprentissage à noyaux Ây = 0 ⇒ oS = É0S ∀W = 1, . . , O 2.42 Â0S Ây =0⇒ ÂoS S• . S + Ž − 1 + 0S = 0∀W = 1, . . , O 2.43 L’élimination de 0 et donnera un système linéaire à la place d'un problème quadratique (QP), ce système à résoudre est le suivant: Ê 0 Ë 0 Ë Î Ê Î = ÊÏÐÎ 2.44 Ω + É1 Í o 1 Ë= ,…, ` o = o , … , o` Ï1Ð = 1, … , 1 Ωest une matrice carrée dont les éléments sont : Ñ ,S = . S X , S avec X , S fonction noyau. La résolution numérique de ce système linéaire peut être effectuée en se basant sur la technique du gradient conjugué comme proposé par Suykens et al. [124] [125]. 2.3.3.2. SVM Proximale En se basant sur les SVMs conventionnelles, Fung et Mangasarian [178] ont proposé la SVM Proximale (PSVM), Elle considère un problème de classification de > points dans un espace réel à O dimensions [178]. Les > points sont représentés par une matrice : de dimension> × O. Chaque point : appartient à la classe positive ou négative, tel que spécifié par une matrice † diagonale de dimension> × > , ayant les valeurs +1 ou -1 le long de sa diagonale. Pour ce problème, la formulation des SVMs conventionnelles avec un noyau linéaire est donnée par : 1 + Ó0 2 Ä 2.45 ( ^'-"b0"‡'&nA #&n0" † : − 0É + ≥ 00n ≥ 0 >#&#B#"0A Où : ν est un paramètre de valeur strictement positive, 0 est un vecteur composé des uns, variable d’erreur. est une Les différences constatées entre SVM et PSVM (Figure 2.4) sont : − La minimisation de la norme carrée du vecteur d’erreur au lieu de la norme ; − Le remplacement de la contrainte d’inégalité par une contrainte d’égalité ; − L’ajout de É F à F . 48 Machines d’apprentissage à noyaux Le problème d’optimisation associé à PSVM peut être formulé comme suit : 1 1 >#&#B#"0A + É F + Ó ‖ ‖F 2 2 Ä 2.46 ( ^'-"b0"‡'&nA #&n0" † : − 0É + = 0 Géométriquement, dans cette formulation alternative, les hyperplans − É = ±1 peuvent être considérés comme des hyperplans proximaux, poussés aussi loin que possible l’un de l’autre par le terme + É F , et autour desquels les points de chaque classe sont rassemblés. Cette formulation nous permet d’écrire une solution explicite exacte en termes de données d’entrée ce qui est impossible dans le cas de SVMs conventionnelles. La SVM proximale (PSVM) a des performances comparables aux classifieurs SVMs, mais avec une vitesse de calcul souvent plus rapide. Figure 2.4 - Comparaison entre la SVM conventionnelle (gauche) et PSVM (droite) Le Lagrangien de ce problème peut être écrit sous la forme : y F 1 1 , É, , o = . ‖ ‖F + ÕÖ É ×Õ − o † : − 0É + 2 2 − 0 2.47 o est le multiplicateur de Lagrange associé à la contrainte d’égalité † : − 0É + l’annulation du gradient de y, donne les conditions d’optimalité (KKT) suivantes : − : †o = 0 É + 0 †o = 0 . − o = 0 † : − 0É + − 0 = 0 2.48 2.49 2.50 2.51 = 0, 49 Machines d’apprentissage à noyaux Les trois premières équations (2.48) (2.49) (2.50), donnent les expressions suivantes aux variables d’origine , É, en termes de multiplicateurs de Lagrange o : = : †o , É = −0 †o, = o . (2.52) La substitution des expressions ci-dessus dans la dernière égalité, nous permet d’obtenir une expression explicite de o en termes de : et † : 1 1 o = Ê + †(:: + 00 )†Î 0 . (2.53) Ayant calculé o à partir de la formule (2.53), la solution explicite ( , É, ) de notre problème (2.47) est donnée par (2.52). Par ailleurs, une version non-linéaire du PSVM a été développée par M. F. Glenn et O. L. Mangasarian [178]. 2.4. Support Vector Domain Description (SVDD) Support Vector Domain Description est une technique récente de classification inspirée par les séparateurs à vaste marge. SVDD a été inventé par Tax et Duin [51] [52] [58]. L’approche utilisée consiste à rechercher l’enveloppe sphérique de rayon minimal englobant les points d’une classe. 2.4.1. SVDD mono-classe Normal data description est un modèle [54] [55] [57] [58] qui englobe les données d’apprentissage dans une hyper-sphère de rayon minimal. Soit ∈ Ø un ensemble d’apprentissage de O points, avec ∈ ℝ© . Normal Data Description cherche l’hypersphère minimale décrite par les contraintes suivantes: , ‖ >#&#B#"0A • F "'-" b0" ‡'&nA #&n0" − ‖F ≤ • F # = 1,2, . . , O (2.54)( ‖. ‖ représente la norme euclidienne. Pour accepter des erreurs d’apprentissage tout en les pénalisant, des variables ressorts · (slack variables) ont été introduites comme suit : ‖ − ‖F ≤ • F + · , · ≥ 0, # = 1,2, . . , O (2.55) Il s’agit d’un problème d’optimisation sous contraintes, dont le Lagrangien peut être écrit sous la forme suivante : ` y(•, , ·) = •F − T(•F + · − ‖ U ` − ‖F )o − T · P + U ` T· U (2.56) 50 Machines d’apprentissage à noyaux Les coefficients o ≥ 0 et P ≥ 0 sont des multiplicateurs de Lagrange, avec un paramètre qui permet de régler le taux d’erreur admissible dans la solution, et ∑ · est le terme de pénalité. Pour minimisery, on annule ses dérivées partielles par rapport à •, , · : Ây = 0 ⇒ T o = 1 2.57 • ` U Ây = 0 ⇒ = T o . 2.58  U Ây = 0 ⇒ o = − P 2.59 · ` Après réarrangement et utilisation des conditions de Karush-Kuhn-Tucker (KKT), nous arrivons à la formulation duale suivante : ` ]> [ [ #B#"0A ∶ y o = T \ [ [ Z ` T U U F ` ` o − T T o oS U SU ^'-"b0"‡'&nA #&n0" = 10n 0 ≤ o ≤ # = 1,2, . . O S 2.60 ( Pour qu’un nouvel objet » appartient à une classe X, représentée par une hypersphére de centre et de rayon•, il suffit d’appliquer la fonction de décision donnée par l’équation (2.61), si l’évaluation de cette fonction est positive on conclut que » appartient à ladite classe, sinon il n’appartient pas à la classe [51] [52] [58] [59], la fonction de décision est donnée par : » = ")& • F − ‖» − ‖F 2.61 avec ` ‖» − ‖F = ». » − 2 T o et • = F Pour tout 8 8. 8 ` − 2To U U 8 ` ` » + T T o oS ` ` U SU + T T o oS U SU S 2.62 S 2.63 ∈ ^Ù , ^Ù est l’ensemble des vecteurs de support ayant 0 < o < . 2.4.2. SVDD bi-classes Quand les éléments négatifs existent (c.-à-d. les objets qui doivent se situer à l’extérieur de l’hypersphère) il est possible de les faire intervenir dans l’ensemble d’apprentissage pour améliorer la description. 51 Machines d’apprentissage à noyaux Dans ce qui suit l’ensemble d’apprentissage va être construit par O éléments cibles (positifs) numérotés par les indices #, W et > éléments négatifs numérotés par les indices b, B. Pour tolérer les erreurs d’apprentissage des variables ressort · et ·¨ on été introduites [58]: Le problème primal peut être écrit sous la forme : ` ? ] >#&#B#"0Ay •, · = •F + 1 T · + 2 T · ¨ [ U ¨U ^'-"b0"‡'&nA #n0" \ F F ‖ ‖ − ≤ • + · 0n‖ ¨ − ‖F > •F − ·¨ [ Z· ≥ 0,·¨ ≥ 0# = 1,2, . . , O0nb = 1,2, . . , > 2.64 ( Avec 1 , 2 sont des constantes positives et non nulles, 1 ∑ÚU · et 2 ∑Ç ÛU ·¨ les termes de pénalité. Ces contraintes sont introduites dans l’équation (2.64) et le lagrangien y est écrit comme suit : Ú Ç Ú Ç Ú y •, , · = • + 1 T · + 2 T ·¨ − T É · − T ɨ ·¨ − T o [•F + · − ‖ F Ç − T o¨ [‖ ÛU ¨ U ÛU U ÛU U − ‖F ] − ‖F − • F + ·¨ ] 2.65 Avec o ≥ 0, o¨ ≥ 0, É ≥ 0, ɨ ≥ 0 sont des multiplicateurs de Lagrange. L’annulation des dérivées partielles de y par rapport aux • , et · ·¨ donne les contraintes suivantes: Ây = 0 ⇒ T o − T o¨ = 1 2.66 • Ú Ç U ÛU Ây = 0 ⇒ = T o − T o¨ ¨ 2.67  U ÛU Ây Ây = 00n = 0 ⇒ o = 1 − É o¨ = 2 − ɨ ∀#, b 2.68 · ·¨ Ú Ç Après la substitution des équations (2.66) (2.67) (2.68) dans l’équation (2.65) on obtient : Ú ] >#&#B#"0Ay o = T o [ [ U \ [ [ Z Ú Ç Ç − T o¨ ÛU ¨ Ú Ú ¨ − T T o oS U ÜU S Ç Ú + 2 T T o¨ oS ^'-"b0"‡'&nA #&n0" ÛU ÜU ¨ S Ç Ç − T T o¨ oY ÛU ÝU T o − T o¨ = 1,0 ≤ o ≤ 10n0 ≤ o¨ ≤ 2avec# = 1,2, . . Ob = 1,2, . . > U ¨ Y 2.69 ( ÛU Pour qu’un nouvel objet »appartient à une classe X, représentée par une hypersphère de centre et de rayon •, il suffit d’évaluer le signe de la fonction de décision donnée par l’équation 52 Machines d’apprentissage à noyaux (2.70), si l’évaluation de cette fonction est positive on conclut que » appartient à ladite classe, sinon il n’appartient pas à cette classe [51] [52] [58] [59]. avec ∥»− et • = F » = ")& RF − ‖» − a‖F 2.70 ` ∥ = ». » − 2 ¼T o F 8. 8 ` − 2 ¼T o U U 8 ? ` ` » − T o¨ ¨ »½ + T T o oS ? ¨U − T o¨ ¨U ¨ 8½ ` S U SU ` + T T o oS U SU S ? ? + T T o¨ oY ? ¨U YU ? + T T o¨ oY ¨U YU ¨ Y ¨ Y ` ? − 2 T T o o¨ ` U ? ¨U − 2 T T o o¨ U ¨U ¨ ¨ Pour tout 8 ∈ ^Ù, ^Ù est l’ensemble des vecteurs de support ayant 0 < o < 1 (quand objet cible (positif)) ou 0 < o¨ < 2 (quand 8 est un objet négatif). 2.71 2.72 8 est un 2.4.3. Variantes du Support Vector Domain Description Plusieurs variantes du SVDD ont été développées [21] [62], on peut citer parmi elles : SVDD avec sphère unique [60], l'approche de petite sphère et large marge pour la détection des nouveautés en utilisant les données d'entrainement avec les données aberrantes [57], seconde ordre NSVDD [64], µ-NSVDD [64], SVDD basé sur le maximum de distance entre les centres de deux sphères [64]. Parmi les variantes de SVDD citées ci-dessus, nous détaillons à titre indicatif deux méthodes : SVDD avec sphère unique et SVDD basé sur le maximum de distance entre les centres de deux sphères. 2.4.3.1. SVDD avec sphère unique Cette méthode [60] vise à séparer les données en maximisant le rapport entre le rayon de la sphère minimale qui les englobe et la marge de séparation entre les données (Figure 2.5). Figure 2.5 - Maximisation du rapport de séparation • + ˆ / • − ˆ 53 Machines d’apprentissage à noyaux Cette méthode peut être formulée mathématiquement comme suit [60] : Ä Où •F − ‖ •+ˆ •−ˆ 2.73 ( ^'-"b0"‡'&nA #&n0" − ‖F ≥ ˆF − · # = 1,2, . . O > #B#0A ∈ −1,1 représente la classe de l’élément à© , et · est une variable ressort correspondant á à cet élément. La maximisation du rapport 1© est équivalente à la minimisation de©á . C’est une forme non-linéaire en fonction de • F et ˆF , difficile à traiter directement. Cependant, à tout point •â, ˆâ , le quotient á ©á ≈ á ©á á ä ©äá peut être approché comme suit: + ©äá r• F − á ä ©äá ˆF s 2.74 En se basant sur la formule ci-dessus, le problème d’optimisation devient: ] [ Où å = á ä ©äá \ [ Z >#&#B#"0A• − åˆ + F F ` T · U ^'-"b0"‡'&nA #&n0" •F − ‖ − ‖F ≥ ˆF − · # = 1,2, . . O ( 2.75 ≥ 1 est une constante qui contrôle le compromis entre le rayon de la sphère et la marge de séparation. La résolution du problème primal nous amène à sa forme duale, qui peut être écrite sous la forme : 1 ] >#&#B#"0Ay o = 1 T T o o S S S − To [ 2 2 [ U SU U ( 2.76 ^'-"b0"‡'&nA #&n0" \` ` [ [T o = å0n T o = 1, 0 ≤ o ≤ # = 1,2, . . O ZU U ` ` ` 2.4.3.2. SVDD basé sur le maximum de distance entre les centres de deux sphères. Cette méthode a été proposée par Tingting Mu et K. Nandi Asoke [64], elle a comme objectif d’englober simultanément deux types de données (positives et négatives) via deux , R et F , R F , tout en maximisant la distance entre les deux centres sphères minimales 0n F des deux sphères. Ce problème d’optimisation peut être écrit mathématiquement comme suit : 54 Machines d’apprentissage à noyaux F F F ]>#&#B#"0Ay = • + •F − åˆ + T · [ ( 2.77 ^'-"b0"‡'&nA #&n0" \‖ − ‖F − • F ≤ 0 + · , = +1, · ≥ 0 [ Z ‖ − F ‖F − •FF ≤ 0 + · , = −1, · ≥ 0 Où ˆ F = ‖ − F ‖F ,et å > 0 est une constante utilisée pour contrôler la proportion de la séparation par la marge et par le rayon de la sphère. La forme duale simplifiée de ce problème peut être écrite sous la forme : ] > [ [ \ [ [ Z #B#"0Ay o = T o − U å−1 æ T T o oS 2å − 1 ç‰ U çè U S + T T o oS ç‰ U1 çè U1 ^'-"b0"‡'&nA #&n0" T o = 10n T o = 1; 0 ≤ o ≤ ç‰ U Sé − 2å T T o oS 2å − 1 ç‰ U çè U1 ç‰ U1 La fonction de décision dans ce cas s’écrit sous la forme: » = ‖» − •F ‖F − ‖» − •FF F‖ F S 2.78 2.79 Si » ≥ 0 on en déduit que » est un élément qui appartient à la classe négative, et vice versa, dans la formule (2.79) les rayons • et •F sont calculés par les vecteurs de support correspondants, c-à-d les vecteurs de support o de la classe positive ayant 0 < o < servent à calculer • et ceux de la classe négative ayant 0 < o < sont utilisés pour calculer•F . 2.5. Méthodes de décomposition multi-classes Les SVMs sont des machines de discrimination binaire. La généralisation de leur utilisation dans le cas multi-classes (å classes) peut se faire de quatre façons différentes : − L’approche un contre tous ; − L’approche un contre un ; − La méthode appelée graphe acyclique direct; − L’approche globale. Le choix d’une approche de décomposition dépend essentiellement de la taille du problème. 55 ( Machines d’apprentissage à noyaux L’approche un contre tous consiste à entrainer les SVMs bi-classes en utilisant les éléments d’une classe contre tous les autres (Figure 2.6). Il s’agit de résoudre å problèmes SVMs chacun ayant la même taille. Le résultat est å frontières de décision avec 1 ≤ X ≤ å , ∗ séparants chaque classe des autres. L’objet est affecté à la classe X si : X ∗ = A)B 1≤X≤å 2.80 Figure 2.6 - Décomposition par la méthode un contre tous La méthode "un contre un" attribuée à Knerr et al. [116], consiste à utiliser un classifieur par couple de catégories. Le classifieur indicé par le couple #, W avec 1 ≤ # < W ≤ å , est destiné à distinguer la catégorie d'indice # de celles d'indice W (Figure 2.7), par conséquent cette méthode nécessite la construction de å å − 1 /2 frontières de décision. Pour affecter un exemple, on le présente donc à ∁F classifieurs, et la décision s'obtient généralement en effectuant un vote majoritaire. Figure 2.7 - Décomposition d’un problème de classification multi-classes par la méthode un contre un 56 Machines d’apprentissage à noyaux Les SVMs avec graphe acyclique direct, proposées par Platt et al. [175], visent à résoudre le problème de classification multi-classes. Cette méthode est basée sur l’utilisation d’un graphe de décision orienté acyclique, son principe est le suivant : Dans la phase d’apprentissage, la technique utilise le même principe que celui de la méthode un-contre-un. Donc, elle construit å å − 1 /2 modèles de classification binaire. Mais, dans la phase de test, chaque modèle vote contre la classe non choisie (Figure 2.8). Le résultat de cette action est le rejet d’une classe à la fin de chaque vote. Ainsi, on obtient la classe désirée après å − 1 étapes, le taux de classification donné par cette approche est identique à celui de la méthode un-contre-un, mais elle dépasse cette dernière en terme de rapidité. Figure 2.8 - Le principe des SVMs avec graphe acyclique direct, dans le cas de trois classes L’approche globale consiste à formaliser le problème d’optimisation en prenant en compte simultanément toutes les classes constituant une base d’apprentissage [117] [118] [207] [208]. La plupart des modèles multi-classes partagent la même architecture de base. Ils se distinguent simplement par leur algorithme d'apprentissage. Dans le cas des SVMs [151] le problème d’optimisation global peut être écrit sous la forme : ] [ \ [ Z î ç‰ ð( )+ ç‰ ≥ 1 >#&#B#"0A y = T =,ì,í 2 S ð( ) + SU S S S + ` î T T U SU ,Sïç‰ · ,S ^'-" b0" ‡'&nA #&n0" + 2 − · ,S , · ,S ≥ 0 , # = 1, … , O 0n W = 1, … , å; W ≠ (2.81)( Où O est le nombre de données de la base d’apprentissage, å est le nombre total des classes, est une constante de régularisation, S ∈ ℋ et S ∈ ℝ sont respectivement le vecteur de poids et le biais de l’hyperplan séparateur correspondant à la W éme classe, ℋ est l’espace des caractéristiques engendré par la fonction noyau ð , · ,S ∈ ℝ est la variable ressort associée à la # éme donnée de la Wéme classe. Dans le cas de SVDD [82] le problème d’optimisation global peut être écrit comme suit: 57 Machines d’apprentissage à noyaux ] [ \ [ Z >#&#B#"0A y ,S ròð − Sò ,§,í F î = T •SF SU + ` î T T · ,S U SU ^'-"b0"‡'&nA #n0" − •SF s ≤ · ,S ,· ,S ≥ 0,W = 1,2, . . , å, # = 1,2, . . , O, ,S =ó +1, −1, ∈ W éY< ‡b ""0 ( ∉ W éY< ‡b ""0 ( 2.82 O est le nombre de données de la base d’apprentissage, å est le nombre total des classes, est une constante de régularisation, •S ∈ ℝ et S ∈ ℋ sont respectivement le rayon et le centre de l’hypersphère minimale englobant les données de la W éme classe,· ∈ ℝ est la variable ressort associée à la # éme donnée. Le dual de ces problèmes est quadratique de même nature que celui des SVMs binaires et de taille O × å (Nombre de données d’apprentissage×Nombre de classes). 2.6. Méthodes à noyaux 2.6.1. Principe Le principe des méthodes à noyaux [38] [180] [203] consiste à projeter les données de l'espace ℝ© dans un autre espace de dimension plus élevée (Figure 2.9) où les données qui étaient non linéairement séparables peuvent le devenir. Désignons par F le nouvel espace, la fonction de projection ð ∶ ℝ© ⟶ +est une transformation non linéaire, qui est évaluée implicitement via le produit scalaire. Figure 2.9 - Projection d’un ensemble de données dans un nouvel espace permettant une séparation plane 58 Machines d’apprentissage à noyaux A l’aide de la fonction ð on définit une fonction X . , . ∶ ℝ© × ℝ© ⟶ ℝ avec X , = ð .ð pour réaliser la projection. La fonction X , ainsi définie est appelée noyau et elle représente le produit scalaire dans l'espace +. Par exemple le noyau polynomial de degré deux est défini comme suit : Soit = , F et Φ = F , F F , √2 . X• , F SŽ on peut définir : = 〈 , S 〉F = • = = 〈ù . F . S S + F + F . SF Ž F F . F SF F + 2. , ù• S Ž〉 2.83 . S . F . SF Pour démontrer l'existence d'une fonction noyau, on se sert souvent du théorème de Mercer [38] qui s'énonce comme suit: Soit une fonction symétrique X ∶ e × e ⟶ ℝ avece ⊂ ℝˆ , il existe une fonction ð telle que X , = ð .ð si et seulement si pour toute fonction élément de l'ensemble des fonctions F définies sure, telle que: ú ˆ existe : On a –X , ˆ ˆ ≥ 0 2.84 La positivité de l'intégrale permet de définir l'existence du noyau, qui est un produit scalaire dans un espace de Hilbert. La condition de Mercer peut être formulée différemment, en considérant la matrice de Gram [11], définie comme la matrice contenant les valeurs calculées par la fonction noyau sur tous les couples de données • , S Ž#, W = 1, … , O . Elle constitue l’entrée de l’algorithme d’apprentissage, qui n’utilise pas la fonction X . , . elle-même mais la matrice K de dimension O × O, telle que å S = X , S ). La condition de Mercer appliquée à la matrice de Gram s’énonce sous la forme suivante : Une fonction X . , . peut être considérée comme un produit scalaire dans un espace implicite si et seulement si pour tout entier strictement positif O, et pour tout ensemble arbitraire de données , … , ` de taille O, la matrice de Gram å = X• , S Ž ,SU …` est symétrique définie positive, soit si toutes ses valeurs propres sont positives ou nulles. 2.6.2. Propriétés des noyaux Les noyaux possèdent un ensemble de propriétés : − Commutativité 59 Machines d’apprentissage à noyaux Soient x et y deux éléments de l’espaceX ⊂ ℝ , la fonction noyau étant symétrique, nous avons la commutativité : − X , =X Inégalité de Cauchy-Schwartz , 2.85 Considérons toujours x et y deux éléments de X ⊂ ℝ , nous avons : [X , ]F = [ð − Combinaison de noyaux ]F ≤ ‖ð .ð ‖F . ‖ð ‖F 2.86 Soient X et XF deux noyaux définis de e × e dans ℝ tel que e ⊂ ℝ© . Les fonctions suivantes sont aussi des noyaux : X , = X , + XF , 2.87 X , = X , .0‡ ∈ ℝà 2.88 X , = X , . XF , 2.89 X , =0 X , 2.90 X , = •X , Ž 2.91 Avec ∶ ℝ ⟶ ℝunefonctionpolynomialeàcoefficientspositifs. 2.6.3. Exemples de noyaux Plusieurs noyaux ont été développés, parmi lesquels on peut citer [12] : − Noyaux polynômiaux Afin d'élaborer une règle de décision basée sur une statistique polynômiale de degré , on utilise le noyau suivant : X• , S Ž = 1 + . S ™ 2.92 Les composantes de l'application ù associée sont alors les monômes de degrés inférieurs à constitués des composantes de . Parce qu'ils sont fonction du produit scalaire des observations, de tels noyaux sont dits projectifs. − Noyaux exponentiels radiaux F Les noyaux de type radial dépendent de la distance ò − S ò entre les observations. Ils ont fait l'objet d'une attention particulière dans la littérature en raison du rôle central qu'ils jouent dans les méthodes d'estimation et de classification [63]. On compte parmi eux le noyau gaussien, défini par : 60 Machines d’apprentissage à noyaux X• , SŽ = 0 æ− − ò Sò F â é 2.93 Où â est appelée largeur de bande. Ce noyau est caractérisé par un continuum de valeurs ne sont pas en nombre fini. propres, ce qui signifie que les composantes de ù − Noyaux exponentiels Les noyaux exponentiels offrent souvent des solutions intéressantes en fournissant une surface de décision linéaire par morceaux dans l'espace des observations. X• , SŽ = exp æ− ò − Sò â é 2.94 − Noyaux sigmoïdaux Les noyaux sigmoïdaux peuvent être écrits sous la forme suivante : X• , S Ž = tanh•oâ . . S + â Ž 2.95 La qualité du noyau dépend des paramètres oâ 0n â , contrairement aux noyaux polynômiaux et exponentiels. S'ils ne sont pas convenablement choisis, il en résulte la perte du cadre rigoureux offert par les espaces de Hilbert. 2.7. Conclusion La théorie de l’apprentissage statistique basée sur le principe de minimisation des risques théorique, empirique et structurel a donné naissance à des algorithmes d’apprentissage capables de contrôler d’une façon nouvelle le dilemme biais-variance. Parmi ces algorithmes figurent les SVMs et SVDD, ces méthodes de classification ont montré de bonnes performances dans la résolution de problèmes variés tel que la classification, la régression et la détection. Dans ce chapitre nous avons exposé la théorie d’apprentissage statistique développée par Vapnik qui a apporté des vues éclairantes sur la généralisation qui n’est autre que la faculté d’un modèle à prédire correctement de nouvelles valeurs et pas seulement à rendre compte du passé. Ces apports font appel à une mesure spécifique de la complexité d’un modèle nommée la VCdimension. Ensuite, nous avons abordé la formulation mathématique des deux méthodes SVMs et SVDD dans les deux cas mono-class et bi-classes. Nous avons décrit quelques variantes de ces méthodes ainsi que leurs extensions dans le cas multi-classes. Nous avons clôturé ce chapitre en introduisant la notion des fonctions noyaux permettant le passage implicite de l’espace d’origine vers un autre augmenté afin de classifier les données non linéairement séparables. 61 Chapitre III Optimisation de la séparabilité interclasses de la machine SVDD 3.1. Introduction Ce chapitre introduit trois améliorations du classifieur Support Vector Domain Description (SVDD), qui ont pour objectif l’optimisation de la séparabilité interclasses. La première amélioration vise à réduire le chevauchement qui peut se produire entre les sphères minimales relatives aux différentes classes, car ce chevauchement crée des zones communes, et 62 Optimisation de la séparabilité interclasses de la machine SVDD par conséquent empêche la classification des nouveaux éléments se trouvant à l’intérieur de ces zones. La deuxième amélioration introduit un nouveau paramètre dans le SVDD, son rôle est d’ajuster les frontières de séparation entre les différentes classes en contrôlant le volume des sphères minimales, l’objectif attendu est l’augmentation du pouvoir séparateur dudit classifieur. La troisième amélioration concerne la fonction de décision utilisée par SVDD qui a pour objectif la discrimination entre les données, ladite fonction est incapable de classer les éléments existant à l’intérieur des zones de chevauchement, ce qui diminue le pouvoir séparateur du SVDD. 3.2. Maximisation de la séparabilité inter-sphères Le classifieur SVDD proposé par Tax et Duin [51] [52] [58] cherche l’hypersphère de volume minimum qui englobe presque toutes les données positives. La contrainte de volume minimum est nécessaire pour réduire la possibilité d’inclusion des données négatives à l’intérieur de l’hypersphère. Cette inclusion peut être évitée en imposant une autre contrainte à SVDD qui vise à rejeter les données négatives à l’extérieur de l’hypersphère minimale. Dans le cas d’un problème multi-classes, la construction des hypersphères minimales relatives aux différentes classes, peut provoquer un éventuel chevauchement entre elles; ce qui produit des zones communes, par conséquent si un nouvel élément se place à l’intérieur de ces zones il serait impossible de l’affecter à une classe unique. On propose de minimiser le chevauchement entre les hypersphères en maximisant un critère de séparabilité entre elles, défini comme la distance entre les centres des hypersphères obtenues par le classifieur SVDD [103]. Pour cela une nouvelle contrainte est ajoutée à SVDD qui veille à ce que chaque nouvelle hypersphère soit éloignée le plus possible de toutes les précédentes. La méthode présentée peut être formulée en tant que problème d'optimisation quadratique convexe qui peut être résolu de manière efficace via les techniques existantes. 3.2.1. Formulation mathématique Notre objectif est d’ajouter une nouvelle contrainte à SVDD conventionnel. Cette contrainte permet de maximiser la distance entre le centre de chaque nouvelle hypersphère et ceux des hypersphères précédentes, sachant que la première hypersphère est construite par le SVDD conventionnel. … ` , ` , avec Etant donné un ensemble de couples de taille O défini comme , = 1 pour les données de la classe cible ou positive et = −1 pour celles de la classe négative. On cherche la kème hypersphère minimale de rayon• , et de centre qui englobe les données de la classe positive et qui est éloignée le plus possible des hypersphères construites préalablement. Ce problème est décrit par les contraintes suivantes : ∈ ℝ© , ‖ ‖ − − ‖F ≤ •F + · # ∈ 1, . . , O .0‡ ‖F ≥ •F − · # ∈ 1, . . , O .0‡ = +1 3.1 = −1 3.2 63 Optimisation de la séparabilité interclasses de la machine SVDD ò − F Sò ≥ ¸F − S W ∈ 1, . . , X − 1 3.3 Tel que, · et S sont des variables ressorts, réelles et positives, ¸ > 0 est la marge entre le centre de la nouvelle hypersphère et ceux des hypersphères précédentes. Pour résoudre ce problème en introduit le Lagrangien : y • , ¸, ·, ` = • − .¸ + −To U F ` F • −‖ F − T· + U F 1 T SU S 1 ‖F + · − T SU 1 ` − T· P − T S U rò S − SU S ÉS ò − ¸F + F S s 3.4 Avec et F des constantes réelles et positives, ∑`U · et F ∑SU1 S sont des termes de pénalité, o ≥ 0, S ≥ 0, P ≥ 00nÉS ≥ 0 sont des multiplicateurs de Lagrange. On peut rendra le rayon • F aussi petit que constater que la minimisation de la fonction y • , ¸, ·, possible, tandis que la marge ¸Fdevient de plus en plus large, ce qui favorise la séparation entre les différentes hypersphères. Le paramètre v dans l’équation (3.4), est une constante réelle strictement positive. Une autre condition sur v est donnée par l’équation (3.7) qui impose que sa valeur soit différente de 1. Ce paramètre joue le rôle d’un compromis entre la minimisation du rayon de l’hypersphère et la maximisation de la séparabilité entre les centres des hypersphères. Pour montrer le rôle du paramètre v on exécute les calculs sur un jeu de données artificielles contenant deux classes. La figure 3.1 montre que l’augmentation de la valeur du paramètre v produit une répulsion entre les sphères, et par conséquent la disparition progressive du chevauchement. 64 Optimisation de la séparabilité interclasses de la machine SVDD Figure 3.1 - Visualisation en 2D du rôle du paramètre . dans la classification d’un jeu de données artificielles par la méthode SVDD Après l’annulation des dérivées partielles de L par rapport aux • , ¸, contraintes suivantes : Ây = 0 ⇒ To . • ` U Ây =0⇒T ¸ 1 SU Ây =0⇒  Ây = 0 ⇒ · Ây = 0 ⇒  S , on obtient les = 1 3.5 = . 3.6 1 = æT .−1 1 SU F ,· , S S ` − To é .0‡. > 00n. ≠ 1 3.7 U − P − o = 0 3.8 −É − = 0 3.9 La substitution des équations (3.5), (3.6), (3.7), (3.8) et (3.9) dans (3.4) conduit à la recherche du maximum de la forme duale suivante: y o, 1 = T T o oS .−1 ` ` U SU S 2 TTo S − .−1 ` 1 U SU S . S 65 Optimisation de la séparabilité interclasses de la machine SVDD 1 + TT .−1 1 1 U S SU S 1 ` + To −T U S S S SU 3.10 Les coefficients o avec # ∈ 1, . . , O et S avecW ∈ 1, … , X − 1 sont obtenus par la résolution d’un problème d’optimisation quadratique convexe défini par : Min: 1 e 4e + : e 3.11 2 Tel que : 4= F ‘ F − − − v1 ⋮ ⋮ F F F F F F F ‘ ‘ F ‘ F F ‘ − − − ⋮ F F F F F F F ‘ ⋮ e= ‘ ‘ F ‘ F ‘ ‘ ‘ ‘ ‘ ⋮ − − − ‘ ‘ ‘ ‘ F ‘ ‘ ‘ o oF o‘ ⋮ ⋮ et F ‘ ⋮ … … … ⋱ … … … … − − − F F ‘ ‘ ⋮ F ‘ ⋮ := − − − F F F F ‘ ‘ F ⋮ F ‘ ⋮ F F F − … ‘ − F F ‘ … − ‘ ‘ ‘ … ⋮ … ‘ … F ‘ … ‘ ‘ … ⋮ ⋱ F F F ‘ ‘ ‘ − − − ⋮ F F ‘ ‘ ⋮ Dans un problème multi-classes (X classes), pour classer un nouvel échantillon», il suffit d’évaluer le signe de la nouvelle fonction de décision donnée par l’équation (3.12). Si l’évaluation de cette fonction est positive pour la X <Y< classe et négative pour les autres on conclut que » appartient à la classe X. avec » = ")& • F − ‖» − ‖» − − ‖F ‖F 3.12 2 = ». » + To .−1 2 .−1 ` 1 TTo F U SU U S 2 »− T .−1 1 ` S + 1 .−1 1 SU 1 TT F U SU S 1 S» + .−1 S F ` ` T T o oS U SU S S 3.13 S 66 Optimisation de la séparabilité interclasses de la machine SVDD 2 • = 8. 8 + To .−1 − Pour tout 2 .−1 8 U ` 1 TTo F S U SU ∈ ^Ù,^Ù est 2 T 8 − .−1 1 ` F S + SU 1 .−1 S S 1 1 8 + .−1 1 TT F S U SU F ` ` T T o oS U SU S S S 3.14 l’ensemble des vecteurs de support. Ainsi, la méthode proposée construit une nouvelle hypersphère, en minimisant son rayon et en maximisant la distance entre le centre de l’hypersphère en question et les hypersphères précédentes. Il s’agit d’une méthode séquentielle, où un mauvais choix de la kéme classe lors de la construction des hypersphères influence négativement toutes les prochaines et vise versa. Pour réduire cette influence on procède dans l’ordre croissant de la variance des classes car la classe ayant une variance élevée est plus susceptible de contenir des données aberrantes [98]. L’expression de la variance dans l’espace de caractéristiques est donnée par : 1 Ù A = T‖ð O ` Ù A= U 1 T æX O ` U 1 − P‖ .0‡P = T ð O ` F , − SU S 3.15 2 T X• , S Ž + T T X• S , O ` SU ` SU ` U Žé 3.16 3.2.2. Résultats obtenus sur des bases standards Afin de tester la performance de notre approche en terme du taux de bonne classification, nous avons procédé à un ensemble d’expériences sur des jeux de données de référence [75]. Dix sept jeux de données ont été choisis, les résultats de la classification sont présentés dans la figure 3.2 et la figure 3.3. Dans toutes les expériences on fixe et F à 100, et on utilise un noyau RBF. On calcule le taux de reconnaissance pour les données d’entrainement et de test. Pour évaluer la moyenne et l’écart type on répète l’expérience 20 fois avec les mêmes valeurs des paramètres v et σ. 67 Optimisation de la séparabilité interclasses de la machine SVDD Les étapes de l’évaluation de la méthode SVDD basée sur la maximisation de la séparabilité inter-sphères. 1. Sélection d'une base de données parmi : SPECTF Heart, Ionosphere, Monks-1, Monks-2, Monks3, Iris, Teaching Assistant Evaluation, Wine, Connectionist Bench (Sonar, Mines vs. Rocks), Seeds, Glass, Haberman, Vertebral Column, Ecoli, Liver Disorders, Breast Cancer Wisconsin et Balance Scale. 2. Génération de deux ensembles finis de valeurs réelles représentant respectivement le domaine de variation de v et celui de σ. 3. Choix d’un couple de valeurs ., Q à partir de ces deux ensembles. 4. Décomposition aléatoire de la base sélectionnée en deux sous ensembles d'entrainement (80%) et de test (20%) (voir annexe). 5. Apprentissage par SVDD (les deux versions : SVDD conventionnel et SVDD proposé). 6. Calcul du taux de reconnaissance pour les deux sous ensembles. Pour évaluer la moyenne et l’écart type l’expérience sera répétée 20 fois depuis la quatrième étape. 7. Répétition depuis la troisième étape pour d’autres couples ., Q . (a) (b) 68 Optimisation de la séparabilité interclasses de la machine SVDD (c) (d) (e) Figure 3.2 - Représentation du taux de reconnaissance relatif aux bases Spectif heart, Monks-1, Monks-2, Monks-3, Ionosphere en fonction des valeurs de Q et . (a) 69 Optimisation de la séparabilité interclasses de la machine SVDD (b) (c) (d) (e) 70 Optimisation de la séparabilité interclasses de la machine SVDD (f) (g) (h) (i) 71 Optimisation de la séparabilité interclasses de la machine SVDD (j) (k) (l) Figure 3.3 - Représentation du taux de reconnaissance et de l’écart type relatifs aux bases standards en fonction des valeurs de Q et . L’analyse du taux de reconnaissance moyen pour les jeux de données d'entraînement et de test nous mène à organiser les résultats en trois groupes : Le premier groupe contient 12 jeux de données (SPECTF Heart, Monks-1, Monks-2, Monks-3, Ionosphere, Iris, Glass, Liver Disorders, Connectionist Bench, Wine, Haberman et Breast Cancer Wisconsin), les résultats obtenus montrent que : 72 Optimisation de la séparabilité interclasses de la machine SVDD − Pour l'ensemble de données d’entrainement, on observe généralement que le taux de reconnaissance commence par une valeur maximale de 100% (le sur-apprentissage) et diminue au fur et à mesure que la valeur de Q augmente, sauf pour les deux bases d’apprentissage Iris et SPECTF Heart où le taux de reconnaissance reste égal à 100 % quelque soit la valeur de Q. On constate aussi que le taux de reconnaissance relatif à la nouvelle approche est le même ou meilleur que celui du SVDD conventionnel. − Pour l'ensemble de données de test, on remarque que : En général, le taux de reconnaissance s’améliore au fur et à mesure que la valeur de σ augmente jusqu'à un taux maximal pour chacune des bases : SPECTF Heart (58%), Monks-1(64%), Monks-2 (60%), Monks-3(75%), Ionosphere(65%), Iris(68%), Glass(40%), Liver Disorders (25%), Connectionist Bench (52%), Wine (60%), Haberman (33%) et Breast Cancer Wisconsin (20%). On remarque aussi que le taux de reconnaissance de la nouvelle méthode, pour les différentes valeurs du paramètre . est meilleur que celui du SVDD conventionnel quelque soit la valeur deQ. Par exemple dans le cas de la base de test Monk-2 avec Q = 1.6 le taux de reconnaissance est de l’ordre de 58% pour . = 0.2, 59% pour . = 0.6 et 60% pour . = 0.9 et qui reste supérieur à 57% donné par SVDD conventionnel. Le second groupe contient trois jeux de données (Ecoli, Balance Scale et Vertebral Column), les résultats obtenus montrent que : − Pour l'ensemble de données d’entrainement, on constate que la méthode proposée commence avec les mêmes performances que SVDD conventionnel. Au delà de certaines valeurs deQ qui sont égales à 0.23, 0.8 et 8 et qui correspondent respectivement aux bases Ecoli, Balance Scale et Vertebral Column le taux de reconnaissance relatif à notre approche se dégrade plus que celui donné par SVDD conventionnel, − Pour l'ensemble de données de test, on remarque que l'approche proposée dépasse SVDD conventionnel et donne des taux de reconnaissance qui sont égaux à 39%, 33% et 60% contre 38%, 30%, et 58%. Ce qui indique la bonne capacité de généralisation de notre méthode. Le troisième groupe contient Teaching Assistant Evaluation et Seeds. Nous remarquons que le taux de reconnaissance obtenu par notre approche est relativement inférieur à celui produit par le SVDD conventionnel. En observant les résultats obtenus, il apparaît que dans la majorité des cas la méthode proposée dépasse le SVDD conventionnel en termes d’amélioration du taux de reconnaissance et de la capacité de généralisation. 3.3. Contrôle des volumes des sphères minimales Le principe du classifieur SVDD est d’englober le plus possible de données positives dans une hypersphère minimale de centre et de rayon • tout en rejetant le maximum de données 73 Optimisation de la séparabilité interclasses de la machine SVDD négatives à l’extérieur de cette hypersphère. Cette méthode automatique ne permet pas d’ajuster le volume de l’hypersphère construite par ledit classifieur et par conséquent de contrôler la frontière de décision entre les classes. On vise à offrir cette possibilité d’ajustement, en introduisant dans le SVDD conventionnel un paramètre appelé positif et non nul, son rôle est de contrôler le volume de l’hypersphère minimale, en cherchant un compromis entre l’acceptation des données positives, et le rejet de celles négatives [177]. 3.3.1. Introduction d’un paramètre de contrôle des volumes des sphères minimales Pour formaliser mathématiquement la méthode proposée, nous devons réécrire le problème d’optimisation quadratique en introduisant le paramètre dans les contraintes. Pour simplifier les calculs on adopte la même méthode mathématique utilisée pour les SVMs [114] [115]. Etant donné un ensemble de couples ^ (donnée, étiquette) de taille O défini comme , … ` , ` , avec ∈ ℝ© et = 1 pour les données positives, et = −1 pour les données négatives. On cherche l’hypersphère minimale de centre et de rayon•, respectant les contraintes suivantes : ^= ‖ ‖ − ‖F ≤ • F − . + · # ∈ 1, . . , O .0‡ − ‖F ≥ • F − . − · # ∈ 1, . . , O .0‡ = +1 3.17 = −1 3.18 Pour résoudre ce problème d’optimisation on introduit le Lagrangien: y •, ·, = •F + ` ` T· −To U U •F − ‖ − ‖F − . ` − T · P 3.19 U Les coefficientso# ≥ 0 et P ≥ 0 sont des multiplicateurs de Lagrange, un paramètre qui permet de régler le taux d’erreur admissible dans la solution, et ∑`U · est le terme de pénalité. Pour minimisery, on annule ses dérivées partielles par rapport à•, , · : Ây = 0 ⇒ To • ` U = 1 3.20 Ây = 0 ⇒ = To 3.21  U Ây = 0 ⇒ o = − P 3.22 · ` La forme duale du problème d’optimisation est : 74 Optimisation de la séparabilité interclasses de la machine SVDD O O ]> #B#"0A ∶ y o = − T T o o # W [ [ #=1 W=1 # W # W "'-"b0"‡'&nA #&n0" \ [ [ Z O 0 ≤ o# ≤ 0n T o# #=1 # O + T o# • #=1 = 1 # # # + Ž 3.23 ( Dans le cas d’un problème multi-classes, afin de classifier un objet », on vérifie s’il est à l’intérieur de l’hypersphère , • associée à la classe k [51] [52] [58] [59] et construite durant la phase d’apprentissage. La fonction de décision est donnée par : » = ")& •F − ‖» − ‖F 3.24 Avec • est le rayon de la classe X, tel que : •F = ‖ • = F 8 8 − 8. 8 ‖F + ` − 2T SU 8. 3.25 S 8 S oS ` ` + TT U SU S So oS + 8. 3.26 ∈ ^Ù, 8 ∈ −1,1 ,^Ù est l’ensemble des vecteurs de support ayant 0 < α < sont respectivement le rayon et le centre de la X éY< classe. , • et Si l’évaluation de cette fonction est positive pour la kéme classe et négative pour toutes les autres on conclut que » appartient à la classe X. Afin de visualiser l’effet du paramètre , on applique la méthode proposée sur un jeu de données artificielles contenant deux classes (Figure 3.4), en utilisant deux noyaux (polynomial et Gaussien) paramétrés respectivement par ˆ et Q. La constante prend la valeur 1000. Dans chaque test on fixe la valeur de ˆ ou Q, et on augmente progressivement la valeur de en commençant par la valeur 0 qui coïncide avec le cas du SVDD conventionnel. Dans la figure 3.4 les couches colorées en niveau de gris du blanc au noir correspondent à l’augmentation de . Les valeurs de relatives à chaque couche sont indiquées sur le tableau (3.1). On observe que les couches générées suivent la forme de la distribution des données de chaque classe. Pour le noyau RBF une petite modification de produit l’apparition de nouvelles couches, contrairement au noyau polynomial. On remarque aussi que, quand prend de grandes valeurs les couches relatives aux classes peuvent chevaucher se qui provoque des conflits de frontières entre les classes. 75 Optimisation de la séparabilité interclasses de la machine SVDD Figure 3.4 - Résultats de la classification d’un jeu de données par SVDD en contrôlant les volumes des hypersphères Table 3.1 - Les valeurs prises par le paramètre p en fonction du noyau utilisé Type du noyau Les valeurs de p σ=1 0.00 0.02 0.04 0.06 0.08 1.00 Gaussian σ=1.5 0.00 0.02 0.04 0.06 0.08 1.00 σ=2 0.00 0.02 0.04 0.06 0.08 1.00 d=1 0.00 0.10 0.20 0.30 0.40 0.50 Polynomial d=2 d=3 0.00 0.00 150 1.103 300 5.103 450 1.104 600 5.104 750 1.105 3.3.2. Résultats obtenus sur des bases de référence Pour montrer la pertinence de notre approche, on considère sept bases de données standards [75] : Monks-1, Monks-2, Monks-3, Iris flowers, Wine, Glass et Ecoli. Les résultats de la classification sont présentés dans les figures (3.5) et (3.6). Dans toutes les expériences on fixe C à 1000, on utilise un noyau RBF et on calcule le taux de reconnaissance pour les données d’entrainement et de test. Pour évaluer la moyenne et l’écart type on répète l’expérience 20 fois avec les mêmes valeurs des paramètres p et σ. 76 Optimisation de la séparabilité interclasses de la machine SVDD Les étapes de l’évaluation de la méthode SVDD basée sur le contrôle des volumes des sphères minimales. 1. 2. Sélection d'une base de données parmi : Monks-1, Monks-2, Monks-3, Iris, Wine, Glass, Ecoli. Génération de deux ensembles finis de valeurs réelles représentant respectivement le domaine de variation de et celui de Q. , Q à partir de ces deux ensembles. 3. Choix d’un couple de valeurs 4. Décomposition aléatoire de la base de données en deux sous ensembles d'entrainement (80%) et de test (20%) (voir annexe). 5. Apprentissage par SVDD (les deux versions : SVDD conventionnel et SVDD proposé). 6. Calcul du taux de reconnaissance pour les deux sous ensembles. Pour évaluer la moyenne et l’écart type l’expérience sera répétée 20 fois depuis la quatrième étape. 7. Répétition depuis la troisième étape pour d’autres couples ,Q . Figure 3.5 - Représentation du taux de reconnaissance relatif aux bases Monks1, Monks-2, Monks-3 en fonction des valeurs de Q et 77 Optimisation de la séparabilité interclasses de la machine SVDD Figure 3.6 - Représentation du taux de reconnaissance et de l’écart type relatifs aux bases Iris, Wine, Glass, et Ecoli en fonction des valeurs de Q et Les résultats de la classification des bases d’entrainement de Monks-1, Monks-2, Monks-3, Iris, Wine, Glass, et Ecoli ne sont pas représentés graphiquement car ils donnent tous le même résultat (100%). Les résultats des sept expériences montrent que : - - Pour une valeur fixe de : lorsque la valeur de Q augmente, le taux de reconnaissance augmente aussi jusqu’à une valeur maximale pour chacune des bases : Monks-1(92%), Monks-2(81%), Monks-3(91%), Iris(92%), Wine(85%), Ecoli (59%) et Glass (56%). Pour une valeur fixe de Q : le taux de reconnaissance augmente avec . Par exemple dans le cas de la base Monk-3 avec Q =1.5 le taux de reconnaissance atteint 82%, 89% et 90% pour des valeurs de égales à 0.03, 0.06 et 0.10. Les expériences effectuées ont montré que l’approche proposée améliore considérablement la capacité de généralisation du classifieur SVDD. 78 Optimisation de la séparabilité interclasses de la machine SVDD 3.4. SVDD avec une fonction de décision floue 3.4.1. Les fonctions de décision floues Le principe de SVDD est d’englober le plus possible des données positives dans une hypersphère minimale de centre et de rayon • tout en rejetant le maximum des données négatives à l’extérieur de cette hypersphère. Dans un problème multi-classes les hypersphères peuvent chevaucher, et par conséquent conduire à un problème d’appartenance simultanée à plusieurs classes, lors de la classification d’un nouvel élément se trouvant dans le volume d’intersection. Pour remédier à ce problème, nous proposons une fonction de décision permettant d’affecter cet élément à une classe convenable, en quantifiant son degré d’appartenance [61] [92] [234]. Cette fonction n'est utilisée que dans les régions d’intersection entre les hypersphères, et peut être évaluée implicitement dans un espace de caractéristiques via des fonctions noyaux. Afin d’élaborer la nouvelle fonction de décision, on s’est inspiré de la notion de l’appartenance floue [92], qui vise à améliorer l’efficacité de la classification. Dans ce contexte Lin et Wang [93] ont proposé un prototype de SVM floue, où l'on affecte à chaque donnée un degré d'appartenance à une classe. Abe et al. ont étudié les régions d’intersection [95] [96] existantes dans les SVMs multi-classes et ont introduit des fonctions d'appartenance floue. 3.4.2. Les séparateurs à vaste marges floues On se basant sur la théorie classique des séparateurs à vaste marge (SVMs), C.F Lin et S.D Wang [93] ont proposé le modèle flou des SVMs (FSVMs). Dans sa version classique, chaque échantillon est traité équitablement, c.-à-d. : chaque donnée est affectée entièrement à une des deux classes. Cependant, dans plusieurs applications quelques éléments ne sont pas affectés totalement à une des deux classes, et chaque point ne contribue pas de la même façon à la construction des frontières de décision. Pour résoudre ce problème, une appartenance floue de chaque exemple de la SVMs a été introduite [93]: On suppose que l’ensemble des données d’apprentissage est : ^= , , " , # = 1, … , O Tel que ∈ ℝ© , ∈ −1, +1 est l’étiquette de et si est son degré d’appartenance satisfaisant la condition Q ≤ " ≤ 1 , avec Q est une constante positive non nul et suffisamment petite. L’ensemble ^ peut se décomposer en deux classes à et 1 [91] : à = / ∈ ^0n = +1 0n 1 = / ∈ ^0n = −1 79 Optimisation de la séparabilité interclasses de la machine SVDD Dans le cas linéaire, Chun-Fu et al. [93] ont proposé un degré d’appartenance flou qui peut être écrit sous la forme: 1− ‖ " =Ä ‖ 1− ‖ à− Aà + ‖ 1− A1 + "# "# ∈ ∈ à 1 ( 3.27 est une constante, suffisamment petite, et strictement positive pour éviter le cas si = 0, à et à et 1 , A à et A 1 sont respectivement les 1 sont respectivement les centres des deux classes à 1 rayons des deux classes et . Les rayons sont donnés par les équations suivantes : Où A à = B ‖ à − ‖ .0‡ ∈ à 0n 3.28 A 1 = B ‖ − ‖ .0‡ ∈ 1 1 Dans le cas non linéaire, Xiufeng et al. [91] ont suggéré une extension des " dans un espace de caractéristiques défini comme suit: Soit ù la fonction de projection de l’espace d’origine vers l’espace de caractéristiques, ùà et ù1 sont respectivement les centres des classes à et 1 dans l’espace des caractéristiques [91]: ùà = 1 T ù &à ‰ ∈C 0n 3.29 1 ù1 = T ù &1 ‰ ∈C Où n+ et n- représentent respectivement le nombre des éléments existants dans les classes 1 . Le rayon de Aà = B à AàF = B Le rayon de A1 = B A1F = B 1 à et peut être écrit sous la forme : ‖ùà − ù |X , ‖ .0‡ − ∈ à 2 1 T X• , S Ž + F T &à &à 2è ∈C 2è ∈C T X• S , 2D ∈C Ž .0‡ ∈ à 3.30 est d’une façon similaire défini par : ‖Φ1 − Φ x ‖ .0‡ |X , − ∈ 2 T X• , &1 2è ∈C 1 SŽ + 1 T &F1 2è ∈C T X 2D ∈C S, .0‡ ∈ Le carré de la distance entre un élément ∈ à et le centre de la classe caractéristiques est donné par la formule suivante : 1 3.31 à dans l’espace des 80 Optimisation de la séparabilité interclasses de la machine SVDD ˆ Fà = ‖ù ˆFà = X , − ùà ‖F − 2 T X &à 2è ∈C , S + 1 T &Fà 2è ∈C T X 2D ∈C S, Par analogie, le carrée de la distance entre un élément l’espace des caractéristiques se calcule comme suit: ˆ F1 = ‖Φ ˆ F1 = X , − Φ 1 ‖F − 2 T X &1 2è ∈C , S + 1 T &F1 2è ∈C T X 2D ∈C 3.32 ∈ S, 1 et le centre de la classe 3.33 1 dans Finalement, le degré d’appartenance " dans l’espace de caractéristiques peut être écrit sous la forme [91]: " = ]1 − òˆ Fà ò⁄ AàF + \ 1 − òˆ F1 ò⁄ A1F + Z "# "# = +1 = −1 ( 3.34 3.4.3. Exploitation de l’appartenance floue dans le SVDD On propose de bénéficier de la fonction d’appartenance floue décrite précédemment, qui améliore la performance des SVMs [91] [93] [97], en l’utilisant comme une nouvelle fonction de décision pour SVDD. Le centre et le rayon dont il dépend cette fonction sont déterminés en résolvant le Lagrangien (2.65), contrairement au FSVM qui les calcule en utilisant respectivement le centre de gravité de la classe et la distance maximale entre les données d’apprentissage et ledit centre. Dans le cas linéaire la fonction proposée peut être écrite sous la forme: " =1− ‖» − ‖ 3.35 A + Dans le cas non linéaire la fonction de décision est la suivante: " =1−Ÿ Où ‖» − ‖» − ‖F 3.36 A F+ est une constante, suffisamment petite, et strictement positive pour éviter le cas " = 0 . ‖ et A sont définis respectivement par les équations (2.71) et (2.72). 81 Optimisation de la séparabilité interclasses de la machine SVDD Après avoir évalué les fonctions d’appartenance pour toutes les hypersphères dont » existe simultanément, » est affecté à la classe qui vérifie : A)B " 3.37 Afin de visualiser le résultat de la classification par la méthode proposée, on exécute SVDD sur deux classes, dont les données sont distribuées aléatoirement. Les fonctions noyaux employées sont : le produit scalaire, le noyau gaussian avec Q = 2 , et le noyau polynomial avec = 2. Les deux paramètres et F sont fixés à 100. On remarque dans la figure 3.7 que la fonction de décision standard, ne permet pas d’identifier les éléments se trouvant dans l’intersection des deux classes (couleur bleu). L’utilisation de la fonction de décision floue permet de classer les données se trouvant dans cet espace, en les affectant à des classes convenables. Figure 3.7 - Résultat de la classification d’un jeu de données artificielles par les deux fonctions de décision standard et floue 3.4.4. Résultats obtenus sur des bases standards Afin de tester la performance de notre approche en terme du taux de bonne classification, nous avons procédé à un ensemble d’expériences sur des jeux de données standard [75]. Six bases de données de référence ont été choisies, qui sont : Monks-1, Monks-2, Monks-3, Iris flowers, Wine, et Glass. Les résultats de la classification sont représentés dans les figures (3.8) et (3.9). 82 Optimisation de la séparabilité interclasses de la machine SVDD Dans toutes les expériences on fixe = 100 , on utilise un noyau RBF et on adopte l’approche un contre tous pour la décomposition multi-classes. On calcule le taux de reconnaissance pour les données d’entrainement et de test. Pour évaluer la moyenne et l’écart type on répète l’expérience 20 fois avec la même valeur du paramètre Q. Les étapes de l’évaluation de la méthode SVDD avec une fonction de décision floue 1. Sélection d'une base de données parmi : Monks-1, Monks-2, Monks-3, Iris, Wine, Glass. 2. Génération d’un ensemble fini de valeurs réelles représentant le domaine de variation deQ. 3. 4. Affectation d’une valeur au paramètre Q à partir de cet ensemble. Décomposition aléatoire de la base de données en deux sous ensembles d'entrainement (80%) et de test (20%) (voir annexe). 5. Apprentissage par SVDD. 6. Calcul du taux de reconnaissance pour les deux sous ensembles en utilisant les deux fonctions de décision (standard et floue). Pour évaluer la moyenne et l’écart type l’expérience sera répétée 20 fois depuis la quatrième étape. 7. Répétition depuis la troisième étape pour d’autres valeurs de Q. 83 Optimisation de la séparabilité interclasses de la machine SVDD Figure 3.8 - Représentation du taux de reconnaissance relatif aux bases Monks-1, Monks-2, Monks-3 en fonction des valeurs de σ pour les deux fonctions de décision standard et floue Figure 3.9 - Représentation du taux de reconnaissance et de l’écart type pour les bases Iris, Glass, Wine en fonction des valeurs de Q pour les deux fonctions de décision standard et floue 84 Optimisation de la séparabilité interclasses de la machine SVDD Les deux figures (3.8) et (3.9) montrent que : − Pour les bases d’entrainement : les deux fonctions de décision commencent avec des taux de reconnaissance élevés qui arrivent approximativement à 100%, ce taux diminue avec l’augmentation de Q. − Pour les bases de test : l’utilisation de la fonction de décision floue avec le classifieur SVDD a permet d’améliorer nettement le taux de reconnaissance relatif aux bases Iris, Monks-1, Monks-2, Monks-3, Wine, et Glass qui atteint respectivement 88%, 72%, 59% 76%, 73%, et 45%. Par contre l’emploi de la fonction de décision standard a donné pour les mêmes bases et dans le même ordre les taux maximums suivants : 71%, 63%, 55%, 74%, 43%, et 38%. Généralement, on observe que l'écart-type relatif à la nouvelle fonction de décision est inférieur à celui de la fonction de décision standard. A partir de ces expériences on peut conclure que l’utilisation de la fonction de décision floue améliore considérablement la capacité de généralisation du SVDD quelque soit la valeur de la largeur du noyau gaussien. 3.5. Conclusion Nous avons présenté dans ce chapitre nos approches qui ont pour objectif l’amélioration du classifieur SVDD, par l’optimisation de la séparabilité interclasses. Cet objectif a été atteint de trois façons différentes à savoir la maximisation de la séparabilité entre les sphères minimales, l’ajustement des volumes des sphères minimales, et l’introduction d’une nouvelle fonction de décision floue. Au cours de ce chapitre nous avons introduit une revue de littérature approfondie relative à chaque méthode, nous avons étudié et modélisé mathématiquement chaque approche proposée, et nous avons dressé un protocole expérimental réalisé sur des jeux de données artificielles. Par ailleurs, pour évaluer la performance de classification des méthodes proposées nous avons procédé à des tests sur des bases de référence. Les résultats expérimentaux ont prouvé que les solutions proposées sont efficaces et performantes en termes de taux de bonne classification. 85 Chapitre IV Paramétrage optimal caractéristiques. de l’espace des 4.1. Introduction Ce chapitre présente trois nouvelles méthodes destinées à l’amélioration du classifieur Support Vector Domain Description (SVDD), les deux premières ont pour objectif le paramétrage optimal de l’espace de caractéristiques engendré par un noyau gaussien, leur fondement mathématique est basé sur le principe de la discrimination (la maximisation de la dispersion interclasses et la minimisation simultanée de la dispersion intraclasses) dans l’espace de caractéristiques, ce qui permet de bien séparer des classes différentes, et par conséquent offrir 86 Paramétrage optimal de l’espace des caractéristiques. à SVDD une représentation adéquate des données. La troisième approche vise à remédier au problème des données incertaines (bruitées, aberrantes, etc.) qui faussent la surface de séparation entre les classes et qui produisent des erreurs de classification. La résolution de ce problème est effectuée en introduisant des coefficients de confiance permettant de mesurer le degré d’appartenance de chaque donnée à une des classes. 4.2. Largeur optimale du noyau Gaussien et séparabilité interclasses 4.2.1. Problème du choix des paramètres de la fonction noyau La description de la classe cible dans le SVDD est donnée par une hypersphère dont le volume est minimum contenant la plupart des données positives, et rejetant le maximum des données négatives. Ceci ne peut se faire sans la possibilité de transformer implicitement l'espace de représentation des données en un espace des caractéristiques dont la dimension est plus grande en utilisant les fonctions noyaux [65, 66]. Cependant, il n'existe pas de méthodes théoriques exactes pour déterminer une fonction noyau appropriée. En plus, il n'y a pas de moyen pour la sélection d’une valeur adéquate du (des) paramètre (s) du noyau. Par conséquent, le choix d'un noyau et/ou ces paramètres, qui est un problème de sélection de modèle [67], est essentiel pour assurer une bonne performance puisque la structure géométrique des échantillons dans l’espace des caractéristiques est déterminée par le noyau sélectionné. L'approche la plus commune et fiable pour la sélection des paramètres d’un noyau est de décider sur une série de paramètres, puis de faire une grille de recherche exhaustive [68] [69] sur cette série pour trouver le meilleur réglage. Toutefois, ce type de recherche est local et sujette à un optimum local. En outre, le réglage de l'intervalle de recherche est un problème. Un intervalle de recherche trop large gaspille le temps de calcul, alors qu’un intervalle de recherche trop petit pourrait rendre le résultat insatisfaisant. A côté de cette technique de la grille de recherche communément adoptée, d'autres techniques sont utilisées dans les SVMs pour la recherche des paramètres du noyau, ces techniques peuvent être classées en deux modèles "Filter" et "Wrapper". Les modèles dits "Filter" [70] utilisent des techniques statistiques, comme l'analyse en composantes principales (ACP), l'analyse factorielle (FA), l'analyse en composantes indépendantes (ICA), et l'analyse discriminante (DA). D’autres méthodes ont été développées en se basant principalement sur les distances et les mesures de l'information. Chen et Hsieh [71] ont présenté l’analyse sémantique latente (LSA), Gold et al. [72] ont développé une approche bayésienne pour régler les valeurs des hyper-paramètres des SVMs. Chapelle et al. [73] ont proposé un réglage automatique des paramètres multiples en appliquant l’ACP, Glasmachers et al. [76] ont utilisé le rapport rayon-marge comme critère pour régler les paramètres du noyau des SVMs. Xiong et al. [ 77 ] ont proposé d'optimiser une fonction noyau en maximisant une mesure de séparabilité des classes définie comme le rapport entre la trace de la matrice de dispersion interclasses et la trace de la matrice de dispersion intraclasses, qui correspond au critère de séparabilité J4 [78] . Jie Wang et al. [79] ont proposé un algorithme d'optimisation du noyau en 87 Paramétrage optimal de l’espace des caractéristiques. maximisant le critère de séparabilité des classes J1 [ 78 ] , défini comme étant la trace du rapport entre la matrice de dispersion interclasses et la matrice de dispersion intraclasse, ce qui est équivalent au critère utilisé dans l'analyse discriminante de Fisher [13] [78][80]. Les modèles dits ‘Wrapper’ [74] explorent l'espace des caractéristiques afin de trouver un sous-ensemble optimal de paramètres. Ces modèles appliquent souvent des approches métaheuristiques pour aider à la recherche de l’espace de caractéristiques adéquat. Bien que les approches méta-heuristiques soient lentes, elles produisent des résultats acceptables. 4.2.2. Formulation mathématique L’objectif de SVDD est de trouver une hypersphère dont le rayon est minimal contenant la plupart des éléments de la classe positive et excluant la majorité des éléments de la classe négative. On peut remarquer aisément que l’utilisation de cette technique deviendra plus efficace si les éléments de la classe positive sont proches entre eux, et en même temps les éléments de la classe négative sont loin de ceux de la classe positive. Notre approche consiste à trouver un espace de caractéristiques engendré par un noyau RBF dans lequel ces conditions soient vérifiées [101]. Pour que les éléments de la classe positive soient proches entre eux, on minimise la variance intraclasses définie comme : . A1 = 1 T Tòù 2O O − 1 ` ` − ù• S Žò 4.1 F S Pour que les éléments de la classe négative soient éloignés de ceux de la classe positive, on maximise simultanément la variance interclasses définie comme : 1 . Aà = T T‖ù O> ` ? −ù ¨ ¨ ‖F 4.2 Dans les deux équations (4.1) et (4.2) les éléments de la classe positive sont numérotés par les indices # et W et les éléments de la classe négative sont numérotés par l’indiceb. O et > correspondent respectivement au nombre total des éléments de la classe positive et le nombre total des éléments de la classe négative. Pour satisfaire les deux contraintes associées aux deux termes (4.1) et (4.2) simultanément, on maximise la formule suivante: Q = o. . Aà − . . A1 o = T T‖Φ O> ` ? ¨ −Φ ¨ ‖F − 2O O − 1 ` ` T TòΦ S − Φ• S Žò 4.3 F 88 Paramétrage optimal de l’espace des caractéristiques. Le rôle des deux paramètres α et β est de régler le compromis entre la maximisation du premier terme et la minimisation du second, de l’équation (4.3). En introduisant le noyau RBF, l’équation (4.3) devient: Q =2 ) Q = ` ? o T T ´1 − 0 O> ` ¨ ? ‖ o Q = −2 TT´ O> ÂQ La maximisation de ¨ ³ −‖ − ¨ ‖F 0 Q‘ ` ` − ¨ ‖F ¶µ − T T w1 − 0 2Q F O O−1 ³ −‖ S ` ` ò − ¨ ‖F ¶µ + TTw 2Q F O O−1 S ¼ −ò − Sò ½x 4.4 2Q F F − Sò 0 Q‘ F ¼ −ò − Sò ½x 4.5 2Q F F Q est effectuée par l’algorithme classique de la descente du gradient. 4.2.3. Résultats obtenus sur des bases standards Afin de tester l’efficacité de l'algorithme proposé, on analyse le taux de reconnaissance obtenu sur 6 bases standards [75], qui sont : Monks-1, Monks-2, Monks-3, Iris flowers, Wine et Glass. Dans toutes les expériences on fixe = 1000, on utilise un noyau RBF, on adopte l’approche un contre tous. On calcule le taux de reconnaissance pour les données d’entrainement et de test. Pour évaluer la moyenne et l’écart type on répète l’expérience 20 fois avec les même valeurs des paramètres o et . Les étapes de l’évaluation de la méthode SVDD avec noyau gaussien de largeur optimale(1) 1. Sélection d’une base de données parmi : Monks-1, Monks-2, Monks-3, Iris, Wine et Glass. 2. Décomposition aléatoire de la base de données en deux sous ensembles d'entrainement (80%) et de test (20%) (voir annexe). 3. Recherche des valeurs de Q : Après avoir fixé les valeurs de o et , on lance l’algorithme de descente de gradient pour trouver la valeur optimale de Q pour chaque classe ; 4. Apprentissage par SVDD : L’exécution de l’algorithme SVDD avec un noyau RBF dont le paramètre Q est celui calculé dans l’étape précédente ; 5. Evaluation du taux de reconnaissance. Pour prouver l’efficacité de notre méthode on exécute l’algorithme SVDD sur les bases de données Monks-1, Monks-2 et Monks-3 en utilisant un ensemble de valeurs discrètes de Q etQF , après on trace la variation du taux de reconnaissance en fonction de Q et QF , chaque Q est associée à la iéme classe de la base de données. 89 Paramétrage optimal de l’espace des caractéristiques. Table 4.1 - Taux de reconnaissance (%) pour les différentes bases de données, en utilisant les valeurs optimales de σ Jeux de données α β Monks-1 0.48 Monks-2 σ3 σ4 σ2 1.00 2.07 5.45 100 83.10 0.53 1.00 0.53 1.01 100 66.07 Monks-3 0.46 1.00 2.54 2.11 100 80.33 Iris 0.49 1.00 1.47 1.32 1.81 100 90.00 Wine 0.70 1.00 214.98 153.23 123.90 100 82.35 Glass 0.80 1.00 0.42 0.55 0.48 100 55.00 0.01 σ6 Taux de reconnaissance en % Pour l’ensemble de test σ1 1.56 σ5 Taux de reconnaissance en % pour l’ensemble d’entrainement 1.48 90 Paramétrage optimal de l’espace des caractéristiques. Figure 4.1 - Taux de reconnaissance de l’ensemble d’entrainement et l’ensemble de test, relatifs aux bases de données Monks-1, Monks-2, Monks-3, en fonction des valeurs de σ1 et σ2 Le tableau 4.1 montre les valeurs choisies pour les deux paramètres o et , les Q optimales des noyaux RBF calculées par la méthode proposée, et les taux de reconnaissance des ensembles d’entrainement et de test obtenus par le classifieur SVDD. D’après ce tableau on remarque que : - Le taux de reconnaissance pour les six ensembles d’entrainement est égal à 100%, ce qui signifie que lesdits ensembles ont été projetés dans un espace de caractéristiques convenable, par conséquent la méthode proposée génère de bonnes valeurs deQ. - Le taux de reconnaissance pour les six ensembles de test, diffère d’un ensemble à l’autre, il dépasse 80% pour les jeux de données Monks-1, Monks-3, Iris et Wine, il est égal à 66.07% pour Monks-2 et 55% pour Glass. Généralement, ces résultats montrent que l’exécution du classifieur SVDD avec les Q optimales produit une bonne capacité de généralisation. La figure 4.1 représente la variation du taux de reconnaissance des jeux de données : Monks-1, Monks-2, et Monks-3, selon les couples Q , QF qui varie dans l’ensemble 0.4,0.8, . . ,4 e 0.4,0.8, . . ,4 . L’objectif derrière cette expérience est la recherche exhaustive des valeurs optimales des paramètres Q , QF qui donnent les meilleurs taux de reconnaissance obtenus par le classifieur SVDD. D’après la figure on observe que : - Les taux de reconnaissance des bases d’entrainement Monks-1, Monks-2, et Monks-3 varient respectivement dans les intervalles [93%, 100%], [78%, 100%] et [99.2%, 100%]. Les différences constatées entre les bornes de chaque intervalle montrent que les taux de reconnaissance sont instables et dépendent des valeurs prises par Q et QF . Par contre, le taux de reconnaissance obtenu par notre approche est de 100% pour les trois bases. - Le taux de reconnaissance des bases de test : Monks-1, Monks-2, et Monks-3 varient respectivement dans les intervalles [30%, 90%], [40%, 76.5%] et [30%, 88%]. Malgré que la borne supérieure des intervalles dépasse les résultats obtenus par la méthode 91 Paramétrage optimal de l’espace des caractéristiques. proposée et qui sont : 83,10% 66,07% et 80,33% cette méthode souffre d’une grande variance, traduite par la grande différence entre les bornes minimum et maximum de chaque intervalle. La réalisation d’expérience de la grille de recherche a demandé beaucoup de ressource CPU à cause de l’exécution répétitive du classifieur SVDD, qui demande la résolution d’un problème d’optimisation quadratique convexe sous contraintes, en outre l’intervalle {0.4, 0.8,…, 4} a été choisi à titre indicatif après avoir faire plusieurs tests sur d’autres intervalles. D’après les expériences et les constatations ci-dessus on conclut que la recherche du paramètre du noyau Gaussien par la méthode proposée offre des résultats satisfaisants en un temps de calcul raisonnable. 4.3. Largeur optimale intercentres du noyau Gaussien et distance Une fonction noyau correspond à un produit scalaire dans un espace de caractéristiques, souvent de grande dimension. Dans cet espace, manipulé implicitement, les méthodes linéaires peuvent être mises en œuvre pour y trouver des régularités linéaires, correspondant à des régularités non linéaires dans l’espace d’origine. Les méthodes à noyaux en particulier le SVDD, permettent de trouver des fonctions de décision non linéaires, en s’appuyant fondamentalement sur des méthodes linéaires. La performance des méthodes à noyau dépend essentiellement du réglage des paramètres utilisés [113], en particulier ceux du noyau. On propose une nouvelle approche pour la recherche automatique des valeurs optimales de ces paramètres [102]. Elle est utilisée dans le cas d’une classification binaire et est basée sur la maximisation de la distance entre les deux centres des classes opposées et la minimisation simultanée de la somme des deux variances intra-classes. 4.3.1. Capacité de généralisation d’un modèle La capacité de généralisation d'un modèle est son aptitude à prédire la classe d'un échantillon qui n’appartient pas à l’ensemble d’entrainement. De nombreux indices peuvent être utilisés pour évaluer la capacité de généralisation d’un modèle [7]. Par exemple, le processus d’entrainement par la grille de recherche utilise le taux de validation pour mesurer la capacité de généralisation d’un classifieur. Lorsque les données de validation ne sont pas disponibles, la validation croisée k-fold peut être utilisée pour estimer la fiabilité d’un modèle [68]. D'autres indices qui permettent d'estimer la capacité de généralisation peuvent être utilisés, par exemple Takahashi [99] a proposé le rapport entre le nombre de vecteurs de supports et les données d'apprentissage comme indice. Phetkaew [100] a suggéré d'utiliser la marge des SVMs pour identifier un mauvais classifieur, Wu et Wang [110] ont introduit un indice qui quantifie la séparation de deux classes dans l'espace de caractéristiques, cet indice est calculé à base de la distance inter-clusters qui a été utilisé par Bezdek et Pal [111]. Pour un problème de 92 Paramétrage optimal de l’espace des caractéristiques. classification non supervisée, Bezdek et Pal [111] ont introduit plusieurs mesures de distance inter-clusters , qui sont : eà , e1 = B#& ˆ eà , e1 = B F eà , e1 = ‘ ˆ à, 1 2 ∈ 2 ∈ à, 1 2 ∈ 2 ∈ 1 T ˆ bà b1 2 ∈ 2 ∈ à, 1 eà , e1 = ˆ ̅à , ̅1 = ˆ ³ eà , e1 = 1 æ T ˆ bà + b1 ∑2 2 ∈ 4.6 4.7 4.8 ∈ bà à , ̅1 à , ∑2 ∈ b1 + T ˆ 2 ∈ à ¶ 4.9 1 , ̅à é 4.10 Où eà et e1 sont respectivement la classe positive et celle négative, bà et b1 représentent les tailles respectives de eà et e1, ̅ à et ̅ 1 sont respectivement les centres de eà et e1. , F et ‘ sont la plus courte distance, la plus longue distance et la distance moyenne entre deux échantillons provenant de différentes classes. est la distance entre deux centres de classes, et est une combinaison de ‘ et . 4.3.2. Utilisation d’un nouveau indice de séparation Notre objectif est de trouver un espace de caractéristiques induit par un noyau gaussien, dans lequel les données de chaque classe sont bien séparées. Pour se faire, un nouvel indice de séparation basé sur et sur la variance intra-classes est introduit. Contrairement à l'approche mentionnée par K.P.Wu et S.D.Wang [7], qui utilise cet indice pour évaluer la capacité de généralisation, nous allons l’utiliser pour rechercher une valeur optimale du paramètre du noyau gaussien, en maximisant une fonction-objectif définie par l’équation suivante : 1 + Q = Tù O 1 − Tù > ` ? U U F − 1 æ F T Tòù O ` ` S 1 − ù• S Žò + F T T‖ù > F ? ? ¨ −ù ¨ ‖F é 4.11 β est un paramètre réel positif, utilisé pour contrôler les variances des deux classes. Après remplacement du produit scalaire par le noyau gaussien, et le développement de l'équation (4.11), on obtient le résultat suivant: 1ò 1 1+2 F á + Q = T T e OF ` ` S ò á 1‖ 1 2 − TTe F á O> ` ? ‖á 1‖ 1 1+2 + TTe F á F > ? ? ¨ ‖á −4 93 Paramétrage optimal de l’espace des caractéristiques. 1ò 1 1+2 F á = + 2. T T e æO OF `1 ` ò S á é− 1‖ 1 2 TTe F á O> ` ? ‖á + 1‖ 1 1+2 ¼> + 2. T T e F á F > ?1 ? ¨ ‖á ½ − 4 4.12 La dérivée de + Q par rapport à Q est définie par : 2 1+2 ˆ+ Q = ˆQ OF + 2 1+2 >F `1 ` æT T ?1 ? ¼T T ¨ S ‖ ò ‖ − S ò 1ò2‰ 12á èò 2 0 F! TT é− ‘ Q O> F á ` ? á − ‖F 1‖2‰ 12á D ‖ F! 0 Q‘ á "‖ − ¨ ‖F 1‖2D 12 F!á 0 ½ 4.13 Q‘ La valeur optimale du paramètre du noyau peut être obtenue par l’équation (4.14) : Q ∗ = A)B Q + Q Q + Ê 4.14 Le calcul de Q ∗ est effectué par la méthode du gradient, l'actualisation de Q pour minimiser la fonction-objectif + Q est donnée par : Où =Q ;à ; ˆ+ Î 4.15 ˆQ est le taux d'apprentissage, et & est le pas d'itération. La méthode proposée pour le calcul de Q ∗ se résume comme suit [102]: Algorithme proposé pour le calcul de Q optimale 1. 2. 3. 4. Choisir la valeur de . Régler le taux d’apprentissage , le nombre maximum d’itérationsO. Affecter à · une valeur positive suffisamment petite non nulle Initialiser le paramètre du noyau Q = Q Actualiser la valeur de Q si #Q ;à −Q ; ; â et l’indice de l’itération n = 0. en utilisant (4.15) # < · ou & ≥ O arrêter sinon, incrémenter n ← n+1, et aller à l’étape 3 Avant de procéder aux expériences sur des bases de données réelles, nous commençons par tester notre méthode sur deux ensembles artificiels; qui sont l’échiquier et la double spirale. On fixe la valeur de à 0.03, puis on calcule pour les deux bases la valeur optimale de la largeur du noyau Gaussien Q ∗ à l'aide de l’algorithme proposé, ensuite ces deux bases de données vont être classées par l’algorithme SVDD avec = 200 etQ = Q ∗ . On peut voir sur la figure 4.2 que les deux classes sont bien séparées. Plus précisément les éléments correspondant à la première classe apparaissent en blanc, tandis que ceux correspondant 94 Paramétrage optimal de l’espace des caractéristiques. à la deuxième classe apparaissent en gris. Nous remarquons également qu'il n'y a pas de chevauchement entre les deux classes, et la coloration suit la répartition des données. Cela montre que les données appartenant aux différentes classes sont projetéess avec succès dans un espac espace de caractéristiques approprié, ce qui indique implicitement le bon choix de la valeur de σ. Figure 4.2- Résultat de la classification par SVDD des deux jeux de données l’échiquier et le double-spirale, double avec σ optimalee 4.3.3. Résultats obtenus sur des bases standards Afin de tester l’efficacité de l'algorithme proposé, on analyse le taux de reconnaissance obtenu sur 6 jeux de données réelles réel [75], qui sont : Monks-1, Monks-2, 2, Monks-3, Monk Iris, Wine et Ionosphere. Dans toutes les expériences on fixe fixe = 1000 , on utilise un noyau RBF, et on adopte l’approche un contre tous. Onn calcule le taux de reconnaissance pour les données d’entrainement et de test. Pour évaluer la moyenne et l’écart type on répètee l’expérience 20 fois avec la même valeur du paramètre . Les étapes de l’évaluation de la méthode SVDD avec noyau gaussien de largeur optimale (2): (2) 1. Sélection d'une base de données parmi : Monks-1, Monks-2, Monks-3, Iris, Wine, Wine Ionosphere. 2. Décomposition aléatoire de la base de données en deux sous ensembles d'entrainement (80%) et de test (20%) (voir annexe). 3. 4. 5. Recherche de la valeur de Q : Après avoir fixé la valeur de , on lance l’algorithme proposé pour trouver la valeur optimale de Q pour chaque classe ; Apprentissage par SVDD avec un noyau RBF dont le paramètre Q est précédente ; celui calculé dans l’étape Calcul du taux de reconnaissance pour les deux sous ensembles. Pour évaluer la moyenne et l’écart type l’expérience sera répétée 20 fois depuis la deuxième étape. 95 Paramétrage optimal de l’espace des caractéristiques. Figure 4.3 - Représentation du taux de reconnaissance relatif aux bases Monks-1, Monks-2, Monks-3 et Ionosphere en fonction des valeurs de 96 Paramétrage optimal de l’espace des caractéristiques. Figure 4.4 - Représentation du taux de reconnaissance et de l’écart type pour les bases Iris et Wine en fonction des valeurs de Les figures (4.3) et (4.4) montrent la variation du taux de reconnaissance en fonction du paramètre pour les six bases d’apprentissage. On constate que : − Pour les bases d’entrainement le taux de reconnaissance est très satisfaisant (proche de 100%), ce qui prouve que la méthode proposée génère des valeurs optimales du paramètreQ, est par conséquent projette les données dans un espace de caractéristiques adéquat. − Pour les bases de test : Monks-1, Monks-2, Monks-3, et Ionosphere le taux de reconnaissance s’améliore au fur et à mesure que augmente jusqu'à des valeurs maximales correspondent respectivement aux : 90%, 65%, 86% et 74%. L’équation (4.11) montre que la croissance de favorise la contribution des variances intra-classes, d’où la nécessité de ce terme dans l’équation. Concernant les jeux de données Iris, et Wine on remarque que le taux de reconnaissance est élevé et quasiment stable et il dépasse 80%. En conclusion le bon réglage du paramètre permet de trouver des valeurs optimales de Q et par conséquent améliorer le taux de reconnaissance. 4.4. SVDD avec coefficients de confiance Une des hypothèses principales de l’algorithme SVDD est que les données de la base d’apprentissage sont indépendantes et identiquement distribuées, par conséquent elles sont 97 Paramétrage optimal de l’espace des caractéristiques. traitées équitablement, mais dans plusieurs applications réelles les données sont incertaines [194, 196, 211], parce qu’elles sont souvent sujettes au bruit, en plus des données aberrantes, qui sont mal classées. L’incertitude dans la collection des données peut être dûe aux erreurs d’échantillonnage, aux erreurs de modélisation, à l’imperfection des instruments servant à la collecte des données, à la confusion dûe à l’incomplétude des données,…etc. L’existence des données incertaines fausse la surface de séparation entre les classes ce qui produit des erreurs de classification. L’influence des données incertaines peut être réduite partiellement en choisissant un bon compromis entre les erreurs de classification et la minimisation du volume de l’hypersphère construite par SVDD. Ce compromis est traduit dans le classifieur SVDD par le réglage optimal d’un paramètre de régularisation appelé . Une grande valeur de ce dernier impose une grande pénalité sur les erreurs d’entrainement et donc réduit le nombre de données mal classées, et produit une région de séparation étroite. Par contre, une petite valeur de génère plus de données mal classées et donc une large marge [105]. Plusieurs approches ont été introduites pour réduire plus efficacement l’effet des données incertaines. Lin et al. [8] [93] ont proposé les SVMs avec une fonction d’appartenance floue qui assigne un poids à chaque exemple de la base d’apprentissage, Xiufeng Jiang et al. [91] ont généralisé cette fonction floue en calculant sa valeur dans l’espace des caractéristiques à l’aide des fonctions noyaux. Chu et Wu [200] ont présenté deux nouvelles méthodes pour calculer la fonction d’appartenance on se basant sur la distribution géométrique des données d’entrainement. Wang et al. [107] ont traité chaque exemple de la base d’apprentissage comme donnée des deux classes positive et négative et introduit des coefficients de confiance basés sur les erreurs de pondération bilatérale, ces coefficients expriment l’importance de chaque donnée dans un problème de classification. Dans des travaux différents de Jayadeva et al. [201] et, Wang et Chiang, [106] on trouve une fonction d’appartenance basée sur des mesures de similarité dans des données multi-catégories. Une nouvelle technique a été proposée par Bo Liu et al. [196] pour évaluer les coefficients de confiance du classifieur SVDD, elle utilise la distance entre les données et le centre de leurs classes. Myungraee Cha et al. [204] ont assigné des poids aux échantillons d’apprentissage en considérant la densité de distribution des données calculée par l’algorithme des k plus proche voisins. Dans cette optique, nous avons proposé une nouvelle méthode pour générer les coefficients de confiance [104]. Cette méthode est basée sur l’algorithme des k plus proche voisins k-ppv. Notre approche opère en deux étapes [204]. Tout d'abord les coefficients de confiance sont générés, en utilisant l’algorithme k-ppv, ensuite, L’algorithme SVDD est appliqué avec ces nouveaux coefficients. 98 Paramétrage optimal de l’espace des caractéristiques. 4.4.1. Génération des coefficients de confiance Les coefficients de confiance ont pour objectif la réduction de l’effet négatif de données incertaines. Ils mesurent le degré d’appartenance d’un exemple à une classe, donc s’il semble que cet exemple appartient à ladite classe son coefficient de confiance augmente sinon il diminue. Plusieurs fonctions ont été proposées pour générer de tels coefficients, par exemple Bo Liu et al. [196] ont proposé une fonction définie dans l’espace de caractéristiques par la formule suivante : " = 1− òð − A$ $ ò 4.16 Tel que : ð est la projection de l’exemple centre des données de la classe: $ = 1 Tð O ` dans l’espace de caractéristiques. $ est le 4.17 U A $ est la distance maximale entre le centre de la classe et les exemples d’apprentissage, calculée à l’aide de la fonction noyau X . , . : A$ = B •òð − $ òŽ = B %&X , − 1 TX O ` SU , S + 1 TTX OF ` SU ` U S , ' 4.18 On peut observer dans l’équation (4.16) que si est un exemple se trouvant à une distance maximale du centre de la classe, alors la valeur de son coefficient de confiance sera nulle. Pour éviter ce cas Bo Liu et al. [196] affectent à cet exemple le plus petit coefficient de confiance entre tous les exemples. Une autre approche pour évaluer les coefficients de confiance dans le SVDD a été proposée par Myungraee Cha et al. [204] d’une part, et par Breunig M. M et al. [198] d’autre part. Ils ont utilisé une mesure de densité calculée par l’algorithme de X plus proches voisins (k-ppv). Cette mesure est donnée par la formule suivante: ˆ , " = B ˆ ∈` ˆ , , 4.19 représente la distance entre un élément et son kéme plus proche voisin. Une autre méthode a été proposée par C.F. Lin et S.D. Wang [93], et X.G Zhang [97] pour améliorer les SVMs conventionnelles. Elle fonctionne dans le cadre d’une classification binaire et vise à associer une appartenance floue comme coefficient de confiance à chaque donnée. Elle est définie comme suit: 99 Paramétrage optimal de l’espace des caractéristiques. ‖ à− ‖ # 1− à A + =Ä ‖ 1− ‖ 1− 1 # A + " ∈ ∈ à 1 4.20 ( Où à et 1 sont deux classes différentes, à contient les exemples étiquetés positivement, 1 contient les éléments étiquetés négativement, et à 1 dénotent à 1 respectivement les centres des classes et , Aà et A1 représentent respectivement les rayons des classes à et 1 , δ > 0 est une constante pour éviter le cas " = 0 . Cette fonction d’appartenance a été généralisée au cas non linéaire par C.F. Lin et S.D. Wang [93]. Le calcul des coefficients de confiance moyennant notre méthode est effectué, en décomposant un problème multi-classes en sous problèmes binaires, selon l’approche un contre tous. Prenant le cas d’un exemple , si ce dernier possède des voisins positifs, c.-à-d. ceux qui augmente appartiennent à la même classe que lui, alors son coefficient de confiance " proportionnellement au nombre desdits voisins, sinon il reste inchangé " = 1 (Il est considéré comme voisin de lui-même). Maintenant, si possède des voisins négatifs c.-à-d. ceux qui appartiennent aux classes restantes (l’approche un contre tous), alors son " augmente proportionnellement au nombre de ces voisins négatifs, car cet élément est susceptible d'être un vecteur de support (donnée importante). Les voisins de sont déterminés en utilisant la distance maximale entre les données d’une classe ‡ nommée∆ ‡ , et un paramètre de pondération > 0 . Algorithme de calcul des coefficients de confiance Soit ^ = ,…, ; 'ù ∈ ℝ© un ensemble de N données d’apprentissage. ^ est divisé en K classes ‡ , … , ‡ Choisir une distance ˆ#"n , de la table 4.2 Fixer les valeurs des paramètres , o, Pour chaque classe ‡ : Calculer∆ ‡ = B ,S rˆ#"n• , S Žs, où Pour chaque exemple de ‡ & = 0 B = 0 Pour chaque exemple S de ^ Si rˆ#"n• , SŽ Si • S appartiennent à la même classe‡ . < . ∆ ‡ s alors S Fin si Fin si et : ∈ ‡ Ž alors & = & + 1 Sinon B = B + 1 Fin pour " = o. & + . B Fin pour Fin pour 100 Paramétrage optimal de l’espace des caractéristiques. Table 4.2 - Exemples des métriques utilisées dans les k-ppv Métrique Formule ™ ˆ#"n• , S Ž = &T• Euclidienne ˆ#"n• , Minkowski SŽ 8U = •∑8U # ™ 8 − S8 Ž F 8 − S8 # Ž ˆ#"n• , S Ž = * , S } 1 Σ la matrice de covariance. Mahalanobis ˆ#"n• , S Ž = ∑8U # ™ Manhattan 8 − 4.4.2. Utilisation des nouveaux coefficients de confiance Dans le cas de SVDD mono-classe les coefficients de confiance " comme suit, en tenant compte uniquement des données positives : ] [ ) O >#&#B#"0Ay •, · = •2 + É T " \ ^'-"b0"‡'&nA #&n0" [ 2 2 ‖ ‖ − ≤ • + ·# ·# ≥ 0, Z # #=1 # ·# , /) S S8 # peuvent être introduits ( 4.21 # = 1, … , O Avec γ un paramètre spécifiant le compromis entre le volume de l’hypersphère et les erreurs de classification. Dans cette formule chaque élément contribue différemment dans la construction du classifieur SVDD, on peut constater qu’une petite valeur de " réduit l’effet de la variable ressort · , et donc est traité comme moins important. Pour résoudre ce problème le Lagrangien est introduit comme suit : ` y = •F + É T " U ` · − T o •F + · − ‖ U ` − ‖F − T P · 4.22 U Avec o ≥ 0 et P ≥ 0 sont des multiplicateurs de Lagrange. Après annulation des dérivées partielles du Lagrangien par rapport aux variables R, a et εi et réarrangement, le problème primal se transforme en problème dual suivant: 101 Paramétrage optimal de l’espace des caractéristiques. ] [ [ \ [ [0 ≤ o# ≤ " Z O #B#"0Ay = T > # 2 # o# #=1 O O − T T o# oW ^'-"b0"‡'&nA #&n0" É, 0 ≤ oW ≤ "• Les points ayant 0 < o < " déterminent l’hypersphère minimale. W O ŽÉ:.0‡#, W = 1, . . , O0n T #=1 # 4.23 ( = 1 Ésont appelés des vecteurs de support, c’est eux qui Quand les données négatives existent, le problème suivante : O ]>#&#B#"0Ay •, , · , · = •2 + É T " # b [ # #=1 \ [ Z # W #=1 W=1 de SVDD peut s’écrire sous la forme ·# + > T" b=1 souslescontraintes ≤ •2 + ·# # = 1, … , O·# ≥ 0 ‖ # − ‖2 ‖ b − ‖2 ≥ •2 + ·b b = 1, … , >·b ≥ 0 b ·b 4.24 ( Avec γ et δ sont des paramètres spécifiant le compromis entre les erreurs d’apprentissage et le volume de l’hypersphère minimale. Les deux contraintes sont intégrées dans l’équation (4.24) et les multiplicateurs de Lagrange o , o¨ , , ¨ sont introduits comme suit: y •, , · , ·¨ , o , o¨ , ` T o [• F + · − ‖ U Avec o ≥ 0, o¨ ≥ 0, ≥ 0, , ¨ ` = • + ÉT" F U ? − ‖F ] − T o¨ [‖ ¨ ¨U ≥ 0. ¨ ? · + T" ¨U ¨ ` ·¨ − T U ? · −T ¨ ·¨ − ¨U − ‖F − • F + ·¨ ] 4.25 Après annulation des dérivées partielles du Lagrangien par rapport aux variables R, a, εi et εl et réarrangement, le problème primal se transforme en problème dual suivant : ] > [ [ ` #B#"0Ay = T o \ [ [0 ≤ o ≤ É. " Z U ? − T o¨ ¨U ¨ ¨ 0n0 ≤ o¨ ≤ . " ` ` − T T o oS U SU S ? + 2 T T oS o¨ souslescontraintes ¨ ` SU ¨U S ¨ ? ? − T T o¨ oY ¨U YU ` ? ¨ Y .0‡# = 1, … , O0nb = 1, … , >0n T o − T o¨ = 1 Les échantillons d’apprentissage ayant 0 < o < É. " vecteurs de support. , 0 < o¨ < . " U ¨ ( 4.26 ¨U sont appelés des 102 Paramétrage optimal de l’espace des caractéristiques. 4.4.3. Résultats obtenus sur des bases standards Afin de tester l’efficacité de l'algorithme proposé, on analyse le taux de reconnaissance obtenu sur 3 jeux de données réelles [75], qui sont : Monks-1, Monks-2, Monks-3. Pour comparer la performance de SVDD conventionnel avec celle de la méthode proposée trois tests ont été effectués. L’objectif du premier test est de déterminer l’influence du paramètre δ sur le taux de reconnaissance. Ce test consiste à affecter à δ des valeurs dans l’ensemble {0.0, 0.4, 0.8}, Lorsque δ = 0 l'influence des coefficients de confiance sera le même pour tous les échantillons ce qui correspond à SVDD conventionnel. Le deuxième test évalue le taux de reconnaissance de SVDD avec coefficients de confiance en utilisant la distance euclidienne et la distance de Manhattan. Le troisième test vise à montrer l’effet des paramètres α et β, qui vont prendre des valeurs dans l’ensemble {0.0, 0.5, 1.0}. Dans les trois expériences, le paramètre C = 0.1 et Q ∈ {0.3, 0.4, . . ,3.0 . L’algorithme du premier test utilisant SVDD avec coefficients de confiance (1) (variation de δ et σ) 1. 2. Sélection d'une base de données parmi : Monks-1, Monks-2 et Monks-3. Décomposition de la base de données en deux sous ensembles d'entrainement (80%) et de test (20%) (voir annexe). 3. Fixation des valeurs des deux paramètres α=1 et β=1. 4. Affectation d’une valeur au paramètre δ dans l’intervalle {0.0, 0.4, 0.8}. 5. Affectation d’une valeur au paramètre σ dans l’intervalle {0.3, 0.4,..,3.0}. 6. Calcul des coefficients de confiance " par l’algorithme proposé. 7. Apprentissage de la base d’entrainement par le classifieur SVDD pondéré par les" . 8. Calcul du taux de reconnaissance en utilisant la distance de Manhattan. 9. Calcul du taux de reconnaissance en utilisant la distance Euclidienne. 10. Répétition depuis la cinquième étape pour chaque valeur de σ. 11. Répétition depuis la quatrième étape pour chaque valeur de δ. L’algorithme du deuxième test utilisant SVDD avec coefficients de confiance (2) (variation de α et σ) 1. 2. Sélection d'une base de données parmi : Monks-1, Monks-2, Monks-3. Décomposition de la base de données en deux sous ensembles d'entrainement (80%) et de test (20%) (voir annexe). 3. Fixation des valeurs des deux paramètres β=1 et δ=0.5. 4. Affectation d’une valeur au paramètre α dans l’intervalle {0.0, 0.5, 1.0}. 5. Affectation d’une valeur au paramètre σ dans l’intervalle {0.3, 0.4,..,3.0}. 6. Calcul des coefficients de confiance " par l’algorithme proposé. 7. Apprentissage de la base d’entrainement par le classifieur SVDD pondéré par les" . 8. Calcul du taux de reconnaissance en utilisant la distance Euclidienne. 9. Répétition depuis la cinquième étape pour chaque valeur de σ. 10. Répétition depuis la quatrième étape pour chaque valeur de α. 103 Paramétrage optimal de l’espace des caractéristiques. L’algorithme du troisième test utilisant SVDD avec coefficients de confiance (3) (variation de β et σ) 1. 2. Sélection d'une base de données parmi : Monks-1, Monks-2, Monks-3. Décomposition de la base de données en deux sous ensembles d'entrainement (80%) et de test (20%) (voir annexe). 3. Fixation des valeurs des deux paramètres α=1 et δ=0.5 4. Affectation d’une valeur au paramètre β dans l’intervalle {0.0, 0.5, 1.0}. 5. Affectation d’une valeur au paramètre σ dans l’intervalle {0.3, 0.4,..,3.0}. par l’algorithme proposé. 6. Calcul des coefficients de confiance " 7. Apprentissage de la base d’entrainement par le classifieur SVDD pondéré par les" . 8. Calcul du taux de reconnaissance en utilisant la distance Euclidienne. 9. Répétition depuis la cinquième étape pour chaque valeur de σ. 10. Répétition depuis la quatrième étape pour chaque valeur de β. Figure 4.5 - Le taux de reconnaissance (%) selon les valeurs des paramètres δ et σ, en utilisant la distance de Manhattan avec α=1 et β=1 104 Paramétrage optimal de l’espace des caractéristiques. Figure 4.6 - Le taux de reconnaissance (%) selon les valeurs des paramètres δ et σ, en utilisant la distance Euclidienne avec α=1 et β=1 105 Paramétrage optimal de l’espace des caractéristiques. Figure 4.7 - Le taux de reconnaissance (%) selon les valeurs des paramètres α et σ, en utilisant la distance Euclidienne avec β=1 et δ=0.5 106 Paramétrage optimal de l’espace des caractéristiques. Figure 4.8 - Le taux de reconnaissance (%) selon les valeurs des paramètres β et σ, en utilisant la distance Euclidienne avec α=1 et δ=0.5 D’après les deux figures 4.5 et 4.6 on peut constater que le taux de reconnaissance pour l’ensemble d’entrainement, commence par une valeur maximale 100% et diminue au fur et à mesure que la valeur de Q augmente. En plus, on observe que l’utilisation de δ avec une valeur non nulle améliore considérablement le taux de reconnaissance. Pour l’ensemble de test le taux de reconnaissance augmente avec la croissance σ et atteint les valeurs 66%, 57% et 76% qui correspondent respectivement aux bases Monks-1, Monks-2 et Monks-3. On remarque aussi que l’approche proposée ( = 0.4 et 0.8) est plus performante que SVDD conventionnel ( =0) quelque soit la valeur de Q. Les figures 4.5 et 4.6 permettent aussi de faire une comparaison entre les distances Euclidienne et Manhattan. On constate que l’utilisation de SVDD avec des coefficients de confiance calculés par la distance de Manhattan, produit des taux de reconnaissance maximums de l’ordre de 66% pour Monks-1, 57% pour Monks-2 et 76% pour Monks-3, ce qui dépasse légèrement les taux relatifs à la distance Euclidienne qui aboutissent à 66% pour Monks-1, 55% pour Monks-2 et 74% pour Monks-3. Les figures 4.7 et 4.8 montrent l'effet des paramètres o et . En comparant les taux de reconnaissance, on constate que le bon choix des valeurs de o et permet d'améliorer d’une façon significative le taux de reconnaissance qui arrive à des valeurs de l’ordre de 57%, 57% et 75% relatives aux bases Monks-1, Monks-2 et Monks-3. 4.5. Conclusion Dans ce chapitre, nous avons présenté trois solutions qui visent à remédier à certaines limitations relatives au classifieur SVDD. Nous avons abordé le problème des données nonlinéairement séparables où le passage de l’espace d’origine à un espace des caractéristiques de grande dimension s’avère essentiel, ce passage est effectué implicitement grâce aux fonctions noyaux. Cependant, ces dernières possèdent des paramètres qui doivent être estimés avant l’utilisation du SVDD et qui influencent grandement la performance de la classification. Dans ce cadre nous avons proposé deux méthodes automatiques permettant de déterminer des valeurs optimales desdits paramètres, ces méthodes sont employées dans le cas du noyau gaussien, elles sont basées sur la maximisation de deux critères de séparabilité entre les sphères minimales. Nous 107 Paramétrage optimal de l’espace des caractéristiques. avons abordé aussi la problématique des données bruitées, erronées ou aberrantes existant dans les bases d’apprentissage. Ces données provoquent des erreurs de classification et réduisent considérablement la capacité de généralisation d’un classifieur en particulier le SVDD. Dans ce cadre nous avons proposé de résoudre ce problème en associant à chaque donnée d’apprentissage un coefficient de confiance permettant d’exprimer son importance dans la construction des surfaces de séparation entres les classes. Afin d’évaluer la performance de classification, plusieurs tests sur des jeux de données artificielles et sur d’autres réelles ont été effectués, les résultats expérimentaux ont prouvé que les solutions proposées sont efficaces et performantes. À la lumière des résultats prometteurs présentés dans le troisième et le quatrième chapitre, nous allons évaluer les versions améliorées de SVDD dans le cas de certains problèmes spécifiques, liés au domaine de la sécurité informatique, notamment le filtrage de pourriels et la détection des virus informatiques. 108 Chapitre V Classification et détection des spams et des virus informatiques par SVDD 5.1. Introduction Un système informatique est un élément absolument vital pour toute entreprise, dont la saisie, le traitement, la transmission et le stockage de données sont des activités indispensables. Compte tenu de l’ouverture des entreprises sur Internet, le partage des données avec des tiers, le développement permanant d’outils informatiques, les risques d’atteinte à l’intégrité, à la confidentialité et à la disponibilité des données constituent une menace croissante sur la réputation et le fonctionnement de toute entreprise. 109 Classification et détection des spams et des virus informatiques par SVDD Dans ce contexte, la sécurité des systèmes informatiques est devenue une discipline de première importance, en particulier, concevoir un système qui permet de se protéger contre les attaques des spams, des logiciels malveillants, des intrusions réseau, etc., est une tâche prioritaire. Dans ce chapitre, nous allons présenter des applications de deux versions améliorées du classifieur SVDD décrites dans les deux chapitres précédents, dont l’objectif est d’évaluer leurs performances dans des cas pratiques de problèmes de sécurité informatique. La première application concerne le filtrage anti-spam, elle vise à élaborer un système automatique capable de distinguer entre les spams et les emails légitimes. La deuxième application s’intéresse à la détection des logiciels malveillants, elle met en œuvre un système qui combine la méthode Ngramme pour l’extraction des informations pertinentes à partir des fichiers exécutables et une version améliorée du classifeur SVDD pour la détection des logiciels malveillants. 5.2. Filtrage anti-spam par SVDD Le courrier électronique est un moyen de transfert de messages rapide et pas cher. Il est devenu une forme très répandue de communication en raison de la vulgarisation de l'Internet et l'utilisation croissante des dispositifs mobiles intelligents. Ses applications varient d’une communication basique à une plate-forme d'affaires indispensable. Cependant, un type de courrier électronique non sollicité connu sous le nom de spam est apparu et il a causé des problèmes majeurs, en apportant des dommages financiers aux entreprises et en ennuyant les utilisateurs individuels. Spam également appelé, courriel de masse non sollicité (UBE), courrier indésirable, ou courriel commercial non sollicité (UCE) est l'abus de systèmes de messagerie pour envoyer des messages électroniques non sollicités en grandes quantités, souvent avec un contenu commercial, à des personnes avec lesquelles l'expéditeur n'a jamais eu de contact et dont les adresses emails ont été prises d’une façon illégale. Il peut provenir de n'importe quel endroit dans le monde où l'accès Internet est disponible (Figure 5.1). Figure 5.1- Taux de spams (Décembre 2012 à Février 2013) 110 Classification et détection des spams et des virus informatiques par SVDD Les spams provoquent des dégâts importants comme: − Le remplissage des boites de réception des utilisateurs, ce qui provoque la saturation de l'espace de stockage dans les serveurs de messagerie; − La consommation de la bande passante des réseaux informatiques et de l’infrastructure Internet; − Le gaspillage de temps et d’efforts des utilisateurs en distinguant entre les messages légitimes et les spams ; − Le piratage des informations sensibles (mots de passe, numéros de carte de crédit, … etc.) en imitant des demandes officielles envoyées par des autorités de confiance, comme les administrations, les banques, … etc ; − La propagation de toute une gamme de menaces comme les logiciels espions, les chevaux de Troie, les logiciels publicitaires et les virus qui pourraient être involontairement déclenchés en cliquant simplement sur un lien ou une pièce jointe contenue dans un message de spam ; − Les dégâts financiers et la violation des lois en diffusant des matières interdites. − La mise en panne des serveurs de messagerie électronique; De nombreuses solutions ont été proposées pour lutter contre les spams, ci-dessous quelquesunes: − L’adoption d'une législation contre les spams, mais cette approche est limitée par le fait que beaucoup de ces emails sont envoyés à partir de différents pays, en plus, il est difficile de suivre les expéditeurs réels de spams; − La création de listes blanches, elles contiennent les expéditeurs d'emails qui sont approuvés pour envoyer des emails légitimes. Les emails envoyés par quelqu'un figurant sur une liste blanche ne seront pas marqués comme spams, quelque soit leur contenu; − L’utilisation de filtres anti-spam, bien que les spammeurs ont commencé à utiliser plusieurs méthodes pour surmonter le filtrage comme : l’utilisation des adresses d'expéditeurs aléatoires, l’ajout des caractères aléatoires au début ou à la fin de l'objet du message, l’obscurcissement du texte dans le message de spam, l'insertion d'espaces ou de mots aléatoires dans l'en-tête du message de spam; − La détection des spams en adoptant des techniques de classification automatique tels que les séparateurs à vaste marge, les réseaux de neurones, le classificateur bayésien naïf, les k-plus proches voisins, … etc. 111 Classification et détection des spams et des virus informatiques par SVDD Dans ce cadre, nous avons développé une nouvelle approche pour le filtrage anti-spam, basée sur la quatrième solution précitée qui utilise des techniques de classification automatique. Notre approche consiste à filtrer les spams en utilisant la combinaison de deux versions améliorées du classifieur Support Vector Domain Description (SVDD), la première vise à ajuster les volumes des sphères minimales construites par SVDD, [177], la deuxième a pour objectif le remplacement de la fonction de décision communément utilisée dans le SVDD par une nouvelle fonction floue [61]. 5.2.1. Méthodes de classification automatique des spams Dans la littérature, de nombreuses approches basées sur le concept de la classification automatique ont été proposées pour le filtrage anti-spam. H. Drucker et al. [215] ont utilisé les séparateurs à vaste marge (SVMs) pour classer les emails, ils ont comparé la performance des SVMs contre trois algorithmes de classification (Ripper, Rocchio et les arbres de décision). B. Cui et al. [202] ont proposé un modèle de classification des emails basé sur les réseaux de neurones en réduisant préalablement la dimension des données d’entrée à l’aide de l'analyse en composantes principales (ACP). Dans deux travaux différents, Pantel et Lin [23] et Sahami et al. [56] ont employé le classifieur bayésien naïf pour le filtrage anti-spam, Sahami et al. n’ont retenu pour l’opération de classification, que les 500 mots les plus significatifs de chaque email, ils ont constaté que la classification binaire (email légitime contre spam) était plus efficace que celle multi-classes basée sur la catégorie détaillée de l’email. X. Carreras et al. [25] ont utilisé Boosting Trees pour le filtrage anti-spam, AG López-Herrera et al. [109] ont développé un algorithme évolutionniste multi-objectifs pour filtrer les spams. A. Hotho et al. [108] et T. Fawcett [133] ont filtré les spams grâce aux techniques d’extraction de connaissances à partir de données (data mining). T. Oda et al. [1] et J. Chen et al. [206] ont élaboré des méthodes antispam inspirées du système immunitaire artificiel en faisant l’analogie entre les spams et les agents pathogènes. 5.2.2. Approche proposée pour la classification des spams Dans ce travail, nous avons proposé une méthode de filtrage anti-spam basée sur le concept de l’apprentissage automatique, il s’agit de la combinaison de deux versions du classifieur SVDD [16], la première est utilisée dans l’étape d’entrainement de la base d’apprentissage, elle génère les multiplicateurs de Lagrange associés au problème de classification, la seconde est employée dans l’étape de distinction entre les emails (spam ou légitime), elle exploite lesdits multiplicateurs pour concevoir une nouvelle fonction de décision floue. L’étape d’entrainement de la base d’apprentissage est effectuée par la méthode SSPVSVDD [177], il s’agit d’une version du SVDD qui permet d’ajuster les volumes des sphères minimales associées aux différentes classes d’une base d’apprentissage, et par conséquent de contrôler les frontières de séparation entre les classes. L’ajustement des volumes des sphères est réalisé moyennant un paramètre de régularisation introduit dans SVDD. Ce paramètre permet de faire un compromis entre l’acceptation des données positives, et le rejet des données négatives. 112 Classification et détection des spams et des virus informatiques par SVDD L’étape d’identification du type d’email est réalisée par une nouvelle fonction de décision floue [61], cette fonction a pour objectif la résolution du problème de chevauchement entre les sphères minimales construites par SVDD, ledit problème provoque un conflit (appartenance simultanée à plusieurs classes) lors de la classification d’un élément se trouvant à l’intérieur du chevauchement ce qui réduit le pouvoir séparateur du classifieur. Cette nouvelle fonction permet d’affecter chaque élément à une classe convenable, en quantifiant son degré d’appartenance. 5.2.3. Résultats obtenus sur une base standard de spams Pour tester la performance de la méthode, nous avons employé un jeu de données de référence [75], il contient 4601 emails chacun est représenté par 58 attributs dont les 57 premiers ont des valeurs réelles qui représentent les fréquences en pourcentage des mots et des lettres dans le contenu du message et le dernier a une valeur binaire indiquant le type d’email. Le jeu de données est composé de deux types d’emails: 1813 spams et 2788 légitimes. L’apprentissage d’un jeu de données par le classifieur SVDD nécessite la résolution d’un problème d’optimisation quadratique QP sous contraintes, dont la complexité temporelle et spatiale est importante, ce qui le rend difficile à s’exécuter sur de grandes bases de données, telle que la base de spams (4601 échantillons). Pour surmonter cette limitation, on propose de bénéficier de l’algorithme appelé optimisation séquentielle minimale (SMO). L’algorithme SMO développé par J. Platt [174] permet de résoudre rapidement et efficacement un problème de programmation quadratique sous contraintes. Il s’agit d’un algorithme de décomposition dont l’idée principale est d’optimiser à chaque étape un sous ensemble réduit de données du problème. SMO peut être perçu comme le cas extrême des méthodes de décomposition car le sous ensemble à optimiser est constitué uniquement de deux variables (des multiplicateurs de Lagrange). La résolution du QP est analytique et ne nécessite pas de stockage de la matrice de données en mémoire ce qui représente un avantage majeur dans le cas des bases de grande taille. A chaque étape, l’algorithme SMO effectue les opérations suivantes : - Il choisit le bon couple de variables o , oF à optimiser en se basant sur des heuristiques utilisant les conditions de KKT; - Il détermine les valeurs optimales de ces deux variables tout en gardant les autres fixes ; - Il met à jour le vecteur solution d’entrainement). o = o , oF , … , o` ) ( O est la taille de la base SMO dans le cas des SVMs Le problème d’optimisation quadratique QP dans le cas de SVMs s’écrit sous la forme suivante : 113 Classification et détection des spams et des virus informatiques par SVDD > 1 #B#"0Ay o) = T o − T T o oS 2 ` ` ^'-"b0"‡'&nA #&n0" T o U U ` ` U SU S X• , SŽ = 00n0 ≤ o ≤ , # = 1, . . , O 5.1 Et pour toute observation de test », la fonction de décision s’ècrit : ` = ")& ¼T U oX , » + ½ 5.2 SMO optimise à chaque itération deux multiplicateurs de Lagrange, ces derniers doivent satisfaire toutes les contraintes du problème qui sont : - Les contraintes d'inégalité ou de boîte qui imposent que les deux multiplicateurs de Lagrange après l’optimisation doivent rester à l’intérieur de l’intervalle [0, C]. - La contrainte d'égalité qui impose une relation linéaire entre les deux multiplicateurs de Lagrange optimisés. Par conséquent, une étape du SMO doit trouver un optimum de la fonction objectif sur un segment de ligne diagonale (Figure 5.2). Figure 5.2- Les contraintes que doivent satisfaire les deux multiplicateurs de Lagrange dans chaque étape d’optimisation La figure 5.2 montre que oF doit satisfaire les conditions suivantes : y ≤ oF ≤ 4 Avec y=B y=B 0, oFª¨© − o ª¨© 0n4 = B#& , + oFª¨© − o ª¨© "# 0, oFª¨© + o ª¨© − 0n4 = B#& , oFª¨© + o ª¨© "# ≠ = F F 5.3 114 Classification et détection des spams et des virus informatiques par SVDD Les bornes y et 4 ainsi déterminées permettent de réévaluer la valeur de oF après avoir appliqué la formule ci-dessous, découlant de la maximisation de la fonction y o , oF ): oF;<= = oFª¨© − , = − ª¨© F , − ,F ) 5.4) # = 1, … , O0n = 2X , F −X , −X F, F 5.5 Et la réévaluation de la valeur de oF se fait en se basant sur l’équation suivante : ∗ oF;<= 4"#oF;<= ≥ 4 = | oF;<= "#y < oF;<= < 4 5.6 ( y"#oF;<= ≤ y Après avoir déterminéoF le calcul de o est effectué en utilisant la contrainte linéaire : o ;<= + ;<= ∗ F oF = o ª¨© + ª¨© F oF 5.7 et on en déduit alors que : o ;<= = o ª¨© + "•oFª¨© − oF;<= Ž 5.8 .0‡" = F ∗ SMO dans le cas de SSPV-SVDD La résolution du problème d’optimisation quadratique QP dans le cas du classifieur SSPV-SVDD se fait de la même manière que SVMs en considérant le problème suivant : > ` ` #B#"0Ay o = − T T o oS U SU S ` S ` +To + U Souslescontraintes0 ≤ o ≤ 0n T o = 1# = 1, … , O U 5.9 Et pour toute observation de test », la fonction de décision s’écrit : ` » = • − æ». » − 2 T o F U ` ` » +TT U SU S So oS é 5.10 Les bornes y et 4 se calcule de la même façon que pour les SVMs. La valeur optimale de oF est donnée par l’équation suivante : oF;<= = oFª¨© − , = ª¨© − F , − ,F "−1 + 5.11 2 2 # = 1, . . , O0n = 2X , F − X , − X F , F 5.12 115 Classification et détection des spams et des virus informatiques par SVDD La réévaluation de la valeur de oF;<= et l’évaluation de o ;<= sont effectuées de la même manière que pour les SVMs. ∗ Algorithme de classification des spams par SSPV-SVDD : 1. Générer deux ensembles finis de valeurs réelles représentant respectivement le domaine de variation de et celui de Q. ∗ , Q ∗ ) à partir de ces deux ensembles. 2. Choisir un couple de valeurs 3. Décomposer aléatoirement de la base des emails en deux sous ensembles d'entrainement (80%) et de test (20%). a. b. Exécuter SSPV-SVDD en utilisant = ∗ et Q = Q ∗ avec la fonction de décision conventionnelle. Exécuter SSPV-SVDD en utilisant = ∗ et Q = Q ∗ avec la fonction de décision floue. 4. Calculer et stocker les taux de reconnaissance pour les deux sous-ensembles, et répéter l'expérience 20 fois pour les autres sous-ensembles en partant de la troisième étape. 5. Calculer la moyenne des taux de reconnaissance et l'écart-type pour le couple 6. Aller à l’étape 2 pour d’autres valeurs de et Q . ∗ , Q∗) Dans toutes les expériences, le paramètre de régularisation prend la valeur 1, la largeur du noyau Gaussien Qvarie dans l’ensemble {1, 2, 3, 4, 5}, et le paramètre est égal à 0.01. Afin d’évaluer le taux moyen de reconnaissance et l’écart type, on décompose aléatoirement la base d’emails en 20 sous-ensembles, chacun d’eux contient 80% des emails légitimes et 80% des spams pour l’entrainement et les emails restants de chaque type sont réservés aux tests. Figure 5.3 – Taux de reconnaissance d’emails par SVDD et SSPV-SVDD 116 Classification et détection des spams et des virus informatiques par SVDD Figure 5.4 - Taux de reconnaissance d’emails par SSPV-SVDD en utilisant les fonctions de décision standard et floue La première expérience (Figure 5.3) compare les taux de reconnaissance des deux classifieurs SVDD conventionnel et SSPV-SVDD, selon les valeurs prises parQ. La figure est divisée en deux parties: − La partie de gauche concerne l’apprentissage des données d’entrainement, on remarque que le SVDD conventionnel donne un taux de reconnaissance qui varie entre 62% à 83%. Lors de l'exécution du SSPV-SVDD ce taux augmente considérablement et tend vers une moyenne supérieure à 97%. Nous concluons que SSPV-SVDD apprend approximativement toutes les données d’entrainement. En plus, il est stable car il ne varie pratiquement pas avecQ. − La partie de droite correspond aux données de test, elle montre la capacité de généralisation des deux classifieurs. Nous observons que le taux moyen de bonne classification augmente avecQ, jusqu'à une valeur maximale (60% pour SSPV-SVDD contre 32% pour SVDD conventionnel). Ce résultat montre que SSPV-SVDD surpasse SVDD dans la détection de nouveaux spams. Dans la deuxième expérience (Figure 5.4), nous visons à améliorer la méthode SSPV-SVDD en introduisant la fonction de décision floue. La figure peut être divisée en deux parties: − La première de gauche montre que le taux moyen de reconnaissance s’améliore lorsque nous utilisons la fonction de décision floue. Il atteint 100% quelque soit la valeur deQ. − La deuxième de droite montre que le taux moyen de reconnaissance augmente au fûr et à mesure que la valeur de Q croit, jusqu'à une valeur maximale de 80%. Ces expériences montrent que SSPV-SVDD avec la fonction de décision floue, produit un taux de reconnaissance élevé avec une bonne capacité de généralisation. 117 Classification et détection des spams et des virus informatiques par SVDD 5.3. Détection des logiciels malveillants par N-grammes et SVDD Un virus informatique est un programme malveillant destiné à désactiver ou à endommager des systèmes informatiques, il s’agit d’un terme initialement introduit par Cohen [169] et qui peut être défini selon McGraw et Morisett [168] comme tout code ajouté, modifié ou supprimé d'un logiciel pour causer volontairement des dégâts ou pour contourner la fonctionnalité d’un système cible. D'autres définitions ont été proposées par des sociétés productrices de logiciels antivirus, qui décrivent les logiciels malveillants comme tout programme destiné à supprimer, bloquer, modifier ou copier des données, perturber les performances des ordinateurs ou des réseaux informatiques. En se basant sur leurs actions particulières, les logiciels malveillants peuvent être classés en familles et sous-familles qui peuvent se chevaucher. On cite ci-dessous quelques familles des programmes malveillants : − Virus informatique: le virus informatique est la forme la plus classique et la plus courante des programmes malveillants qui existe depuis le début de l’informatique. Il s’agit d’un programme capable de dupliquer son propre code en s’attachant à d'autres programmes ou fichiers de données de façon à ce que le code du virus sera exécuté quand le fichier infecté est activé. Les virus informatiques exécutent des tâches destructives en partant de l’affichage de simples messages relativement inoffensifs à la destruction complète des programmes et des données importantes. − Ver informatique: Un ver informatique est un programme malveillant auto-réplicatif et entièrement fonctionnel. Contrairement au virus, le ver exploite souvent le réseau local ou la connexion Internet pour se diffuser sans avoir le besoin de s’attacher à un fichier exécutable ou à un document. Quand un ver trouve un nouvel hôte, il se duplique à l’intérieur de ce dernier et continue à chercher d'autres, le mécanisme de réplication est exécuté indéfiniment ou jusqu'à l’exécution d’un processus d'arrêt. − Cheval de Troie: Un cheval de Troie est un programme malveillant qui semble remplir une fonction légitime, mais discrètement exerce des activités nuisibles. Contrairement aux virus et aux vers, les chevaux de Troie ne se dupliquent pas. Une fois activé un cheval de Troie exécute des tâches destructives, comme le vol d'identité, la destruction des données, l'accès à distance, etc. − Spyware: Un Spyware est un type de logiciel malveillant qui capture des informations relatives aux utilisateurs ou autrement prend le contrôle des ressources du système informatique sans connaissance ou consentement de l'utilisateur. Les spywares peuvent être introduits dans un ordinateur de plusieurs manières discrètes, par exemple lors de l’installation d'un nouvel programme ou lors de l’infection par un virus informatique. − Adware: Un Adware est toute application logicielle dans laquelle des bannières publicitaires telle que les pop-ups ou des liens Web sont affichés quand un programme est en cours d'exécution. Comme les logiciels espions, l’Adware est une nuisance pour les 118 Classification et détection des spams et des virus informatiques par SVDD utilisateurs. Il est généralement utilisé pour diffuser des publicités fournissant un certain type de bénéfice financier à l'attaquant. L’Adware ne provoque habituellement pas de dommages intenses aux ordinateurs. Cependant, il peut les rendre inopérables. − Rootkit: Un Rootkit est un programme malveillant spécial et particulièrement dangereux permettant à l'attaquant de contrôler un système infecté. Les rootkits sont extrêmement difficiles à détecter et éradiquer, car ils sont généralement installés dans les ressources du système de bas niveau. Pour cette raison, les rootkits sont souvent indétectables par les anti-virus classiques. De nombreux facteurs favorisent la propagation des logiciels malveillants tels que l’expansion d’Internet et des réseaux sociaux, l’utilisation croissante des dispositifs intelligents (Smartphones, tablette,…), l’échange et l’utilisation non protégée des médias de stockage, etc. Les logiciels malveillants provoquent des dommages intenses aux systèmes informatiques et aux individus, des statistiques ont montré que plus de 390 000 nouveaux programmes malveillants apparaissent chaque jour [166]. Dans le même contexte un rapport publié récemment [167] indique que le nombre de logiciels malveillants et indésirables peut être supérieur à celui des logiciels légitimes. La détection des logiciels malveillants est devenue l'une des principales préoccupations de la recherche dans le domaine de la sécurité informatique. L’approche traditionnelle de la détection des logiciels malveillants connus est basée sur la signature virale qui est utilisée par la majorité des produits antivirus commerciaux. Cette méthode souffre de plusieurs limitations comme, l’obfuscation, le déplacement, la compression et le cryptage du code viral, effectués par les auteurs de ce type de logiciels pour surmonter l’efficacité de la signature virale. En plus, obtenir la signature des programmes malveillants connus signifie que des systèmes informatiques ont été déjà infectés. En outre, l'augmentation du nombre des programmes malveillants connus implique la croissance de la taille de la base des signatures virales et par conséquent l’augmentation du temps de recherche et de vérification d’une signature relative à un programme suspect. Afin de détecter les nouveaux programmes malveillants dont on ne possède pas de signatures, et pour surmonter les limitations décrites précédemment, de nouvelles approches basées sur l’analyse des logiciels suspects ont été proposées. Cette analyse peut être statique, dynamique, ou hybride. La première étudie les logiciels malveillants sans avoir à les exécuter, elle opère au niveau du code machine et des instructions désassemblées. Elle permet d’extraire les informations pertinentes existantes dans un fichier binaire notamment les séquences hexadécimales, les appels aux bibliothèques, les appels systèmes, les appels aux interfaces de programmation API, le contrôle du flux, la fréquence de distribution de codes des opérations, etc. La seconde exécute les logiciels suspects dans un environnement protégé (machine virtuelle, simulateur, émulateur, sandbox, etc.), et observe le comportement et l’effet desdits logiciels dans cet environnement. Récemment de nouvelles méthodes de détection de logiciels malveillants ont été proposées, elles opèrent en deux étapes : Dans la première elles utilisent les techniques 119 Classification et détection des spams et des virus informatiques par SVDD d'exploration de données pour extraire les informations pertinentes d’un fichier exécutable, tandis que dans la seconde étape elles se chargent de trouver les corrélations entre les informations extraites en appliquant des techniques d'apprentissage automatique. Ces méthodes ont montré de bonnes performances en termes de classification et de détection de nouveaux programmes malveillants. Dans ce cadre, nous présentons une nouvelle solution pour la détection des logiciels malveillants. Elle est basée sur la combinaison de la méthode N-grammes [154] et une version améliorée du classifieur Support Vector Domain Description [177]. 5.3.1. Méthodes de classification automatique des logiciels malveillants utilisant les N-grammes Les méthodes statiques destinées à la détection des logiciels malveillants ont connu une évolution importante, parmi les techniques les plus utilisées on trouve N-grammes associée à des méthodes d'apprentissage automatique. N-grammes explore la structure d'un fichier binaire moyennant les séquences d’instructions qu’il contient, elle a été employée pour la première fois par Kephart et Arnold [165] afin de détecter les variantes des logiciels malveillants connus. Leur système permet de déterminer les signatures virales automatiquement en se basant sur N-gramme et en minimisant la probabilité de générer de faux-positifs. Egalement, la technique N-gramme a été appliquée par Santos et al. [163] pour extraire les signatures d'une grande variété des programmes binaires après avoir converti ces derniers sous forme de séquences de codes d’opérations (OpCode). Les N-grammes extraites ont été classées par des techniques d'apprentissage automatique. Kolter et Maloof [161, 162] ont extrait les N-grammes relatives à un ensemble de logiciels malveillants, ils ont sélectionné les 500 premières les plus significatives selon une mesure appelée le gain d'information [161]. Dans leur travail une étude comparative a été effectuée entre plusieurs classifieurs à savoir la méthode TF-IDF (Term Frequency – Inverse Document Frequency) [141], naïve Bayes, les séparateurs à vaste marge, les arbres de décision, et les k-plus proche voisins, ainsi que leurs versions rapides afin de générer des règles de classification de nouveaux exécutables. Assaleh et al. [160] ont proposé une méthode pour la détection de nouveaux virus informatiques, elle est basée sur la combinaison de N-grammes et de l’algorithme k-ppv dont X = 1 . Schultz et al. [159] ont extrait les N-grammes des fichiers binaires moyennant trois approches à savoir la liste des appels aux bibliothèques de liens dynamiques, les séquences des chaines de caractères et les séquences d'octets, les N-grammes extraites ont été classées par Ripper (Un algorithme d’apprentissage à règles), naïve Bayes et Multi naïve Bayes. Henchiri et Japkowicz [158] ont extrait les N-grammes relatives aux fichiers exécutables, ensuite ils les ont sélectionné hiérarchiquement, le résultat a été classé en utilisant les arbres de décision, naïve Bayes et les séparateurs à vaste marge. Zhang et al. [157] ont bénéficié de la méthode N-grammes pour représenter les programmes exécutables, ils ont sélectionné les plus pertinentes en se basant sur le calcul de leurs gains d'information, les résultats obtenus ont été utilisés comme des données d’entrée pour un réseau de neurones probabiliste. Sornil et Liangboonprakong [156] ont proposé une méthode d’extraction des caractéristiques 120 Classification et détection des spams et des virus informatiques par SVDD pertinentes à partir des fichiers binaires en quatre étapes en se basant sur la méthode N-grammes, ils ont appliqué trois algorithmes de classification à savoir C4.5, le perceptron multicouches et les séparateurs à vaste marge pour la détection de nouveaux programmes malveillants. Elovici et al. [155] ont représenté les fichiers exécutables par leurs N-grammes, ils ont réduit les tailles de ces dernières en se basant sur le score de Fisher et ils ont classé les exécutables par les réseaux bayésiens, les réseaux de neurones artificiels, et les arbres de décision. 5.3.2. Méthode proposée pour la détection des virus informatiques Notre objectif est l’élaboration d’une nouvelle méthode de détection des programmes malveillants inconnus. Il s’agit d’une méthode d’analyse statique basée sur la combinaison de Ngramme et du classifieur SSPV-SVDD [177]. La méthode proposée commence par extraire les Ngrammes et leur fréquences d’apparition pour chaque programme, ensuite identifier celles qui sont les plus pertinentes en fonction d’une mesure appelée le gain de l'information. Après, le classifieur Support Vector Domain Description avec petite sphère et volume paramétrique SSPVSVDD [177] sera utilisé pour classer les N-grammes extraites et élaborer un modèle de détection des programmes malveillants inconnus. La méthode N-grammes a été initialement introduite par Shannon en 1951 [154], elle a été utilisée dans de nombreux domaines, tels que le traitement automatique du langage naturel, le traitement du signal, l'analyse de séquences biologiques, la compression de données, etc. Mais encore largement utilisée pour la détection de logiciels malveillants [152] [153] [156] [160] [163]. La signature N-grammes d'une chaîne de caractères est l’ensemble de toutes ses sous chaînes de longueurO. Dans le cas d'un fichier exécutable, la signature N-grammes est calculée généralement à base des séquences d’octets, ou d’instructions désassemblées. Pour générer le vecteur N-grammes, une fenêtre de longueur O est déplacée à travers le texte, translatée vers l'avant d’un caractère à la fois. A chaque position de la fenêtre, la séquence de caractères dans la fenêtre est enregistrée. Par exemple, la chaîne "malware", peut être segmentée en 4-grammes comme suit : "malw", "alwa", "lwar", "ware". Dans certains cas, la fenêtre peut être glissée de plus d'un caractère après chaque enregistrement. 121 Classification et détection des spams et des virus informatiques par SVDD Table 5.1 - Exemple des neufs premières 4-grammes et leurs fréquences extraites d’un exécutable malveillant 4-grammes Fréquences associées 40008BC0 008BC0FF 8BC0FF25 FFFFFFFF 00FFFFFF 9140008B 000000E8 01000000 FFFF8B45 89 82 82 78 69 59 57 56 53 Afin d’appliquer la méthode N-grammes sur des fichiers exécutables, ces derniers doivent être représentés sous une forme exploitable. Dans notre cas chaque fichier sera converti sous une forme de séquences hexadécimales, puis chaque séquence sera traitée pour extraire les Ngrammes et leurs fréquences. Comme la taille de l'ensemble des N-grammes est très grande, il est commode de choisir les plus pertinentes entre elles en fonction du gain d'information IG [152]. Ce dernier est défini à l’aide de la formule suivante: Í-•Op Ž = T ./0 ∈{â, T 3•Ù`p , Žlog C∈{C‰ 3•Ù`p , Ž 3•Ù`p )3 Ž 5.13 Où représente l’une des deux classes d’exécutables (malveillante ou bénigne), Ù`p est la valeur de la N-gramme, Ù`p = 1 siO) existe dans le programme et 0 sinon. 3•Ù`p , Ž est la proportion de programmes dans dans laquelle O) prend la valeurÙ`p . 3•Ù`p Ž est la proportion de programmes dans la base d’entrainement tel que O) prend la valeur Ù`p . 3 est la proportion des données d'apprentissage appartenant à la classe . 5.3.3. Résultats obtenus pour une base standard de virus informatiques La méthode proposée a été évaluée en utilisant une base de données expérimentale, constituée de 1258 fichiers exécutables, dont 600 fichiers bénins provenant de différentes versions des systèmes d'exploitation (Windows XP et Windows 7), et 658 virus informatiques [171]. La répartition détaillée des fichiers de la base expérimentale est illustrée dans la figure 5.5. 122 Classification et détection des spams et des virus informatiques par SVDD Base de données expérimentale Base des fichiers bénins (Win XP et Win 7 ): 658 exécutables Base des fichiers viraux BadBoy Ash BW Burger 42 exécutables 54 exécutables 48 exécutables 95 exécutables Austratlian 85 exécutables Vienna 334 exécutables Figure 5.5 - La distribution des fichiers exécutables dans la base de données expérimentale Trois expériences ont été effectuées sur la base susmentionnée : La première vise à discriminer entre une famille virale nommée Dos.Vienna et un ensemble de fichiers bénins, tandis que la seconde fait intervenir un ensemble de trois familles virales (Dos.BadBoy, Dos.Ash et Dos.BW) contre des fichiers bénins. La dernière évalue le pouvoir séparateur entre des virus appartenant à deux familles virales différentes (Dos.Burger et Dos.Austalian). Chaque expérience est réalisée en deux étapes : − L’apprentissage de la base d’entrainement : Dans cette étape, nous commençons par extraire les N-grammes et leurs fréquences d’apparition dans chaque fichier de la base d’entrainement, puis nous combinons les N-grammes de tous les fichiers en éliminant les redondantes. L’objectif est de construire une base commune. Après, nous calculons le gain d'information IG de chaque N-grammes, ensuite nous les trions dans l'ordre décroissant de l'IG afin de sélectionner les X premières les plus pertinentes pour former une nouvelle base réduite. À la fin de cette étape chaque fichier exécutable (malveillant ou bénin) est représenté par sa signature (vecteur de XN-grammes). Ces dernières vont servir comme entrées pour les classifieurs SVDD et SSPV-SVDD. Nous évaluons le taux de reconnaissance relatif à la base d’entrainement selon les valeurs prises parQ. − L’identification d’un exécutable de test: Dans cette étape, nous visons à évaluer la capacité de généralisation de notre méthode afin de détecter les nouveaux virus. A partir d’un programme de la base de test nous extrayons ses N-grammes distinctes ainsi que leurs fréquences d’apparition, nous constituons sa signature par la projection de l'ensemble de ces N-grammes dans la base réduite (construite dans l'étape d’entrainement). Ensuite, nous identifions sa classe adéquate en utilisant la fonction de décision des classifieurs SVDD et SSPV-SVDD. La même procédure est répétée pour l’ensemble des fichiers de la base de test afin d’évaluer le taux moyen de reconnaissance selon les valeurs prises par σ. Dans toutes les expériences, nous employons le noyau Gaussien. Afin d’évaluer la moyenne et l’écart-type du taux de reconnaissance chaque expérience est répétée 10 fois. Une description détaillée de la méthode proposée est représentée dans la figure 5.6. 123 Classification et détection des spams et des virus informatiques par SVDD Diviser aléatoirement la base expérimentale en deux ensembles d’entrainement (80% bénins, 80% virus) et de test (20% bénins, 20% virus) Ensemble de test Sélectionner un fichier de test x et sa classe (virale ou bénigne) y Extraire la séquence hexadécimale de x Extraire les N-grammes distinctes ainsi que leurs fréquences d’apparition Ensemble d’entrainement Convertir chaque fichier exécutable en une séquence hexadécimale Extraire les N-grammes distinctes de chaque fichier ainsi que leurs fréquences d’apparition Concaténer les N-grammes de tous les fichiers et éliminer les redondances. Construire une base B avec les N-grammes concaténées et leurs fréquences dans chaque fichier. Calculer la mesure appelée le gain d’information (IG) Projeter les N-grammes de x dans la base réduite Former une nouvelle base de taille réduite, en sélectionnant les k premieres N-grammes, selon l’ordre décroissant de (IG) Construire les deux hypersphères relatives aux fichiers (viraux et bénins) moyennant SVDD et SSPV-SVDD Répéter pour Les autres fichiers Evaluer la classe de x par les deux fonctions de décision de SVDD et SSPV-SVDD Calculer la moyenne du taux de reconnaissance de virus et son écart type Figure 5.6 - Etapes de la méthode proposée pour la détection des virus informatiques Résultats numériques La première expérience illustrée par la figure 5.7, concerne la classification d’une seule famille virale contre des fichiers bénins, elle montre la variation du taux moyen de reconnaissance et l'écart type des classifieurs SVDD et SSPV-SVDD selon la largeur du noyau Gaussien Q. La figure est divisée en deux parties: 124 Classification et détection des spams et des virus informatiques par SVDD – – La première concerne la base d’entrainement. On observe que la classification par la méthode SVDD donne un taux moyen de reconnaissance qui atteint un maximum de 74 % avec un grand écart type, contrairement à SSPV-SVDD qui est stable et qui atteint environ 100 % quelque soit la valeur de Q. La seconde concerne la base de test. On remarque que le taux moyen de reconnaissance relatif à la méthode SSPV-SVDD dépasse celui de SVDD (maximum de 97% contre 58%), également l'écart type de SSPV-SVDD est inférieur à SVDD. Figure 5.7 - Le taux moyen de reconnaissance de SSPV-SVDD et SVDD pour Dos.Vienna La deuxième expérience (Figure 5.8) a le même objectif que la première, la seule différence est que la famille virale mise en expérience est hétérogène, elle est composée de trois types de virus : Dos.BadBoy, Dos.Ash et Dos.BW. Egalement la figure est divisée en deux parties: – La première concerne la base d’entrainement : On constate qu’en moyen 100% des fichiers d’entrainement sont correctement classés par SSPV-SVDD, mais lors du passage à SVDD les résultats diminuent considérablement (maximum de 70%) et l’écart type devient plus important. – La seconde concerne la base de test. On observe qu’environ 94% des nouveaux exécutables sont correctement classés, avec une faible variance lors de l'utilisation de SSPV-SVDD, contrairement à SVDD qui donne de faibles résultats (maximum de 44%) avec une grande variance. 125 Classification et détection des spams et des virus informatiques par SVDD Figure 5.8 - Le taux moyen de reconnaissance de SSPV-SVDD et SVDD pour Dos.BadBoy, Dos.Ash et Dos.BW La troisième expérience (Figure 5.9) a pour but d'évaluer la capacité des classifieurs SVDD et SSPV-SVDD à distinguer entre deux familles virales différentes Dos.Burger et Dos.Austalian. La figure peut être divisée en deux parties: – La première partie concerne la base d’entrainement : On remarque que le meilleur taux de reconnaissance avec une faible variance a été atteint en utilisant SSPV-SVDD (maximum de 95%) par rapport à SVDD (maximum de 85%). – La seconde partie concerne la base de test : On voit que le classificateur SSPV-SVDD donne un meilleur taux de reconnaissance (maximum de 90%) en comparaison avec SVDD (maximum de 82%). Figure 5.9 - Le taux moyen de reconnaissance de SSPV-SVDD et SVDD pour Dos.Burger contre Dos.Austalian 126 Classification et détection des spams et des virus informatiques par SVDD En conclusion. Toutes les expériences ont montré que les meilleurs résultats de classification ont été atteints en appliquant la combinaison de N-grammes et la version améliorée de SVDD appelée SSPV-SVDD. 5.4. Conclusion Dans ce chapitre nous nous sommes focalisés sur certains problèmes qui menacent la sécurité des systèmes informatiques, qui sont les courriels indésirables communément connus sous le nom de spams et les logiciels malveillants. Ces menaces électroniques qui ne cessent d’augmenter peuvent entraîner des dommages conséquents pour les utilisateurs particuliers comme pour les entreprises. L’utilisation des méthodes ordinaires pour lutter contre ces attaques comme la signature virale, le filtrage anti-spam, etc. s’avèrent inefficaces face aux techniques constamment développées pour masquer leurs contenus et ainsi les rendre indétectables. Récemment de nouvelles méthodes plus intelligentes, capables d’analyser et de détecter les spams et les logiciels malveillants ont été introduites, parmi elles figurent les méthodes d’apprentissage automatique et les techniques de fouille de données. A l’issue des contributions intéressantes et prometteuses présentées dans les deux chapitres précédents, et qui ont pour objectif l’amélioration de la performance du classifieur SVDD, nous avons essayé de bénéficier de certaines d’entre elles en les appliquant aux problèmes susmentionnés. En effet, nous avons développé une version améliorée du SVDD nommée SSPV-SVDD avec une fonction de décision floue, pour le filtrage anti-spam. Aussi, nous avons combiné SSPV-SVDD et N-grammes pour la détection des virus informatiques. Les résultats expérimentaux obtenus sur des bases réelles des spams et des virus informatiques, ont été très convaincants et très intéressants en termes de détection et d’identification de spams et de virus informatiques. Ces applications nous ont permis de toucher aux vrais problèmes du classifieur SVDD dont héritent les versions améliorées notamment la classification des grandes bases de données qui nécessitent un temps d’apprentissage trop élevé. D’autres problèmes sont intrinsèques aux applications choisies, comme le choix d’une méthode efficace pour l’extraction d’information pertinente à partir des fichiers exécutables et la prise des précautions nécessaires lors du traitement de ces derniers qui peuvent endommager l’ordinateur utilisé dans l’expérience ou le rendre inopérable. 127 Conclusion générale Au cours de ces travaux de recherche nous nous sommes intéressés principalement à deux sujets, le premier est l’amélioration de la capacité de généralisation du classifieur Support Vector Domain Description, le second est l’application de certaines desdites améliorations à deux problèmes qui concerne la sécurité des systèmes informatiques à savoir la détection des virus informatiques et le filtrage anti-spam. Tout d’abord, Nous avons commencé nos travaux de recherche par une étude bibliographique, elle concerne principalement le dressage d’un panorama des principales méthodes utilisées dans le domaine de l’apprentissage automatique supervisé et non-supervisé. Il s’agit d’une étude comparative dans laquelle nous avons présenté le concept, les avantages, les inconvénients, et les principales variantes de chaque méthode. Parmi ces dernières nous nous sommes particulièrement attirés par les machines à apprentissage vu les multiples avantages et variantes qu’elles possèdent. Ce choix nous a conduit à l’étude des machines à apprentissage à noyaux en particulier les SVMs et SVDD, qui sont basées sur un fondement mathématique solide issu de la théorie d’apprentissage statistique de Vapnik [114,115]. Ces classifieurs ont connu une grande évolution et ont montré d’excellentes performances pour un large champ d’applications. A travers cette étude nous avons expliqué le principe de la minimisation du risque structurel adopté 128 Conclusion générale par ces classifieurs, aussi nous avons analysé leurs développements mathématiques dans le cas mono-classe, bi-classes, et multi-classes, également nous avons exposé en détails quelques variantes de ces classifieurs et enfin nous avons abordé les fonctions noyaux utilisées par SVMs et SVDD et permettant d’effectuer un passage implicite de l’espace d’origine vers un autre augmenté afin de classifier les données non linéairement séparables. L’objectif derrière cette partie de thèse est de détecter les limitations et les points faibles de ces classifieurs afin d’y remédier par la suite. Nos travaux se sont ensuite focalisés sur l’amélioration du classifieur SVDD, le choix de se concentrer sur ce classifieur est motivé par sa performance de classification et sa capacité de généralisation. Afin d’augmenter sa performance, nous avons tiré profit de deux stratégies. La première est l’optimisation de la séparabilité entre les classes d’une base d’apprentissage. La deuxième est le paramétrage optimal de l’espace des caractéristiques. La première stratégie a donné naissance à trois améliorations du SVDD. En effet, nous avons maximisé la séparation inter-sphères et par suite la séparabilité entre les classes ; nous avons aussi introduit un paramètre pour contrôler le volume des sphères minimales pour mieux cerner les classes ; et enfin, nous avons exploité la notion d’appartenance floue et établit une nouvelle fonction de décision plus précise. La deuxième stratégie a également produit trois améliorations du SVDD, les deux premières ont pour objectif l’optimisation des paramètres du classifieur afin de trouver un meilleur espace de caractéristiques. Elles ont permet d’optimiser la largeur du noyau Gaussien, Quant à la dernière amélioration, elle a essayé de remédier au problème des données incertaines qui existent dans les bases d’apprentissage et qui faussent les frontières de séparation entre les classes. Afin de valider leur performance, les améliorations proposées ont été évaluées sur des jeux de données artificielles comme le problème d’échiquier, la double spirales ou encore des ensembles de données aléatoires et sur des bases de données réelles, les résultats du taux de reconnaissance ont montré que ces versions améliorées du SVDD sont performantes. Enfin, pour tester l’efficacité de ces versions sur des cas pratiques, nous nous sommes intéressés à deux problèmes dont souffrent les systèmes informatiques qui sont le filtrage antispams et la détection des virus informatiques. Nous avons utilisé deux versions améliorées du classifieur SVDD ainsi qu’une technique d’extraction des caractéristiques à partir des fichiers exécutables connue sous le nom de N-gramme pour remédier auxdits problèmes. Les méthodes proposées ont été testées sur des bases de données réelles de spams et de virus. Les résultats en termes du taux de reconnaissance ont prouvé que ces méthodes sont capables de détecter la majorité des virus et des spams inconnus de la base expérimentale. Les perspectives de ce travail sont nombreuses, elles portent à la fois sur la recherche de nouvelles améliorations du SVDD et sur l’application de ce classifieur ainsi que ces versions améliorées sur d’autres problèmes de classification. L’un des problèmes importants qui reste posé est la minimisation de la complexité temporelle de SVDD. En effet, l’apprentissage par ce dernier 129 Conclusion générale impose la résolution d’un problème quadratique convexe sous contraintes, ce qui demande un temps d’apprentissage trop élevé, en particulier pour les grandes bases. Ajouté à cela le problème de la séparabilité des classes qui n’est jamais résolu complètement malgré les améliorations apportées de nos jours. 130 Bibliographie Bibliographie [1] T. Oda and T. White. "Developing an Immunity to Spam". In Proceedings of the Genetic and Evolutionary Computation Conference, pages 231-242, Chicago, IL, July 12-16, 2003. [2] D.O. Hebb, "The organization of behaviour". Wiley, New York, 1949. [3] T.S. Lim, W.Y. Loh, and Y.S. Shih. "A comparison of prediction accuracy, complexity and training of thirty-three old and new classification algorithms". Machine Learning, Vol. 40, N°. 3, pages 203-228, 2000. [4] J. Ghosh and A. Nag. "An overview of radial basis function networks". Radial Basis Function Neural Network Theory and Applications, Physica-Verlag, Heidelberg, 2000. [5] J. J. Hopfield. "Neural Networks and Physical System with Emergent Collective Computational Abilities". In proceedings of the National Academy of Sciences, Vol. 79, N°. 8, pages 2554-2558, USA, 1982. [6] M. Cochez and H. Mouy, "Twister Tries: Approximate Hierarchical Agglomerative Clustering for Average Distance in Linear Time". In proceedings of the ACM SIGMOD International Conference on Management of Data, pages 505-517, Melbourne, Australia, May 31 - June 4, 2015. [7] K.P. Wu and S.D. Wang. "Choosing the kernel parameters for support vector machines by the intercluster distance in the feature space". Pattern Recognition, Vol. 42, N°. 5, pages 710-717, 2009. [8] C.F. Lin and S.D. Wang. "Training algorithms for fuzzy support vector machines with noisy data". Pattern Recognition Letters, Vol. 25, N°. 14, pages 1647-1656, 2004. [9] E. Cantu-Paz and C. Kamath. "Inducing Oblique Decision Trees with Evolutionary Algorithms". IEEE Transactions on Evolutionary Computation, Vol. 7, N°. 1, pages 54-68, 2003. [10] R. Polikar, L. Upda, S.S. Upda, and V. Honavar. "Learn++ : an incremental learning algorithm for supervised neural networks" . IEEE Transactions on Systems, Man, and Cybernetics, Part C, Vol. 31, N°. 4, pages 497- 508, 2001. [11] T. Hofmann, B. Scholkopf, and A.J. Smola. "Kernel methods in machine learning", The Annals of Statistics, Vol. 36, N°. 3, pages 1171-1220, 2008. [12] C. Richard, F. Abdallah, and R. Lengellé. "Algorithmes séquentiels pour l'analyse de données par méthodes à noyau ". Traitement du signal, Vol. 21, N°. 2, pages 97-108, 2004. [13] S.W. Lin, Z.J. Lee, S.C. Chen, and T.Y. Tseng. "Parameter determination of support vector machine and feature selection using simulated annealing approach". Applied Soft Computing, Vol. 8, N°. 4, pages 1505-1512, 2008. [14] O. Chapelle, B. Schölkopf, and A. Zien. "Semi-Supervised Learning". Adaptive computation and machine learning. MIT Press, Cambridge, Mass., USA, 2006. [15] R. Rojas. "Neural Networks - A Systematic Introduction", Springer-Verlag, Berlin, New-York, 1996. [16] M. El boujnouni, M. Jedra, and N. Zahid. “Email Spam filtering using the combination of two improved versions of Support Vector Domain Description”, In Proceedings of the 10th International Conference on Computational Intelligence in Security for Information Systems (CISIS15), International Joint Conference Advances in Intelligent Systems and Computing Volume 369, pages 99109, Burgos, Spain, 15-17 June, 2015. [17] A. Almaksour, H. Mouchère, and E. Anquetil. "Apprentissage incrémental et synthèse de données pour la reconnaissance de caractères manuscrits en-ligne". 10ème Colloque International Francophone sur l'Ecrit et le Document, pages 55-60, Rouen, France, 28-30 October, 2008. [18] S. Ben-david, E. Kushilevitz, and Y. Mansoury. "Online Learning versus Offline Learning", Machine Learning, Vol. 29, N°. 1,pages 45-63, 1997. 131 Bibliographie [19] S.K. Murthy, S. Kasif, and S. Salzberg. "A System for Induction of oblique Decision Trees". Journal of Artificial Intelligence Research, Vol. 2, N°. 1, pages 1-32, 1994. [20] C.E. Brodley and P.E. Utgoff. "Mutlivariate Decision Trees". Machine Learning, Vol. 19, N°. 1, pages 45-77, 1995. [21] F. Jinglong, W. Wanliang, W. Xingqi, L. Zhe, L. Dongsheng, and Z. Qili . "A SVDD Method Based on Maximum Distance between Two Centers of Spheres". Chinese Journal of Electronics, Vol. 21, N°. 1, 2012. [22] P.E. Utgoff, N.C. Berkman, and J.A. Clouse. "Decision tree induction based on efficient tree restructuring". Machine Learning, Vol. 29, N°. 1, pages 5-44, 1997. [23] P. Pantel and D. Lin. "Spamcop: A spam classification & organization program". In proceedings of the AAAI Workshop on Learning for Text Categorization, pages 95-98, Madison, Wisconsin, July 27, 1998. [24] A. Cornuéjols and L. Miclet. "Apprentissage artificiel concepts et algorithmes". Edition Eyrolles, Paris, 804 pages, 2011. [25] X. Carreras, L. Marquez, and J.G. Salgado. "Boosting trees for anti-spam email filtering". In Proceedings of the 4th International Conference on Recent Advances in Natural Language Processing, pages 58-64,Tzigov Chark, Bulgaria, 5-7 September, 2001. [26] B.D. Ripley. "Neural networks and related methods for classification". Journal of the Royal Statistical Society, Series B, Vol. 56, N°. 3, pages 409-456, 1994. [27] C.M. Bishop. "Neural Networks for Pattern Recognition". Oxford University Press, New York, 1995. [28] K. Pearson. "On lines and planes of closest fit to systems of points in space" . Philosophical Magazine, Vol. 2, N°. 6, pages 559-572, 1901. [29] H. Hotelling. "Analysis of a complex of statistical variables into principal components". Journal of Educational Psychology, Vol. 24, N°. 6, pages 417-441, 1933. [30] P.H. Sneath and R.R. Sokal. "Numerical Taxonomy: the principals and practice of numerical classification ". W. H. Freeman and Company Edition, San Francisco, 1973. [31] B. King. "Step wise clustering procedures". Journal of the American Statistical Association, Vol. 69, N°. 317, pages 86-101, 1967. [32] J. H. Ward. "Hierachical grouping to optimize an objective function". Journal of the American Statistical Association, Vol. 58, N°. 301, pages 236-244, 1963. [33] F. Murtagh. "A survey of recent advances in hierarchical clustering algorithms which use cluster centers". Computer Journal, Vol. 26, N°. 4, pages 354-359, 1984. [34] G. Haffari. "A Survey on Inductive Semi-Supervised Learning". Technical report, School of Computing Science, Simon Fraser University, 2005. [35] M. Seeger. "Learning with Labeled and Unlabeled Data". Technical report, The Institute for Adaptive and Neural Computation, University of Edinburgh, UK, 2000. [36] X. Zhu. "Semi-Supervised Learning Literature Survey". Technical Report, Computer Sciences, University of Wisconsin-Madison, 2005. [37] A. Blum and T. Mitchell. "Combining Labeled and Unlabeled Data with Cotraining ". In Proceedings of the 11th Annual Conference on Computational Learning Theory. Morgan Kaufmann Publishers, pages 92-100, ACM, New York, USA, July 24-26, 1998. [38] G. Stempfe. "Robustesse des Séparateurs Linéaires au Bruit de Classification ". Thèse de doctorat, Université de Aix-Marseille ,1999. [39] J. R. Quinlan. "Induction of decision trees ". Machine Learning, Vol. 1, N°. 1, pages 81-106, 1986. 132 Bibliographie [40] J. R. Quinlan. "C4.5: Programs for machine learning". Morgan Kaufmann Publishers, San Mateo, California, 1993. [41] L. Breiman, J.H. Friedman, R.A. Olshen, and C.J. Stone. "Classification and Regression Trees". Technical report, Wadsworth International Group, Belmont, CA, 1984. [42] P.E. Utgoff. "Incremental induction of decision trees". Machine Learning, Vol. 4, N°. 2, pages 161186, 1989. [43] I. Androutsopoulos, G. Palouras, V. Karkaletsis, G. Sakkis, C. Spyro-poulos , and P. Stamatopoulos. "Learning to Filter Spam E-Mail: A Comparison of a Naive Bayesian and a Memory-Based Approach ".In proceedings of the workshop Machine Learning and Textual Information Access, 4th European Conference on Principles and Practice of Knowledge Discovery in Databases, pages 1-13, Lyon, France, 13-16 September 2000. [44] N. Sebe, M.S. Lew, I. Cohen, A. Garg , and T.S Huang. "Emotion recognition using a cauchy naive bayes classifier". In Proceedings of the 16th International Conference on Pattern Recognition, pages 1720, Quebec City, Canada, 11-15 August, 2002. [45] J.C. Schlimmer and D. Fisher. "A case study of incremental concept induction". In Proceedings of the 5th National Conference on Artificial Intelligence, Morgan Kaufmann, pages 496-501, Philadelphia, PA, 1986. [46] L. Zhou, J. Feng, A. Sears, and Y. Shi. "Applying the naive bayes classifier to assist user in detecting speech recognition errors". In Proceedings of the 38th International Conference on System Science, Big Island, HI, USA, 03-06 Jan, 2005. [47] T. Bayes. "An essay toward solving a problem in the doctrine of chances". Philosophical Transactions of the Royal Society of London, Vol. 53, pages 370-418, 1764. [48] A.K. Agrawala. "Learning with a probabilistic teacher". IEEE Transactions on Information Theory, Vol. 16, N°. 4, pages 373–379, 1970. [49] S. Fralick. "Learning to recognize patterns without a teacher". IEEE Transactions on Information Theory, Vol. 13, N°.1, pages 57-64, 1967. [50] H.J. Scudder. "Probability of error of some adaptive pattern-recognition machines". IEEE Transactions on Information Theory, Vol. 11, N°.3, pages 363-371, 1965. [51] D.M.J. Tax and R.P.W. Duin. "Data Domain Description Using Support Vectors". In Proceedings of the European Symposium on Artificial Neural, pages 251-256, Bruges, Belgium, 21-23 April, 1999. [52] D.M.J. Tax and R.P.W. Duin. "Support vector domain description". Pattern Recognition Letters, Vol .20, N°. (11-13), pages 1191-1199, 1999. [53] T. Laloe. "Sur Quelques Problèmes d'Apprentissage Supervisé et Non Supervisé". Thèse de doctorat, Université de Montpellier II, 2009. [54] A. Ben-Hur, D. Horn, H. T. Siegelmann, and V. Vapnik. "Support vector clustering". Journal of Machine Learning Research, Vol. 2, N°.12, pages 125-137, 2001. [55] J. Lee and D. Lee. "An improved cluster labeling method for support vector clustering". IEEE Transaction on Pattern Analysis and Machine Intelligence, Vol. 27, N°.3, pages 461-464, 2005. [56] M. Sahami, S. Dumais, D. Heckerman, and Eric Horvitz. "A Bayesian approach to filtering junk email". In proceeding of the AAAI Workshop on Learning for Text Categorization. pages 98-105, Madison, Wisconsin, July 26-27, 1998. [57] M. Wu and J. Ye. "A Small Sphere and Large Margin Approach for Novelty Detection Using Training Data with Outliers". IEEE transactions on pattern analysis and machine intelligence, Vol.31, N°. 11, pages 2088-2092, 2009. 133 Bibliographie [58] D.M.J. Tax and R.P.W. Duin. "Support Vector Data Description". Machine Learning, Vol. 54, pages 45-66, 2004. [59] A. Tavakkoli, M. Nicolescu, G. Bebis, and M. Nicolescu. "A support vector data description approach for background modeling in videos with quasi-stationary backgrounds". International journal on artificial intelligence tools, Vol. 17, N°. 4, pages 635-658, 2008. [60] J. Wang, P. Neskovic, and L.N. Cooper. "Pattern classification via single spheres". Lecture Notes in Computer Science, Vol. 3735, pages 241-252, 2005. [61] M. EL Boujnouni, M. Jedra, and N. Zahid. "New Decision Function for Support Vector Data Description". Journal of Information & Systems Management, Vol. 2, N°. 3, pages 105-115, 2012. [62] P.Y Hao, J.H Chiang, and Y.H Lin. "A new maximal margin spherical-structured multi-class support vector machine ". Applied Intelligence, Vol. 30, N°. 2, pages 98-111, 2009. [63] H. Larochelle. "Étude de techniques d’apprentissage non-supervisé pour l’amélioration de l’entraînement supervisé de modèles connexionnistes". Thèse de doctorat, Université de Montréal, 2008. [64]T. Mu and A.K. Nandi. "Multiclass classification based on extended support vector data description". IEEE Transactions on Systems, Man, and Cybernetics-Part B, Vol.39, N°.5, pages 1206-1216, 2009. [65] K. Lee, D.W. Kim, D. Lee, and K.H. Lee. "Improving support vector data description using local density degree ". Pattern Recognition, Vol.38, N° 10, pages 1768 -1771, 2005. [66] B. Schölkopf and A.J. Smola. "Learning with Kernels: Support Vector Machines, Regularization, Optimization, and Beyond ". MIT Press Cambridge, 644 pages, MA, USA, 2002. [67] K.R. Mäller, S. Mika, G. Rätsch, K. Tsuda, and B. Schölkopf. "An introduction to kernel-based learning algorithms ". IEEE Transactions on Neural Networks, Vol. 12, N°.2, pages 181-201, 2001. [68] C.W. Hsu, C.C. Chang, and C.J. Lin. "A practical guide to support vector classification ". Technical Report, Department of Computer Science and Information Engineering, University of National Taiwan, pages 1-12. 2003. [69] J. Wang, X. Wu, and C. Zhang. "Support vector machines based on k-means clustering for real time business intelligence systems". International Journal of Business Intelligent and Data Mining, Vol.1, N°.1, pages 54-64, 2005. [70] H. Liu and H. Motoda. "Feature Selection for Knowledge Discovery and Data Mining". Edition Kluwer Academic Publishers, 214 pages, Boston ,1998. [71] R.C. Chen and C.H. Hsieh. "Web page classification based on a support vector machine using a weighed vote schema ". Expert Systems with Applications. Vol. 31, N°. 2, pages 427-435, 2006. [72] C. Gold, A. Holub, and P. Sollich. "Bayesian approach to feature selection and parameter tuning for support vector machine classifiers ". Neural Networks. Vol. 18, N°. 5-6, pages 693-701, 2005. [73] O. Chapelle, V. Vapnik, O. Bousquet, and S. Mukherjee. "Choosing multiple parameters for support vector machines ". Machine Learning, Vol. 46, No. (1-3), pages 131-159, 2002. [74] R. Kohavi and G.H. John. "Wrappers for feature subset selection". Artificial Intelligence, Vol. 97, N°. (1-2), pages 273-324, 1997. [75] UCI repository of machine learning databases. http://archive.ics.uci.edu/ml/. [76] T. Glasmachers and C. Igel. "Gradient-based adaptation of general gaussian kernels". Neural Computation, Vol. 17, N°. 10, pages 2099-2105, 2005. [77] H. Xiong, M.N.S. Swamy, and M. Omair Ahmad. "Optimizing the kernel in the empirical feature space ". IEEE Transactions on Neural Networks, Vol. 16, N°. 2, pages 460-474, 2005. [78] K. Fukunaga. "Introduction to Statistical Pattern Recognition ". 2nd Edition, Academic Press, Boston, 1990. 134 Bibliographie [79] J. Wang, H. Lu, K.N Plataniotis, and J. Lu. "Gaussian kernel optimization for pattern classification". Pattern Recognition, Vol. 42, N°. 7, pages 1237-1247, 2009. [80] P. N. Belhumeur, J. P. Hespanha, and D. J. Kriegman. "Eigenfaces vs. Fisherfaces: recognition using class specific linear projection". IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 19, N°. 7, pages 711-720, 1997. [81] P. Vincent. "Modèles à noyaux à structure locale". Thèse de doctorat, Université de Montréal, 2003. [82] P.Y. Hao and Y.H. Lin , "A new multi-class support vector machine with multi-sphere in the feature space", In Proceedings of the 20th international conference on Industrial, engineering, and other applications of applied intelligent systems, pages 756-765, Kyoto (Japan) , 2007 [83] B.E. Boser, I. Guyon, and V. Vapnik. "A training algorithm for optimal margin classifiers". In 5th Annual Workshop on Computational Learning Theory, pages 144-152. Pittsburgh, ACM, 1992. [84] C. Cortes and V. Vapnik. "Support vector networks". Machine Learning, Vol. 20, N°.3, pages 273297, 1995. [85] E. Didaye, J. Lemaire, J. Pouget , and F. Testuf . "Un algorithme de type nuées dynamiques". In Eléments d’analyse de données, Dunod, pages 117-123, 1982. [86] D. Fisher. "Knowledge acquisition via incremental conceptual clustering". Machine Learning, Vol. 2, N°. 2, pages 139-172, 1987. [87] J. H. Gennari, P. Langley, and D. H. Fisher. "Models of incremental concept formation". Journal of Artificial Intelligence, Vol. 40, N°. (1-3), pages 11- 61, 1989. [88] S. Guha, R. Rastogi, and K. Shim . "Cure: an efficient clustering algorithm for large databases" . Information Systems, Vol. 26, N°. 1, pages 35-58, 2001. [89] G. Karypis, E.H.S. Han, and V. Kumar. "Chameleon: Hierarchical clustering using dynamic modeling". IEEE Computer, Vol.32, N° 8, pages 68–75, 1999. [90] D. Fisher. "Iterative optimization and simplification of hierarchical clustering". Journal of Articial Intelligence Research,Vol. 4, pages 147-179, 1996. [91]X. Jiang, Z. Yi, and J.C. Lv. "Fuzzy SVM with a new fuzzy membership function". Neural Computing and Application, Vol. 15, N°. (3-4), pages 268-276, 2006. [92] L.A. Zadeh, "Fuzzy sets", Information and Control, Vol. 8, N°. 3, pages 338-353, 1965. [93] C.F. Lin and S.D. Wang. "Fuzzy support vector machines". IEEE Transactions on neural networks, Vol.13, N°. 2, pages 464-471, 2002. [94] J. C. Dunn, "A fuzzy relative of the isodata process and its use in detecting compact, well-separated clusters", Journal of Cybernetics, Vol.3, N°. 3, pages 32-57, 1973. [95] S. Abe and T. Inoue. "Fuzzy support vector machines for multiclass problems". In Proceedings of the 10th European symposium on artificial neural networks, pages 113-118, Bruges, Belgium, 2002. [96] D. Tsujinishi and S. Abe. "Fuzzy least squares support vector machines for multiclass problems". Neural Networks, Vol.16, N°. (5-6), pages 785-792, 2003. [97] X.G Zhang. "Using class-center vectors to build support vector machines". In proceedings of the IEEE workshop on neural networks for signal processing IX, pages 3-11, Madison, Winsconsin, 25 Aug, 1999. [98] A. Foss and O.R. Zaïane. "Class Separation through Variance: A new Application of Outlier Detection". Knowledge and Information Systems , Vol. 29, N°. 3, pages 565-596, 2011. [99] F. Takahashi and S. Abe. "Optimizing directed acyclic graph support vector machines". In Proceedings of the Artificial Neural Networks in Pattern Recognition (ANNPR 2003), pages 166-170, Florence, Italy, 12-13 September, 2003. 135 Bibliographie [100] T. Phetkaew, B. Kijsirikul, and W. Rivepiboon. "Reordering adaptive directed acyclic graphs: an improved algorithm for multiclass support vector machines". In Proceedings of the International Joint Conference on Neural Networks, Vol. 2, pages 1605-1610, Portland, Oregon, 20-24 July, 2003. [101] M. El boujnouni, M. Jedra, and N. Zahid, "Feature selection of support vector domain description using gaussian kernel", Journal of Theoretical and Applied Information Technology, Vol. 46, N°. 1, pages 479-485, December 2012. [102] M. El boujnouni, M. Jedra, and N. Zahid. "Kernel’s Parameter Selection for Support Vector Domain Description". International Journal of Computer Science and Engineering, Vol. 7, N°. 8, pages 10871092, 2013. [103] M. El boujnouni, M. Jedra, and N. Zahid. "Support Vector Domain Description with maximum between spheres separability". Journal of Information Science and Engineering, Vol. 30, N°. 6, pages 1985-2002, 2014. [104] M. El boujnouni, M. Jedra, and N. Zahid. "Support Vector Domain Description with a new confidence coefficient". In Proceedings of the 9th International Conference on Intelligent Systems: Theories and Applications, Vol. 1, pages 9-16, Rabat, Morocco, May 2014. [105] P.Y. Hao . "Fuzzy one-class support vector machines". Fuzzy Sets and Systems, Vol. 159, N°. 18, pages 2317- 2336, 2008. [106] T.Y. Wang and H.M. Chiang. "Fuzzy support vector machine for multi-class text categorization". Information Processing and Management, Vol. 43, N°. 4, pages 914-929, 2007. [107] Y. Wang, S. Wang, and K.K. Lai ."A new fuzzy support vector machine to evaluate credit risk". IEEE Transactions on Fuzzy Systems, Vol. 13, N°. 6, pages 820-831, 2005. [108] A. Hotho, S. Staab, and G. Stumme . "Ontologies Improve Text Document Clustering". In Proceedings of the 3rd IEEE International Conference on Data Mining, pages 541-544, Melbourne, Florida, USA, 19-22 Dec, 2003. [109] A. G. López-Herrera, E. Herrera-Viedma, and F. Herrera ."A Multiobjective Evolutionary Algorithm for Spam E- Mail Filtering". In Proceedings of the 3rd International Conference on Intelligent System and Knowledge Engineering, Vol.1, pages 366-371, Xiamen, China, 17-19 Nov, 2008. [110] K.P. Wu and S.D. Wang. "Choosing the kernel parameters of support vector machines according to the inter-cluster distance". In Proceedings of the International Joint Conference on Neural Networks, pages 1205-1211, Vancouver, BC, Canada, 16-21 July, 2006. [111] J.C. Bezdek and N.R. Pal. "Some new indexes of cluster validity". IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics, Vol. 28, N°. 3, pages 301-315, 1998. [112] C. Lazar. "Méthodes non supervisées pour l’analyse des données multi-variées". Thèse de doctorat, Université de Reims Champagne Ardenne, 2008. [113] D. Zhang, S. Chen, and Z.H. Zhou. "Learning the kernel parameters in kernel minimum distance classifier ". Pattern Recognition. Vol. 39, N°. 1, pages 133-135, 2006. [114] V.Vapnik. "The Nature of Statistical Learning Theory ". Springer-Verlag, New York, 1995. [115] V.Vapnik. "Statistical Learning Theory ". Wiley, New York, 1998. [116] S. Knerr, L. Personnaz, and G. Dreyfus. "Single-layer learning revisited : A stepwise procedure for building and training a neural network". Neurocomputing: Algorithms, Architectures and Applications, pages 41-50. Springer-Verlag, 1990. [117] J. Weston and C. Watkins. "Multi-class support vector machines ". Technical Report, Royal Holloway, Department of Computer Science, University of London, 1998. 136 Bibliographie [118] J. Weston and C. Watkins. "Support vector machines for multi-class pattern recognition". In Proceedings of the 7th European Symposium on Artificial Neural Networks, pages 219-224, Bruges, Belgium, 21-23 April 1999. [119] R. Rakotomalala. "Graphes d’Induction". Thèse de doctorat, Université Claude Bernard Lyon 1, 1997. [120] P. Langley, W. Iba, and K. Thompson. "An analysis of Bayesian classifiers". In Proceedings of the 10th National Conference on Artificial Intelligence, pages 223-228, Menlo Park, CA, USA, July 12-16, 1992. [121] L. M. Manevitz, and M.Yousef, "One-Class SVMs for Document Classification", Journal of Machine Learning Research, Vol. 2, pages 139-154,2001. [122] L. Hamel. "Knowledge discovery with support vector machines" . Wiley Edition, 2009. [123] B. Schölkopf, J.C. Platt, J. Shawe-Taylor, A.J. Smola, and R.C. Williamson. "Estimating the support of a high-dimensional distribution". Neural Computation, Vol.13, N°. 7, pages 1443-1471, 2001. [124] J.A. K. Suykens, T. Van Gestel, J. De Brabanter, B. De Moor, and J. Vandewalle. "Least Squares Support Vector Machines" . World Scientific pub, Singapore, 2002. [125] J.A.K. Suykens and J. Vandewalle. "Least squares support vector machine classifiers". Neural Processing Letters, Vol. 9, N°. 3, pages 293-300, 1999. [126] T. Van Gestel, J.A. Suykens, G. Lanckriet, A. Lambrechts, B. De Moor , and J. Vandewalle. "Bayesian framework for least-squares support vector machine classifiers, gaussian processes, and kernel Fisher discriminant analysis". Neural Computation, Vol. 14, N°. 5, pages 1115-1147, 2002. [127] Z. Guo and G. Bai. "Application of Least Squares Support Vector Machine for Regression to Reliability Analysis". Chinese Journal of Aeronautics, Vol. 22, N°. 2, pages 160-166, 2009. [128]E. Forgy. "Cluster analysis of multivariate data : Efficiency vs. interpretability of classifications". Biometrics, Vol. 21, N°. 3, pages 768-769, 1965. [129] D. Bhattacharyya and T.H. Kim. "Signature Recognition using Artificial Neural Network". In Proceedings of the 9th WSEAS International Conference on Computational Intelligence, Man-Machine Systems and Cybernetics, pages 183-187, Merida,Venezuela, 2010. [130] M. Muditha MBBS Hapudeniya. "Artificial Neural Networks in Bioinformatics". Sri Lanka Journal of Bio-Medical Informatics.Vol. 1, N°. 2, pages 104-111, 2010. [131]S. H. Lin, S. Y. Kung, and L. J. Lin. "Face recognition/detection by probabilistic decision based neural network". IEEE Transactions on Neural Networks, Special Issue on Artificial Neural Networks and Pattern Recognition, Vol. 8, N°.1, January 1997. [132] A. B. Sonkamble and D. D. Doye. "Speech Recognition Using Vector Quantization through Modified K-means LBG Algorithm". Computer Engineering and Intelligent Systems, Vol. 3, N°. 7, pages 137- 145, 2012. [133] T. Fawcett. "In vivo spam filtering: A challenge problem for data mining". In Proceedings of the 9th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining Explorations, Vol. 5, N°. 2 , Washington, DC, USA, Aug 24-27,2003. [134] M. T. Wishart, and R. G. Harley, "Identification and control of induction machines using artificial neural networks". In proceedings of IEEE Industry Applications Society Annual Meeting, pages703709,Toronto, Canada, 2-8 Oct, 1993. [135] O. Matan , R. K. Kiang , C. E. Stenard , B. Boser , J. S. Denker , D. Henderson , R. E. Howard , W. Hubbard , L. D. Jackel , and Y. Le Cun, "Handwritten Character Recognition Using Neural Network 137 Bibliographie Architectures", In Proceedings of the 4th United States Postal Service Advanced Technology Conference, pages 1003-1011, Washington D.C, Nov 1990. [136] J.F Casta and B. Prat. "Approche connexionniste de la classification des entreprises : contribution au traitement d’informations incomplètes". Congrès de l’AFC, Paris, 1994. [137] T. Kohonen. "Self-Organization and Associative Memory". Springer-Verlag, Berlin. 1988. [138] R.D. Reed and R.J. Marks. "Neural Smithing. Supervised Learning in Feedforward Neural Networks". A Bradford Book MIT Press, 1998. [139] S. Haykin. "Neural networks: a comprehensive foundation". Prentice Hall, New jersey, USA , 1999. [140] K. Bhangale and S. Krishnan. "Speaker Recognition Using K-Means Algorithm". International Technology Research Letters, Vol. 1 , N°. 1, pages 66- 69, 2012. [141] G. Salton and M.J. McGill, "Introduction to Modern Information Retrieval". McGraw-Hill, 1983. [142] H.G. Rong, M.W. Li, and L. J. Cai. "An early recognition algorithm for BitTorrent traffic based on improved K-means". Journal of Central South University of Technology , Vol. 18, N°. 6, pages 20612067, 2011. [143] R. Ji, X. D. Liu, M. Wu, and J. Liu. "The Application of SVDD in Gene Expression Data Clustering". In Proceedings of the 2nd International Conference on Bioinformatics and Biomedical Engineering, pages 371- 374 , Shanghai, 2008. [144] M. Bicego, E. Grosso, M. Tistarelli. "Face Authentication Using One-Class Support Vector Machines". LNCS, Vol. 3781, pages 15-22, Springer Berlin, 2005. [145] T. Benkedjouh , K. Medjaher, N. Zerhouni , and S. Rechak. "Fault Prognostic of Bearings by using Support Vector Data Description". In Proceedings of the IEEE International Conference on Prognostics and Health Management, Denver United States, 18-21 Jun ,2012. [146] T. Joachims. "Text categorization with Support Vector Machines : Learning with many relevant features". Machine Learning: ECML-98, Lecture Notes in Computer Science, Vol. 1398, pages 137142,1998. [147] S. Tong, D. Koller . "Support Vector Machine Active Learning with Applications to Text Classification". Journal of Machine Learning Research, Vol. 2, pages 45-66, 2001. [148] Y. Zhou, Y. Gong, J. Wang, J. Sun, X. Zhang , and T. Zhu. "Speaker verification based on SVDD". In Proceedings of the 3rd International Congress on Image and Signal Processing , Vol. 7, pages 3168 - 3172, Yantai, China, 16-18 Oct, 2010. [149] K. Jonsson, J. Kittler, Y.P. Li, and J. Matas. "Support vector machines for face authentication". Journal of Image and Vision Computing, Vol. 20, N° (5-6), pages 369-375, 2002. [150] J. Lu, K.N. Plataniotis, A.N. Venetsanopoulo. "Face recognition using feature optimization and νsupport vector learning". In Proceedings of the IEEE Neural Networks for Signal Processing XI, pages 373-382, North Falmouth, MA (USA), 10-12 Sep 2001. [151]J. Weston and C. Watkins. "Support vector machines for multi-class pattern recognition". In Proceedings of the 7th European Symposium on Artificial Neural Networks, Bruges, Belgium, pages 219-224, 1999, [152] D. Krishna Sandeep Reddy and A. K. Pujari. "N-gram analysis for computer virus detection". Journal in Computer Virology, Vol. 2, N°. 3, pages 231-239, 2006. [153] J. Jang, D. Brumley, and S. Venkataraman. "Bitshred: feature hashing malware for scalable triage and semantic analysis". In Proceedings of the 18th ACM Conference on computer and communication security, Chicago, IL, USA, 17-21 Oct, 2011. [154] C. E. Shannon. "Prediction and entropy of printed English". Bell System Technical Journal,Vol. 30, N. 1, pages 50- 64, 1951. 138 Bibliographie [155] Y. Elovici, A. Shabtai, R. Moskovitch, G. Tahan, and C. Glezer. "Applying machine learning techniques for detection of malicious code in network traffic". In Proceedings of the 30th Annual German Conference on Artificial Intelligence (KI 2007), pages 44-50, Osnabrück, Germany, Sept 1013, 2007. [156] O. Sornil and C. Liangboonprakong. "Malware Classification Using N-grams Sequential Pattern Features". International Journal of Information Processing and Management, Vol. 4, N°.5, July 2013. [157] B. Zhang, J. Yin, J. Hao, D. Zhang, and S. Wang. "Malicious codes detection based on ensemble learning". In Proceedings of the 4th International Conference on Autonomic and Trusted Computing, pages 468-477, Hong Kong, China, July 11-13, 2007. [158] O. Henchiri and N. Japkowicz. "A feature selection and evaluation scheme for computer virus detection". In Proceedings of the 6th International Conference on Data Mining, pages 891-895, Hong Kong , 18-22 Dec, 2006. [159] M.G. Schultz, E. Eskin, E. Zadok and S.J. Stolfo. "Data Mining Methods for Detection of New Malicious Executables". In Proceedings of the IEEE Symposium on Security and Privacy, pages 38-49, Oakland, CA, 2001. [160] T. Abou-Assaleh, N. Cercone, V. Keselj, and R. Sweidan. "N-grams-based detection of new malicious code". In Proceedings of the 28th International Computer Software and Applications Conference, Vol. 2, pages 41-42, Hong Kong, China, 28-30 sept, 2004. [161] J.Z. Kolter and M.A. Maloof. "Learning to detect and classify malicious executables in the wild". Journal of Machine Learning Research, Vol. 7, pages 2721-2744, 2006. [162] J. Z. Kolter and M. A. Maloof. "Learning to detect malicious executables in the wild". In Proceedings of the 10th International Conference on Knowledge Discovery and Data Mining, pages 470-478, New York, USA, 22-25 Aug, 2004. [163]I. Santos, Y. K. Penya, J. Devesa, and P. G. Garcia, "N-grams-based file signatures for malware detection". In Proceedings of the 11th International Conference on Enterprise Information Systems, 610, May 2009. [164] J. Seo , H. Ko. "Face detection using support vector domain description in color images". In Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing, Vol. 5, pages 729-732, Quebec , Canada, 17-21 May, 2004. [165] J. O. Kephart and W. C. Arnold, "Automatic extraction of computer virus signatures". In Proceedings of the 4th International Conference on Virus Bulletin, pages 179-194, Jersey, Islands, 8-9 Sept, 1994. [166] http://www.av-test.org/en/statistics/malware/ [167] http://www.symantec.com/ [168] G. McGraw and G. Morrisett. "Attacking malicious code: A report to the infosec research council" . IEEE Software, Vol. 17, N°.5, pages 33-44, 2000. [169] F. Cohen. "Computer Viruses". Thèse de doctorat, University of Southern California, 1985. [170] S.W Lee, J. Park, S.W Lee. "Low resolution face recognition based on support vector data description". Pattern Recognition, Vol. 39, N°. 9, pages 1809-1812, 2006. [171] VX Heavens, http://www.vxheaven.org [172] Y. Amit et A. Murua, "Speech Recognition Using Randomized Relational Decision Trees", IEEE Transactions on Speech and Audio Processing, Vol. 9, N°. 4, 2001. [173]V. Wan, W.M. Campbell. "Support vector machines for speaker verification and identification". In Proceedings of IEEE Workshop on Neural Networks for Signal Processing X, Vol. 2, pages 775 784, Sydney, NSW,11-13 Dec, 2000. 139 Bibliographie [174] J.C. Platt. "Fast training of Support Vector Machines Using Sequential Minimal Optimization", Advances in Kernels Methods: Support Vector Learning, MIT Press, Cambridge, Mass, 1998. [175] J.C. Platt, N. Cristianini, and J. Shawe-Taylor. "Large Margin DAG’s for Multiclass Classification". Advances in Neural Information Processing Systems. MIT Press, Cambridge, MA, Vol. 12, pages 547553, 2000. [176] N. Cristianini and J. Shawe-Taylor. "An Introduction to Support Vector Machines and Other Kernel-based Learning Methods". Cambridge University Press, 2000. [177] M. EL Boujnouni, M. Jedra, N. Zahid. "A Small Sphere and Parametric Volume For Support Vector Domain Description". Journal of Theoretical and Applied Information Technology, Vol. 46, N°. 1 , pages 471- 478, 2012. [178] M. F. Glenn and O. L. Mangasarian. "Multicategory Proximal Support Vector Machine Classifiers". Machine Learning, Vol. 59, N°.(1-2), pages 77-97, 2005. [179] R. Rakotomalala. "Arbres de Décision", Revue modulad, pages 163- 187, N°. 33, 2005. [180] S. Aseervatham. "Apprentissage à base de Noyaux Sémantiques pour le Traitement de Données Textuelles ". Thèse de doctorat, Université Paris 13 - Institut Galilée, 2007. [181] G. Pagallo and D. Haussler. "Boolean feature discovery in empirical learning". Machine Learning, Vol. 5, N°.1, pages 71-99, 1990. [182] H. Ragavan and L. Rendell. "Lookahead feature construction for learning hard concepts". In proceedings of the 10th International Conference on Machine Learning, pages 252-259, Amherst, MA, USA, 1993. [183] D. Zighed, J. Auray, and G. Duru. "SIPINA : Méthode et Logiciel". Edition A. Lacassagne Eska, Lyon, France, Mars 1992. [184] J. Oliver. "Decision Graphs - An extension of Decision Trees". In proceedings of the 4th International Workshop on Artificial Intelligence and Statistics, pages 343-350, Fort Lauderdale, Florida, USA, 3-6 Jan, 1993. [185] D. Mckay and C. Fyfe. "Probability prediction using support vector machines". In Proceedings of the 4th International Conference on Knowledge Based Intelligent Engineering Systems and Allied Technologies, Vol. 1, pages 189-192, Brighton, 30 Aug - 1 Sept, 2000. [186] O. Mangasarian. "A Finite Newton Method for Classification Problems". Technical Report, Computer Sciences Department, University of Wisconsin, Madison, USA, 2001. [187] Y.J. Lee and O.L. Mangasarian. "RSVM: Reduced support vector machines". In Proceedings of the 1st SIAM International Conference on Data Mining , pages 325-361, Chicago, USA, 5-7 April, 2001. [188] G. Fung and L. Mangasarian. "Proximal support vector machine classifiers". In Proceedings of the 7th ACM conference on knowledge discovery and data mining, ACM, pages 77-86, San Francisco, CA, USA, 26-29 Aug, 2001. [189] O.L. Mangasarian and D.R. Musicant. "Lagrangian support vector machines". Journal of Machine Learning Research, Vol. 1, pages 161-177, 2001. [190] D. Wilking and T. Rofer. "Realtime Object Recognition Using Decision Tree Learning". In proceedings of RoboCup 2004 Symposium, Lecture Notes in Artificial Intelligence Springer, Vol. 3276, pages 556-563, 2005. [191] R. Casey and G. Nagy. "Decision tree design using probabilistic models". IEEE Transactions on Information Theory, Vol. 30, N°. 1, pages 93 - 99, 1984. [192] J.L. Bentley. "Multidimensional binary search trees used for associative searching". communications of the Association for Computing Machinery, Vol. 18, N°. 9, pages 509-517, 1975. 140 Bibliographie [193] B. Zhao, Y. Liu, and S.W. Xia. "Support vector machines and its application in handwritten numerical recognition". In Proceedings of the 15th International Conference on Pattern Recognition, Vol. 2, pages 720-723, Barcelona, 3-7 Sept. 2000. [194] C.C. Aggarwal and P.S. Yu. "A survey of uncertain data algorithms and applications". IEEE Transactions on Knowledge and Data Engineering, Vol. 21, N°. 5, pages 609-623, 2009. [195] J. Kulchandani, K. J. Dangarwala. "Blind Source Separation via Independent Component Analysis : Algorithms and Applications". International Journal of Computer Science and Information Technologies, Vol. 5, N°.5, pages 6739-6743 , 2014. [196] B. Liu, Y. Xiao, L. Cao, Z. Hao, and F. Deng. "SVDD-based outlier detection on uncertain data". Knowledge and Information Systems, Vol. 34, N°. 3, pages 597-618, 2013. [197] L. Ramirez, W. Pedrycz, and N. Pizzi. "Severe storm cell classification using support vector machines and radial basis approaches". In Proceedings of the Canadian Conference on Electrical and Computer Engineering, Vol. 1, pages 87-91, Toronto, Canada, 13-16 May, 2001. [198] M. M. Breunig, H. P. Kriegel, R. T. Ng, and J. Sander. "Lof: Identifying density-based local outliers". In Proceedings of the ACM SIGMOD international conference on Management of data, Vol. 29, N°. 2, pages 93-104, New York, USA, 16-18 May, 2000. [199] R.L Bahl, P. Brown, P.V de Souza, and R. Mercer. "A tree-based language model for natural language speech recognition". IEEE Transactions on Acoustics, Speech and Signal Processing, pages 1001 - 1008 , Vol. 37 , N°. 7, 1989. [200] L. Chu and C.Wu . "A fuzzy support vector machine based on geometric model". In Proceedings of the 5th World Congress on Intelligent Control and Automation, Vol. 2, pages 1843-1846, Hangzhou, China, 15-19 June, 2004. [201] R. Jayadeva. Khemchandani, and S. Chandra. "Fuzzy linear proximal support vector machines for multi-category data classification". Neurocomputing, Vol. 67, pages 426-435, 2005. [202] B. Cui, A. Mondal, J. Shen, G. Cong, and K. Tan. "On Effective Email Classification via Neural Networks". In Proceedings of DEXA, pages 85-94. Copenhagen, Denmark, 22-26 Aug, 2005. [203] L. Candillier. "Contextualisation, visualisation et évaluation en apprentissage non supervisé ". Thèse de doctorat, Université Charles de Gaulle - Lille 3, 2006. [204] M. Cha, J.S. Kim, S.H. Park, and J.G. Baek. "Non parametric Control Chart using Density Weighted Support Vector Data Description". World Academy of Science, Engineering and Technology, Vol. 6, pages 945-949, 2012. [205] M. R. Azimi-Sadjadi and S. A. Zekavat. "Cloud classification using support vector machines". In Proceedings of IEEE Geoscience and Remote Sensing Symposium, Vol. 2, pages 669-671, Honolulu, HI, 24-28 July 2000. [206] J. Chen, G. Xiao, F. Gao, and Y. Zhang. "Spam filtering method based on an artificial immune system". In proceedings of the IEEE International Conference on Multimedia and Information Technology, pages 169-171, Three Gorges, china, 30-31 Dec, 2008. [207] E. J. Bredensteiner and K. P. Bennett. "Multicategory Classification by Support Vector Machines" . Computational Optimizations, pages 53-79, Springer US, 1999. [208] Y. Guermeur, A. Elisseeff, and H. Paugam-Moisy. "A New Multi-Class SVM Based on a Uniform Convergence Result" . In Proceedings of the International Joint Conference on Neural Networks, Vol. 4, pages 83-188, Como, Italy, 24-27 Jul, 2000. [209] B. Schölkopf, A. J. Smola, R. C. Williamson, and P. L. Bartlett. "New Support Vector Algorithms ". Neural Computation, Vol. 12, N°. 5, pages 1207-1245, 2000. 141 Bibliographie [210] L. Zhang, F. Lin, and B. Zhang. "Support vector machine learning for image retrieval". In Proceedings of the International Conference on Image Processing, Vol. 2, pages 721-724, Thessaloniki, Greece, 7-10 Oct, 2001. [211] C. C. Aggarwal. "Managing and mining uncertain data". Advances in Database Systems, Vol. 35, pages 1-41, Springer US, 2009. [212] J. McQueen. "Some methods for classification and analysis of multivariate observations". In Proceedings of the 5th Berkeley Symposium on Mathematical Statistics and Probability, Vol. 1, pages 281-297, University of California, Berkeley, 21 June-18 July, 27 Dec, and 7 Jan, 1965. [213] G. Hamerly , C. Elkan. "Learning the k in k-means". Advances in Neural Information Processing Systems, MIT Press, Cambridge, MA, USA, Vol. 17, 2003. [214] D. Pelleg, A. Moore. "X-means: Extending k-means with efficient estimation of the number of clusters". In Proceedings of the 17th International Conference on Machine Learning, Morgan Kaufmann, pages 727-734, San Francisco, CA, 29 June -2 July, 2000. [215] H. Drucker, S. Wu , V. N. Vapnik. "Support Vector Machines for Spam Categorization". IEEE Transaction Neural Networks, Vol. 10, N°. 5, pages 1048-1054, 1999. [216] K. P. Bennett and A. Demiriz. "Semi-supervised support vector machines" . Advances in neural information processing systems XI, pages 368-374, 1998. [217] T. Joachims. "Transductive Inference for Text Classification using Support Vector Machines". In Proceedings of the 16th International Conference on Machine Learning, pages 200-209, Bled, Slovenia, 27-30 June, 1999. [218] A. Likas, N.Vlassis, J. J. Verbeek. "The global k-means clustering algorithm". Pattern Recognition, Vol. 36, N°. 2, pages 451- 461, 2003. [219] G. Fung and O.L. Mangasarian. "A Finite Selection Newton Method for Support Vector Machine Classification". Journal of Computational Optimization and Applications, Vol. 28, N°. 2, Pages 185202, 2004. [220] A. McCallum and K. Nigam. "A comparison of event models for naive bayes text classification". In AAAI/ICML-98 Workshop on learning for Text Categorization, pages 41-48 , Madison, Wisconsin, July 26-27, 1998. [221] A.M. Hani, H.A. Nugroho, and H. Nugroho. "Gaussian bayes classifier for medical diagnosis and grading: Application to diabetic retinopathy". In Proccedings of the Conference on Biomedical Engineering and Sciences, pages 52 - 56, Kuala Lumpur, Malaysia, 30 Nov-2 Dec, 2010. [222] P. Domingos, M. Pazzani. "On the optimality of the simple bayesian classifier under zero-one loss" . Machine Learning, Vol. 29, N°. (2-3), pages 103-130, 1997. [223] G.F. Cooper. "The computational complexity of probabilistic inference using bayesian belief networks". Artificial Intelligence, Vol .42, N°. (2-3), pages 393-405, 1990. [224] N. Ben Amor , S. Benferhat , Z. Elouedi. "Réseaux bayésiens naïfs et arbres de décision dans les systèmes de détection d’intrusions". Revue des Sciences et Technologies de l'Information - Série TSI : Technique et Science Informatiques. Vol. 25, N°. 2, pages 167 - 196, 2006. [225]S. Tayal and S. Vijay. "Human Emotion Recognition and Classification from Digital Colour Images Using Fuzzy and PCA Approach". Advances in Intelligent Systems and Computing, Vol. 167, pages 1033-1040, 2012. [226] H. J Lee, Y. J Lee and C. W Lee. "Gesture Classification and Recognition Using Principal Component Analysis and HMM". Lecture Notes in Computer Science, Vol. 2195, pages 756-763, 2001. 142 Bibliographie [227] D.T. Lin. "Facial Expression Classification Using PCA and Hierarchical Radial Basis Function Network". Journal of Information Science and Engineering, Vol. 22, N°. 5, pages 1033-1046, 2006. [228] R. Zhang and A.I. Rudnicky. "A large scale clustering scheme for kernel k-means ". In Proceedings of the 16th International Conference on Pattern Recognition, Vol. 4, pages 289-292, Quebec, Canada, 11-15 Aug, 2002. [229] L. Mechtri, F. D. Tolba, and N. Ghoualmi. "Intrusion detection using principal component analysis". In Proceedings of the 2nd International Conference on Engineering Systems Management and Its Applications , pages 1-6, Sharjah, UAE, 30 March - 01 April, 2010. [230] D. Nuzillard and A. Bijaoui. "Blind source separation and analysis of multi-spectral astronomical images". Astronomy & Astrophysics, Supplement. Vol. 147, N°. 1, pages 129-138, 2000. [231] J. Hérault, C. Jutten, and B. Ans. "Détection de grandeurs primitives dans un message composite par une architecture de calcul neuromimétique en apprentissage non supervisé". In Actes du 10éme colloque Groupe d’Etudes du Traitement du Signal et des Images, pages 1017-1020, Nice, France, 20-24 Mai, 1985. [232]D.T. Pham. "Blind separation of instantaneous mixture of sources via independent component analysis" . IEEE Transactions on Signal Processing, Vol. 44, N°.11, pages 2768-2779, 1996. [233] P. Demartines, J. Hérault . "Curvilinear component analysis: A self-organizing neural network for non linear mapping of data set" . IEEE Transactions on Neural Networks, Vol. 8, N°.1, pages 148-154, 1997. [234]M. El boujnouni, M. Jedra, N. Zahid, "New Decision Function for Support Vector Data Description", In Proceedings of IEEE 2nd International Conference on Innovative Computing Technology (INTECH 2012), pages. 305-310, Casablanca , Morocco, 18-20 Sept, 2012. 143 ANNEXE ANNEXE Description sommaire des bases de données utilisées dans les expériences. 1. SPECTF Heart : La base de données décrit le diagnostic des images cardiaques obtenues par la tomographie (émission de protons uniques SPECT). Elle contient 267 exemples (patients) chaque exemple est classé dans une des deux catégories: normale ou anormale ; 2. Ionosphere : La base de données provient d’un système de radar composé de 16 antennes de haute fréquence avec une puissance d'émission totale d'ordre de 6,4 kilowatts. Les cibles étaient des électrons libres dans l'ionosphère. Les bons résultats sont ceux mettant en évidence un type de structure particulière dans l'ionosphère et vice versa ; Monk’s : La base de données décrit des expériences en robotique artificielle. Elle est composée de 432 exemples (robots) à classer en deux catégories chaque exemple est décrit par six attributs (A1, A2, A3, A4, A5, A6) qui sont : A1 A2 A3 A4 A5 A6 Forme de la tête : ronde, carrée ou octogonale. Forme du corps : ronde, carrée ou octogonale. Sourire : oui ou non. Objet tenu : épée, ballon ou drapeau. Couleur du costume : rouge, jaune, vert ou bleu. Porte une cravate : oui ou non. Suivant les propriétés de ces attributs on distingue trois problèmes différents: 3. Monks-1: La base de données est sous forme normale disjonctive standard et elle est censée être facilement apprenable par la plupart des classifieurs; 4. Monks-2 : La base de données est similaire à des problèmes de parité, elle combine des attributs différents ce qui la rend compliquée à être classifier ; 5. Monks-3 : La base de données est utilisée pour évaluer les classifieurs sous la présence de bruit ; 6. Iris : La base de données contient 150 exemples, répartis en trois classes équilibrées (50 exemples par classe) correspondant à trois espèces florales : Iris setosa, Iris versicolor et Iris virginica. La classe setosa est linéairement séparable des deux autres, alors que versicolor et virginica ne le sont pas; 7. Teaching Assistant Evaluation : La base de données est constituée des évaluations de la performance d'enseignement, en trois semestres régulièrs et deux semestres d'été de 151 enseignants assistants, les notes ont été divisées en trois catégories ayants approximativement la même taille ("faible", "moyenne", et "élevée") ; 144 ANNEXE 8. Wine : La base de données est le résultat d’une analyse chimique des vins de la même région mais issus de trois cultivateurs différents. L'analyse détermine les quantités de constituants présents dans chaque type de vins ; 9. Connectionist Bench (Mines, Roche): La base de données est partagée en deux classes, la première contient 111 signaux sonar rebondis en retour de la part d'un métal cylindrique, la seconde comporte 97 signaux rebondis de la part d'un rocher; 10. Seeds : La base de données est une mesure des propriétés géométriques des noyaux de trois variétés de blé (Kama, Rosa et Canadian). 11. Glass: La base de données est issue de la classification des types de verre pour une enquête criminologique, les données correspondent au type de verre et les attributs correspondent à leur contenu d’oxyde; 12. Survival Haberman : La base de données est le résultat d’une étude de la survie des patientes ayant subis une chirurgie pour le cancer du sein ; 13. Vertebral Column : La base de données contient des informations concernant six caractéristiques biomécaniques, utilisées pour classer les patients orthopédiques en 3 classes à savoir Normal, Hernie discale ou Spondylolisthésis ou bien 2 classes : normale et anormale ( Hernie discale et Spondylolisthésis) ; 14. Ecoli : La base de données décrit des sites de localisation de protéines , il contient 336 modèles répartis en 8 classes: classe 1 ( cytoplasme ) , classe 2 ( membrane interne sans séquences de signal ) , classe 3 ( perisplasm ) , classe 4 ( membrane interne , séquences de signal non clivables) , classe 5 (membrane externe) , classe 6 (membrane externe : lipoprotéine) , classe 7 (membrane interne : lipoprotéine) et de la classe 8 (membrane interne, séquence signal clivable ) ; 15. Liver Disorders : La base de données contient les résultats de tests sanguins qui sont censés être sensible à des troubles du foie et qui pourraient résulter de la consommation excessive d'alcool ; 16. Breast Cancer Wisconsin : La base de données comporte des caractéristiques calculées à partir d'une image numérisée, d'une aspiration à l'aiguille fine (FNA) d'une masse au sein. elle décrit les propriétés des noyaux de cellules présentes dans l’image ; 17. Balance-scale: La base de données est la modélisation des résultats expérimentaux psychologiques. Chaque exemple de la base possède quatre attributs (Poids gauche, Distance gauche, Poids droit, Distance droite). 145 ANNEXE Bases d’apprentissage Nombre d’échantillons Nombre de classes Caractéristiques SPECTF Heart 267 2 44 Ionosphere 351 2 34 Monks-1 432 2 6 Monks-2 432 2 6 Monks-3 432 2 6 Iris 150 3 4 Teaching Assistant Evaluation 151 3 5 Wine 178 3 13 Connectionist Bench (Sonar, Mines vs. Rocks) 208 2 60 Seeds 210 3 7 Glass 214 6 9 Haberman 306 2 3 Vertebral Column 310 3 6 Ecoli 336 8 7 Liver Disorders 345 2 6 Breast Cancer Wisconsin 569 2 31 Balance Scale 625 3 4 Tableau des bases de données utilisées pour l’évaluation des performances de SVDD 146 Discipline Spécialité Laboratoire Directeur du Laboratoire Directeur de thèse Titre de la thèse Prénom, Nom : Sciences de l’ingénieur : Informatique : Laboratoire Conception et Systèmes (Microélectronique et Informatique) : Aziz ETTOUHAMI : Mohamed JEDRA : Contribution à l’optimisation de la machine d’apprentissage SVDD application à la détection de spams et de virus informatiques : Mohamed El Boujnouni Résumé : Cette thèse s’intéresse à la problématique de la classification automatique supervisée, en particulier l’amélioration des machines d’apprentissage à noyaux. Malgré les excellentes performances de ces dernières elles possèdent certaines limitations liées soit à leur conception soit à la manière dont elles exploitent les données d’apprentissage. Ce travail vise à remédier à ces limitations afin d’appliquer ce type de machine à des problèmes spécifiques à la sécurité des systèmes informatiques. L’objectif essentiel de nos travaux de recherche réside dans l’amélioration de la performance de la machine Support Vector Domain Description en terme de capacité de généralisation. Des améliorations du SVDD ont été élaborées en se basant essentiellement sur deux critères : d’une part, l’optimisation de la séparabilité interclasses du SVDD et d’autre part, le paramétrage optimal de l’espace des caractéristiques engendré par des noyaux Gaussiennes et l’association de nouveaux coefficients de confiance aux données d’apprentissage. Ces travaux, qui sont basés sur des fondements mathématiques, ont fait l’objet de tests sur des bases artificielles et réelles utilisées fréquemment dans la littérature. Les différents tests que nous avons réalisés ont montré de très bons résultats des approches proposées. Après les tests d’évaluation, nos travaux de recherche ont été couronné par l’application de la machine SVDD améliorée ainsi qu’une technique d’extraction des connaissances à partir des données nommée N-gramme sur deux problèmes importants dont souffrent les systèmes informatiques qui sont les virus informatiques et les courriers électroniques indésirables communément connus sous le nom de spams. Cette application vise à développer des systèmes automatiques de filtrage et de détection de ces menaces électroniques. Les résultats expérimentaux faisant intervenir deux bases standard de spams et de virus ont montré l’intérêt pratique de SVDD avec nos améliorations. Mots clé(7): Classification automatique supervisée, machines d’apprentissage à noyau, Support Vector Machine (SVM), Support Vector Domain Description(SVDD), N-gramme, détection de virus informatiques, filtrage de spams. 147