CLASSIFICATION ET RÉSEAUX DE NEURONES

CLASSIFICATION ET RÉSEAUX DE NEURONES

La classification de données est un problème délicat qui a apparu dans de nombreux domaines tels que l’analyse d’image, le diagnostic médical, l’apprentissage automatique…etc, et cela à cause de l’explosion de la quantité de données traitée par les systèmes informatiques lors de ces dernières années. Dans le domaine de la sécurité informatique, la classification sert à classifier le trafic réseau ou les données du système surveillé en deux classes principale (normale/attaque,légal/illégal,…etc).En effet, les méthodes de classification sont implémentées dans les systèmes de détection d’intrusions pour les aider à prendre des décisions et générer des alertes en cas d’attaques avec le moins de fausses alarmes possibles. Pour ce faire, plusieurs méthodes de l’intelligence artificielle peuvent être utilisées, telle que les réseaux de neurones. Dans ce chapitre, nous allons présenter la classification des données vu que c’est une phase principale dans le processus de génération de notre modèle de détection d’intrusions. Nous commençons tout d’abord par sa définition, ses catégories et les méthodes de classement les plus utilisées dans chacune. Ensuite, on focalise sur les réseaux de neurones en exposant leur historique, leur définition, leurs techniques d’apprentissage et leur architecture avant de passer aux détails de perceptron multicouches, vu que c’est l’outil de notre travail, et nous terminons par les avantages et les inconvénients des réseaux de neurones et leurs domaines d’applications. 

 Classification

La classification est l’opération statistique qui consiste à regrouper des objets(individus ou variables) en un nombre limité de classes de sort qu’on doit satisfaire deux conditions principales :[21] • Ces classes ne sont pas prédéfinies par l’analyste mais découvertes au cours de l’opération. • Une homogénéité interne et hétérogénéité externe, c’est­à­dire les classes de la classification regroupent les objets ayant des caractéristiques similaires et séparent les objets ayant des caractéristiques différentes. 

Architecture typique d’une application basée sur la classification

La classification est une tâche très importante dans le data mining 1 , mais le développement d’un outil de classification dans n’importe quel domaine doit être réalisé en appliquant d’autre phases d’extraction et de l’analyse d’informations qui sont montrées dans la figure suivante/

  • Acquisition des données : D’une manière générale, il s’agit de mettre en place l’ensemble d’instrumentation (capteurs, matériel d’acquisition, etc.) de façon à reproduire le phénomène observé le plus fidèlement possible. [22]. Dans notre cas, il s’agit de placer les sondes (IDS) pour écouter le trafic réseau. • Pré­traitement de données : Cette phase correspond au filtrage des informations en ne conservant que ce qui est pertinent dans le contexte d’étude puisque ces données peuvent contenir plusieurs types d’anomalies (elles peuvent être omises à cause des erreurs de frappe ou à cause des erreurs dues au système lui­même, elles peuvent être incohérentes donc on doit les écarter ou les normaliser…etc). Parfois on est obligé à faire des transformations sur les données pour unifier leur poids. • Classification des données : Dans cette étape, on doit choisir la bonne technique pour extraire les connaissances des données (les réseaux de neurones, les arbres de décision, les réseaux bayésiens…etc). Dans notre cas, la classification des connexions TCP/IP, on se base sur les réseaux de neurones. 

Catégories de classification

 Il existe un grand nombre des méthodes pour la résolution des problèmes de classification. Cependant, il est possible de les regrouper sous forme d’une hiérarchie de méthodes puisque certaines de ces approches partagent des caractéristiques communes, soit dans le type d’apprentissage utilisé (apprentissage supervisé ou non), ou bien dans la sortie réalisée (groupes disjoints ou classification floue). La figure suivante montre une taxonomie des méthodes de classification dérivée de celle de Jain et Dubes (1988) :

a) Classification non exclusive Une méthode est dite non exclusive si chaque objet est associé à une densité de probabilité qui indique pour chacune des classes la probabilité que l’objet considéré y appartienne (une classification floue). b) Classification exclusive Une méthode est dite exclusive si un objet ne peut être affecté qu’à une classe et une seule. Elle peut être divisée en deux autres classes : I. Classification non supervisée : il s’agit d’extraire à partir d’une population des classes ou groupes d’individus présentant des caractéristiques communes. Le nombre et la définition des classes n’étant pas donnés a priori[24]. Le clustering regroupe un ensemble de techniques qui visent à regrouper les enregistrements d’une base de données en des groupes selon leur rapprochement les uns des autres en ne se basant sur aucune information antérieure. il existe deux approches pour le clustering : le partitionnement et les méthodes hiérarchique. • Partitionnement : consiste à construire plusieurs partitions puis les évaluer selon certains critères. Parmi les méthodes de partitionnement les plus connues on trouve la méthode des k­moyennes(K­Means). Le principe de l’algorithme k­means est le suivant : — Choisir k objets formant ainsi k clusters. — (Ré)affecter chaque objet O au cluster Ci de centre Mi tel que distance(O,Mi) est minimale. — Recalculer Mi de chaque cluster. — Aller à la deuxième étape si on vient de faire une affectation. 

  • Classification ascendante hiérarchique : consiste à créer une décomposition hiérarchique des objets selon certains critères. Elle a pour objectif de construire une suite de partitions emboitées des données en n classes, n­1 classes,…,1 classe. Ces méthodes peuvent être vues comme la traduction algorithmique de l’adage « qui se ressemble s’assemble ». Le principe de l’algorithme CAH peut être exprimé comme suit : — A l’étape initiale, les n individus constituent des classes à eux seuls. — On calcule les distances deux à deux entre les individus, et les deux individus les plus proches sont réunis en une classe. — La distance entre cette nouvelle classe et les n­2 individus restants est ensuite calculée, et à nouveau les deux éléments les plus proches sont réunis. — Ce processus est réitère jusqu’à ce qu’il ne reste plus qu’une unique classe constituée de tous les individus.

Réseaux de neurones

Les réseaux de neurones artificiels sont inspirés de la méthode de travail du cerveau humain qui est totalement différente de celle d’un ordinateur. Le cerveau humain se base sur un système de traitement d’information parallèle et non linéaire, très compliqué, ce qui lui permet d’organiser ses composants pour traiter, d’une façon très performante et très rapide, des problèmes très compliqués tel que la reconnaissance des formes.[28] 2.3.1 Historique Les premières tentatives de modélisation du cerveau sont anciennes et précèdent même l’informatique, voici quelques dates qui ont marqué l’histoire du domaine connexionniste :[29] [30] [31] • En 1890, W. Jones a introduit le concept de mémoires associatives et proposa une loi de fonctionnement pour l’apprentissage dans les réseaux de neurones, connue plus tard sous le nom de «Loi de Hebb » • En 1943, le neurologue Warren Sturgis McCulloch et le logicien Walter Pitts ont proposé un modèle simplifié de neurone biologique appelé neurone formel capable de représenter des fonctions booléennes simples. • En 1949, D. Hebb a présenté dans son ouvrage « The Organization of Behavior »une règle d’apprentissage. De nombreux modèles de réseaux aujourd’hui s’inspirent encore de la règle de Hebb. • En 1958, le premier succès est apparu quand F.Rosenblatt a présenté le premier modèle opérationnel nommé « Perceptron ».C’était le premier système artificiel qui pouvait apprendre par expérience, y compris lorsque son instructeur commettait des erreurs. • En 1969, Les recherches sur les réseaux de neurones ont été pratiquement abandonnées lorsque M. Minsky et S. Papert ont publié leur livre « Perceptrons »(1969) et démontré les limites théoriques du perceptron mono­couche du point de vue performance. • En 1982, Hopfield développe un modèle qui utilise des réseaux totalement connectés basés sur la règle de Hebb pour définir les notions d’attracteurs et de mémoire associative. En 1984 c’est la découverte des cartes de Kohonen avec un algorithme non supervisé basé sur l’auto­organisation et suivi une année plus tard par la machine de Boltzman (1985). • En 1986, Rumelhart, Hinton et Williamsrreur ont introduit le perceptron multi­couches qui repose sur la rétro­propagation du gradient de l’erreur dans les systèmes à plusieurs couches. A nos jours, l’utilisation des réseaux de neurones dans divers domaines ne cesse de croître. Les applications en sont multiples et variées

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *