Professional Documents
Culture Documents
) ont t explicites:
Quand une fourmi ne transporte aucun lment, sa probabilit de ramasser un,
rencontr sur son chemin, est donne par la formule:
- Probabilit de ramassage :
=
( III.1 )
Chapitre III : Prsentation de la mthode AntClass
33
O k1 est une constante positive et f correspond la proportion dlments perus dans le
voisinage de la fourmi.
Quand il y a peu dobjets dans le voisinage de lobjet convoit par la fourmi, f <<k1 ce qui
signifie que
est proche de 1 et lobjet a beaucoup de chance dtre ramass. Inversement,
quand le voisinage est dense en lments, f >>k1 et alors
est proche de 0.
Quand une fourmi charge dun objet se dplace, sa probabilit de dposer lobjet est
donne par :
- Probabilit de dpt :
O k2 est une constante positive. f correspond au nombre dobjets rencontrs durant les T
derniers dplacements diviss par le nombre maximum dobjets qui auraient pu tre
rencontrs. Ladaptation de ce principe des objets de plusieurs types, par exemple deux : A
et B, peut alors se faire en particularisant f : f
A
et f
B
correspondent la proportion dobjets de
type A et B. Le comportement de rassemblement se transforme alors en tri.
2.2. Ce que font les fourmis artificielles : [28]
Lumer et Faieta se sont inspirs de ce que font les fourmis relles et ont propos un
algorithme qui est la base de dveloppement de la mthode AntClass . Les extensions
introduites concernent en particulier les points suivants :
Cet algorithme utilise une mesure de dissimilarit entre les objets (sous la forme
dune distance euclidienne).
Les objets correspondent des points dun espace numrique M dimensions sont
plongs dans un espace discret de dimension moindre (typiquement de dimension2).
Cet espace discret sapparente alors une grille G dont chaque case peut contenir un
objet.
Les agents se dplacent sur la grille G et peroivent une rgion R
S
de s x s cases dans
leur voisinage. La figure 4 donne un exemple de grille avec une fourmi, reprsente
par X et son primtre de dtection en trait pais. Les objets sont reprsents par des
carrs dont lintrieur invisible pour la fourmi, reprsente la classe dorigine.
( III.2 )
Chapitre III : Prsentation de la mthode AntClass
34
Figure 4: Grille utilise dans lalgorithme de Lumer et Faieta
Les probabilits de ramassage et de dpts des objets deviennent alors :
- Probabilit de ramassage :
- Probabilit de dpt :
=
2
<
La fonction de densit locale est calcule de la manire suivante :
> 0
0
la grille,
, . ,
}. Les
paramtres ont les valeurs suivantes :
=0.1,
=10
6
(III .3)
( III.4 )
( III.5 )
Chapitre III : Prsentation de la mthode AntClass
35
Algorithme Lumer et Faieta :
Algorithme 1 : Algorithme de Lumer et Faieta
Les rsultats obtenus ont montr que lalgorithme gnre un nombre de classes qui est
trs souvent trs loign du nombre rel de classes. Afin de remdier cela, Lumer et Faieta
ont introduit trois extensions au comportement de base des fourmis artificielles :
Les fourmis se dplacent sur la grille avec une vitesse propre chacune delles
comprise entre 1 et v. Les fourmis les plus rapides sont moins sensibles aux
dissimilarits entre deux objets, ce qui permet de diminuer le nombre de classes
gnres.
Placer alatoirement les N objets {
,,
}
sur la grille G
Pour t = 1 T
faire
pour tout
,,
} faire
Si la fourmi
ne transporte pas dobjet et
alors
Calculer
et
La fourmi
ramasse lobjet
suivant la probabilit
Sinon
Si la fourmi
transporte lobjet
et la case
et
La fourmi
dpose lobjet
sur la case
Finsi
Finsi
Dplacer la fourmi
sur une case voisine non occupe par une autre fourmi
Finpour
Finpour
Retourner lemplacement des objets sur la grille G
Chapitre III : Prsentation de la mthode AntClass
36
Chaque fourmi possde une mmoire court terme lui permettant de se souvenir des
positions des m derniers objets classs. Si une fourmi transporte un objet, elle cherche
dans sa mmoire lobjet dj class qui est le plus proche de celui quelle transporte.
Si elle le trouve, elle se dplacera avec une certaine probabilit vers ce nouvel
emplacement pour y dposer son objet.
Si au bout dun certain nombre ditrations la fourmi stagne (ne fait plus aucun
dplacement) elle peut dtruire un groupe en ramassant lobjet le plus loign du
groupe.
3. Description de la mthode AntCLass :[28]
En se basant sur les travaux de Lumer et Faieta, Monmarch proposa une nouvelle
mthode de classification appele AntClass . Elle dcouvre automatiquement les classes
dans des donnes numriques sans connatre le nombre de classes priori, sans partition
initiale et sans paramtrages dlicat.
La mthode AntClass utilise les principes exploratoires stochastiques dune colonie de
fourmis. Ces dernires se dplacent sur une grille deux dimensions et peuvent transporter
des objets. La saisie ou le dpt dun objet sur un tas dpend de la similarit entre cet objet
et les objets du tas.
3.1. Notions et heuristiques de AntClass : [28]
a. Les objets et leur mtrique :
Soit O= {
,...,
,...,
. Un
paramtrage important des algorithmes de classification est de savoir comment
mesurer la similarit entre deux objets. La distance euclidienne entre deux objets,
note d, est utilise par dfaut. Cependant, AntClass peut utiliser dautres types de
distances telles que les mesures de Minkowski ou de Hamming. Initialement, les
objets sont parpills alatoirement sur une grille deux dimensions. Les fourmis
sont capables de ramasser ou de dposer des objets pour crer des tas ou des classes
homognes.
b. Rpartition des objets sur la grille :
Lalgorithme AntClass fait voluer des agents fourmis sur une grille G de dimension
Chapitre III : Prsentation de la mthode AntClass
37
L x L o les objets partitionner sont alatoirement distribus. Cette grille est
torodale de manire ce que les fourmis passent dun bord un autre. La taille de la
grille est dtermine automatiquement. Il faut que le nombre de cases de la grille soit
au moins gal au nombre dobjets classer (L
2
N). Si la taille est trop grande, les
fourmis vont perdre beaucoup de temps rechercher les objets. Un bon compromis
serait de fixer la taille de la grille en fonction du nombre dobjets classer.
c. Les fourmis :
La colonie se compose de A fourmis
,....,
se
dplace sur la grille une vitesse
. Concrtement, si
sont les
coordonnes de la fourmi
Ceci en tenant compte du fait que la grille est torodale. Enfin, la direction choisie
par la fourmi
, o
= o
=
,,.,
T =
do
, o
, ,,
,
( III.7 )
( III.8 )
( III.6)
Chapitre III : Prsentation de la mthode AntClass
39
T =
o
,.,
:
d
T = max
,,
do
, g
:
d
T =
do
, g
T
,.,
e.1. Ramasser un objet :
Quand une fourmi
T =
1 si |T| = 1
min
, 1 si |T| = 2
1 0.9
sinon
O T est le nombre dobjets dans le tas,
, la probabilit de
ramasser lun des deux objets dpend de la distance entre les deux objets et le centre
( III.9 )
(III.10)
( III.11 )
( III.12 )
Chapitre III : Prsentation de la mthode AntClass
40
de gravit
et la distance moyenne
entre tous les objets
.
Enfin, si le tas se compose de plus de deux objets, la probabilit
est proche de 1
quand la distance moyenne au centre est ngligeable devant la distance au centre de
lobjet le plus loign. Si la capacit de la fourmi est suprieure 1, elle ramasse
autant dobjets que sa capacit le lui permet.
e.2. Dposer un objet :
Si la fourmi transporte un objet, et quelle se trouve sur une case contenant un ou
plusieurs objets, sa probabilit de dposer lobjet
, T =
1 si do
, g
T d
T
1 . 9 min
, 1 sinon
O
,
quand
>
du tas T que lobjet du tas le plus loign de ce centre, elle dpose
systmatiquement
et
est
grande par rapport la distance moyenne entre les objets de la base
, plus la
probabilit de le dposer sera faible.
Si la capacit de la fourmi est suprieure 1 et quelle transporte plusieurs objets, la
probabilit de dposer le tas T
1
quelle transporte sur le tas T
2
est calcule de la mme
faon que pour un objet unique en remplaant
par le centre de gravit des objets
transports.
f. Patience des fourmis :
Sil y a trop de fourmis par rapport au nombre de tas ou dobjets, le problme suivant peut
se prsenter : tous les tas (dans le cas dune grande capacit de transport des fourmis) ou tous
les objets sont transports ce qui noffre plus de possibilit aux fourmis de dposer ce quelles
( III.13 )
Chapitre III : Prsentation de la mthode AntClass
41
transportent. Dans le cas o les fourmis ont une capacit gale 1, il suffit de sassurer que le
nombre de fourmis est nettement infrieur celui des objets. Par contre, quand les fourmis ont
une capacit de transport suprieure, le problme peut rapparatre.
La solution la plus immdiate est de doter les fourmis dune certaine patience, qui peut tre
individuelle, note
et
, . . ,
composes respectivement de |
|, . , |
= . Le centre de gravit
de la classe
est donn par :
(III.14)
O
est le j
ime
point de la classe
. Lerreur quadratique
sur la classe
est alors
donne par :
Notons alors par
, linertie intra-classe :
Le partitionnement construit par les fourmis nest pas obligatoirement optimal au sens de
linertie intra-classe
faire
Initialiser la grille G partir de la partition
associe la grille G
K-Means
Finpour
Retourner la partition
Pour t=1 T faire
Pour K=1 A faire
Dplacer la fourmi
alors
Si la fourmi
transporte un objet
Dposer lobjet
[le tas
suivant la probabilit
itrations de AntClass.
Paramtre Description
A
T
ca
i
i 1, . , A
ma
i
i 1, . , A
va
i
i 1, . . , A
pa
i
i 1, . . , A
k
1
, k
2
Nombre de fourmis
Nombre de dplacements de chaque fourmi
Capacit de transport des fourmis
Taille de la mmoire de chaque fourmi
Vitesse sur la grille de chaque fourmi
Patience de chaque fourmi
Paramtres de calcul de P
p
, P
d
Tableau 1 : Paramtres de lalgorithme Ants.
Conclusion :
La mthode AntClass est une technique de classification qui sapplique dans plusieurs
domaines o il existe des donnes regrouper ou classer. Cette mthode permet de
dcouvrir automatiquement les classes dans des donnes numriques sans connaitre priori le
nombre de classes, sans partition initiale et sans paramtrage dlicat ce qui simplifie la tche
de lutilisateur de cette mthode. Parmi les domaines dans lesquels la mthode AntClass est
applique, on trouve le domaine de dtection dintrusion o la classification de grandes
masses de donnes est importante pour avoir une meilleure dtection dintrusions.
Dans le chapitre suivant, nous allons appliquer la mthode AntClass sur une base de
donnes appele base dapprentissage KDD99.
Chapitre IV :
Application de la mthode
AntClass sur la base de
donnes KDD 99
Chapitre IV : Application de la mthode AntClass sur la base de donnes KDD99
46
Introduction :
Lors du chapitre prcdent nous avons prsent une mthode de classification appele
AntClass qui sinspire du fonctionnement de la colonie de fourmis. Cette mthode de
classification sapplique gnralement sur des bases de donnes de taille norme et elle
permet davoir une meilleure partition de donnes tout en gardant les spcificits des ces
dernires.
Ce chapitre dcrit la validation de la mthode AntClass sur une base de donnes appele
KDD99, ses donnes sont orientes dtection dintrusions. Elles reprsentent des lignes
TCP/IP o chaque ligne est une connexion caractrise par 41 attributs, tel que la dure de la
connexion, le type du protocole, etc. En tenant compte des valeurs de ses attributs, chaque
connexion dans KDD99 est considre comme tant une connexion normale ou bien une
attaque. Commenons dabord par la description de la base KDD99.
1. Description de la base KDD99:
Les donnes KDD prsentent 7 semaines de donnes libelles pour lapprentissage et 2
semaines de donnes non libelles pour le test (Correspondant au trafic rseau simulant un
rseau local dUS Air force).
La base KDD recense 38 attaques possibles qui peuvent tre regroupes en quatre
catgories (listes dans le tableau 2).
Dni de Service - Denial-Of-Service (DOS) :
Il sagit dempcher par tous les moyens les utilisateurs de se servir des ressources
disponibles en temps normal. Ces attaques sont but purement destructeur et sont
souvent trs simples mettre en place et donnent une sensation de puissance lattaquant,
ce qui explique leur frquence.
Les attaques de type Remote to User (R2L) :
Pour ce genre d'attaque, les attaquants essaient d'exploiter la vulnrabilit du systme
afin de contrler la machine distante.
Les attaques de type User to Root Attacks (U2R) :
L'attaquant essaie d'avoir les droits d'accs partir d'un poste afin d'accder au
systme.
Chapitre IV : Application de la mthode AntClass sur la base de donnes KDD99
47
Reconnaissance Probing :
Ces attaques ne sont pas destructrices au sens o elles empchent une entit de
fonctionner correctement, mais permettent dacqurir des informations parfois cruciales
pour mener une attaque de plus grande envergure plus tard.
DOS Probing R2L U2R
Apach2
Back
Land
Mailbomb
Neptune
Pod
Processtable
Smurf
Teardrop
Udpstorm
Ipsweep
Mscan
Nmap
Portsweep
Saint
Satan
Ftp_write
Guess_passwd
Imap
Multihop
Named
Phf
Dict
Snmpners
Sky
Sqlattak
Warezclient
Warezmaster
Xlock
Xsnoop
Gust
Buffer_overflow
Httptunnel
Loadmodule
Xterm
Perl
Ps
RootKit
Tableau 2: les types dattaques
Les attributs caractrisant chaque connexion , sont dtaills dans le tableau 3.
Certains attributs sont de type discret (admettant un nombre fini de valeurs), dautres sont de
type continu.
Chapitre IV : Application de la mthode AntClass sur la base de donnes KDD99
48
Tableau 3 : liste des attributs
Attributs Description
Chapitre IV : Application de la mthode AntClass sur la base de donnes KDD99
49
2. Application de la mthode AntClass sur la base KDD99 :
Le but de notre travail est dappliquer la mthode de classification AntClass sur la base
de donnes KDD pour former un ensemble de classes constituant le profil normal de
fonctionnement normal du rseau. (Voir figure 7)
Afin de tester la mthode AntClass, nous utilisons une base de test contenant des
connexions normales et des connexions considres comme tant des attaques (anormales).
(Voir figure 7)
Dans ce qui suit nous allons dcrit les diffrentes tapes de validation de la mthode
AntClass sur la base KDD99.
Chapitre IV : Application de la mthode AntClass sur la base de donnes KDD99
50
Figure 7 : Application de la mthode AntClass sur KDD99
Connexions normales Attaques
Ants
k-Means
Connexions :
-normales
-anormales
Base de
donnes KDD
Les objets
partitionner
Les classes
C
1
,C
2
,C
n
formes par Ants
Les classes C
1
,C
2
,C
n
formes par K-Means
Base de
Test
Les objets ne changent
plus de classes
Profil Normal
Comparaison
(Seuil)
Filtrer les
connexions
normales
10% de la
base KDD
Appliquer
Ants
Chapitre IV : Application de la mthode AntClass sur la base de donnes KDD99
51
2.1. Ltape de construction de profil normal (ltape dapprentissage) :
Pour la modlisation du comportement normal du rseau, nous traitons 10% de la base
dapprentissage KDD (correspondant 494019 de connexion). Nous devons dabord
construire la base des objets partitionner, ces objets reprsentent uniquement les connexions
tiquetes normales de la base dapprentissage KDD.
Chaque objet correspond une connexion, dfinie par un enregistrement 41 attributs, tel
quil est illustr dans le tableau 3. Cette base des objets partitionner est soumise un
classificateur bas sur lalgorithme AntClass, pour former le profil normal de fonctionnement
du rseau.
2 .1.1.Filtrage des connexions normales :
Le premier travail faire consiste construire les connexions normales partitionner.
Pour se faire, nous avons propos le module nomm lecture. Ce module utilise le fichier
dentre nomm baseKDD.txt contenant 494019 connexions (97278 connexions normales
et 396741 connexions anormales) et gnre le fichier contenant uniquement les connexions
normales. Ce fichier de sortie sera nomm normal.txt. Chaque ligne du fichier
baseKDD.txt, reprsente une connexion. Lorsquune ligne est lue par le module lecture , il
vrifie la valeur de la sous chane Der (o Der reprsente les 6 derniers caractres de la
ligne) .Si la valeur de Der gale normal alors la sous chane ligne-Der est copie dans
le fichier de sortie normal.txt .
Fichier dentre Fichier gnr
Figure 8 : Filtrage des connexions normales
Exemple :
Si le fichier baseKDD.txt contient les lignes suivantes :
0,tcp,http,SF,181,5450,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,8,8,0.00,0.00,0.00,0.00,1.00,0.00,0.00,9,9,1.00,
0.00,0.11,0.00,0.00,0.00,0.00,0.00,normal.
Module
Lecture
baseKDD.txt
normal.txt
Chapitre IV : Application de la mthode AntClass sur la base de donnes KDD99
52
0,tcp,http,SF,239,486,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,8,8,0.00,0.00,0.00,0.00,1.00,0.00,0.00,19,19,1.00
,0.00,0.05,0.00,0.00,0.00,0.00,0.00,normal.
0,tcp,http,SF,239,486,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,8,8,0.00,0.00,0.00,0.00,1.00,0.00,0.00,19,19,1.00
,0.00,0.05,0.00,0.00,0.00,0.00,0.00,normal.
0,icmp,ecr_i,SF,1032,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,511,511,0.00,0.00,0.00,0.00,1.00,0.00,0.00,255,
255,1.00,0.00,1.00,0.00,0.00,0.00,0.00,0.00,smurf.
0,icmp,ecr_i,SF,1032,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,511,511,0.00,0.00,0.00,0.00,1.00,0.00,0.00,255,
255,1.00,0.00,1.00,0.00,0.00,0.00,0.00,0.00,smurf.
0,icmp,ecr_i,SF,1032,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,511,511,0.00,0.00,0.00,0.00,1.00,0.00,0.00,255,
255,1.00,0.00,1.00,0.00,0.00,0.00,0.00,0.00,smurf.
Alors le fichier normal.txt gnr par le module lecture contiendra les lignes suivantes:
0,tcp,http,SF,181,5450,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,8,8,0.00,0.00,0.00,0.00,1.00,0.00,0.00,9,9,1.00,
0.00,0.11,0.00,0.00,0.00,0.00,0.00
0,tcp,http,SF,239,486,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,8,8,0.00,0.00,0.00,0.00,1.00,0.00,0.00,19,19,1.00
,0.00,0.05,0.00,0.00,0.00,0.00,0.00
0,tcp,http,SF,235,1337,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,8,8,0.00,0.00,0.00,0.00,1.00,0.00,0.00,29,29,1.0
0,0.00,0.03,0.00,0.00,0.00,0.00,0.00
2.1.2. Connexion :
Chaque connexion tiquete normale de la base dapprentissage KDD est modlise par
une structure de type enregistrement nomme connexion, contenant 41 champs o
chaque champ reprsente un attribut.
2.1.3. Gnration du profil normal :
Aprs avoir gnr les connexions normales (cest--dire, le fichier normal.txt), nous
passons lapplication de lalgorithme AntClass. Ce dernier consiste regrouper les
diffrentes connexions normales (les lignes du fichier normal.txt) pour obtenir les classes C
1
,
C
2
,...,C
k.
ces classes sont copies dans un fichier nomm profilnormal.txt qui reprsente le
profil normal du fonctionnement du rseau.
Chapitre IV : Application de la mthode AntClass sur la base de donnes KDD99
53
a. Grille :
Lalgorithme AntClass utilise une grille sur laquelle les connexions partitionner et les
agents fourmis sont positionns. Cette grille correspond un vecteur de L lments e
(L=( ), o N reprsente le nombre de connexions partitionner. Chaque lment e de
ce vecteur correspond son tour un vecteur de cases. Chaque case c
peut contenir une ou
plusieurs connexions de la base KDD et accueillir une et une seule fourmi. La case c est
reprsente par un enregistrement compos de deux champs : le premier champ nomm first
de type entier, possdant lindice du vecteur contenant les connexions de la case c, le
deuxime champ nomm second est de type string indiquant si la case c est occupe par
une fourmi.
Figure 9: grille G
b. Les agents fourmis :
La population dagents A {a
1
,a
2
,..a
n
} que nous allons utiliser possde les paramtres
suivants :
Position : elle reprsente les coordonnes de la fourmi a
i
sur la grille G.
Vitesse : chaque itration de lalgorithme AntClass, la fourmi a
i
se dplace
alatoirement sur la grille avec une vitesse v (a
i
).
Si (x(a
i
),y(a
i
)) est la position de la fourmi a
i
sur la grille, la nouvelle position aprs
un dplacement sera dans lintervalle :
( [ x(a
i
)-v(a
i
),x(a
i
)+v(a
i
) ] , [ (y(a
i
)-v(a
i
),y(a
i
)+v(a
i
) ] )
Elment e
Elment C
Chapitre IV : Application de la mthode AntClass sur la base de donnes KDD99
Mmoire : pour acclrer le processus dagrgation, chaque fourmi est dote dune
mmoire de longueur m
elle est compare aux
connexion o
i
transport et les tas quelle a mmoris
lemplacement de la connexion la
plusieurs connexions, la
entre le centre de gravit d
Capacit : reprsente le nombre de connexion
mme temps.
Orientation : chaque fourmi est d
cette proprit sont (Voir f
Nord
Nord Est
Est
Sud Est
Sud
Sud Ouest
Ouest
Nord Ouest
Chaque fourmi peut changer de direction en tournant de
Exemple :
Figure
Nord
Nord-Ouest
Ouest
Sud-Ouest
re IV : Application de la mthode AntClass sur la base de donnes KDD99
54
: pour acclrer le processus dagrgation, chaque fourmi est dote dune
m (a
i
). Quand une connexion o
i
est ramasse par une fourmi
est compare aux m (a
i
) mmoire de la fourmi, elle calcule
transport et les tas quelle a mmoris. Elle se dirige ensuite vers
lemplacement de la connexion la plus similaire o
i
. Lorsque la fourmi
connexions, la comparaison des connexions est remplace par la distance
entre le centre de gravit du tas transport et les tas de m (a
i
).
rsente le nombre de connexion que la fourmi peut transporter en
: chaque fourmi est dote dune orientation, les valeurs possibles pour
proprit sont (Voir figure 10) :
Nord Est
Sud Est
Sud Ouest
Nord Ouest
Chaque fourmi peut changer de direction en tournant de 45 degrs droite.
Figure 10 : Directions dune fourmi
Nord Est
45
droite
Nord
Nord- Est
Est
Sud-Est
Sud
45
re IV : Application de la mthode AntClass sur la base de donnes KDD99
: pour acclrer le processus dagrgation, chaque fourmi est dote dune
est ramasse par une fourmi a
i
,
mmoire de la fourmi, elle calcule la distance entre la
. Elle se dirige ensuite vers
. Lorsque la fourmi a
i
transporte
comparaison des connexions est remplace par la distance
que la fourmi peut transporter en
ote dune orientation, les valeurs possibles pour
droite.
Chapitre IV : Application de la mthode AntClass sur la base de donnes KDD99
55
Patience : lorsque les fourmis ont une capacit suprieure 1, on peut faire face au
problme suivant : toutes les connexions sont transportes, ce qui noffre plus de
possibilit aux fourmis de dposer ce quelles transportent. La solution est de doter
les fourmis dune patience qui peut tre individuelle. Quand la fourmis a
i
effectue
plus de p(a
i
) dplacement sans avoir russi dposer, le tas transport, elle le dpose
sur la case sur laquelle elle se trouve si cette case est vide, ou lune de son
voisinage, dans le cas contraire.
Toutes ces proprits peuvent tre individuelles.
c. Dplacement des fourmis :
Au dbut, les fourmis sont disposes alatoirement sur la grille G. Chaque fourmi se
dplace alatoirement sur la grille avec une vitesse v. La direction choisie par la fourmi
dpend de sa direction prcdente : elle a une probabilit gale 0.6 de continuer tout
droit et une probabilit de 0.4 de changer de direction (tourner de 45 degrs droite).
d. Ramassage de connexions :
Si la fourmi a
i
se trouve dans une case contenant des connexions et quelle ne transporte
pas de connexions , elle ramasse c(a
i
) connexions o c(a
i
) reprsente la capacit de la
fourmi a
i
. La probabilit p
p
de ramasser une connexion est (Voir formule III.12).
e. Dpt de connexions :
Si la fourmi transporte un ou plusieurs connexions, et quelle se trouve sur une case
contenant des connexions, la probabilit p
d
de dposer les connexions transports est (Voir
formule III.13).
f. Rpartition des connexions sur la grille G :
Initialement, les connexions partitionner sont disposes alatoirement sur la grille,
dans notre travail, nous avons envisag de disposer les connexions comme suit :
Dposer les connexions par groupe de 10, en commenant partir de la premire colonne
de la grille G.
Chapitre IV : Application de la mthode AntClass sur la base de donnes KDD99
56
Figure 11: Rpartition des connexions sur la grille G
g. Algorithme Ants :
Dans notre algorithme, nous utilisons une population dagents htrognes, c'est--dire les
agents ont des paramtres individuels diffrents.
Algorithme 5 : Algorithme Ants
10
10
10
10
..
Pour t=1 T faire
Pour i=1 A faire
Avancer ()
Si la fourmi a
i
se trouve sur une case contenant des connexions alors
Si la fourmi a
i
ne transporte pas de connexions alors
Ramasser ()
Sinon
Deposer()
Finsi
Finsi
Finpour
Finpour
Retourner la grille G
Chapitre IV : Application de la mthode AntClass sur la base de donnes KDD99
57
g.1.Description des fonctions utilises par lalgorithme Ants :
Ramasser ( ) : est la fonction qui permet une fourmi a
i
de ramasser une ou plusieurs
connexions les plus dissimilaires du tas T
j
(T
j
est lensemble des connexions de la
case occupe par la fourmi a
i
), selon la probabilit p
p
(Tj) (Voir la formule III.12).
Deposer( ): est la fonction qui permet une fourmi a
i
de dposer une ou plusieurs
connexions suivant la probabilit p
d
(T
i
,T
j
) (voir la formule III.13), T
i
reprsente le tas
de connexions transport par la fourmi a
i
, T
j
est le tas de connexions de la case
occupe par la fourmi a
i
. Lorsque la fourmi a
i
dpose le tas T
i
elle mmorise sa
position.
Avancer( ) : est la fonction qui permet de dplacer une fourmi a
i
avec une vitesse v.
Lorsque la fourmi a
i
transporte des connexions, elle se dirige vers lemplacement de
connexions le plus similaire aux connexions transportes en consultant sa mmoire
m
i
. La fourmi a
i
gre sa mmoire sous forme dune liste FIFO o les positions les
plus anciennes sont oublies quand la fourmi a
i
mmorise de nouvelles positions.
Cette mmorisation est effectue quand la fourmi a
i
dpose une ou plusieurs
connexions sur la case c
i
de la grille G. La mmoire m
i
est reprsente par un vecteur
denregistrements, chaque enregistrement est compos de trois champs. Le premier et
le deuxime champ sont de type entier indiquant la position de la case c
i
sur laquelle
la fourmi a
i
dpose le tas transport, le troisime est de type connexion reprsentant le
centre de gravit du tas dpos par la fourmi a
i
sur la case c
i
.
g.2.Interprtation de lalgorithme Ants :
Une fois les fourmis et les connexions sont repartitionnes sur la grille G, les fourmis
commencent se dplacer. Chaque fourmi a
i
se dplace avec la vitesse v
i
sur une case non
occupe par une autre fourmi en excutant la fonction Avancer(), si cette case contient un tas
de connexions et que la fourmi a
i
transporte un ou plusieurs connexions, la fourmi a
i
dpose
un ou plusieurs connexions sur cette case en excutant la fonction Deposer(). Si la fourmi a
i
ne transporte pas dobjets et quelle se trouve sur une case contenant un tas dobjets, elle
ramasse une ou plusieurs connexions en excutant la fonction Ramasser(), les objets
ramasss sont compars aux m(a
i
) mmoire de la fourmi a
i
, ensuite la fourmi a
i
se dirige
Chapitre IV : Application de la mthode AntClass sur la base de donnes KDD99
58
vers lemplacement des objets les plus similaires aux objets ramasss en excutant la
fonction Avancer(). Ce processus est rpt T fois o T reprsente le nombre ditrations de
lalgorithme Ants.
g.3.Traitement des connexions isoles :
Les connexions isoles sont les objets qui se trouvent sur une fourmi aprs lexcution de
T fois lalgorithme Ants ou les objets se trouvant seuls sur la grille. Dans notre algorithme,
nous avons dcid daffecter les connexions se trouvant sur la fourmi au tas dont le centre
de gravit est le plus proche. Cela est intressant quand une fourmi est interrompue dans une
opration quelle pouvait accomplir. Pour le deuxime cas de connexions isoles, il est
trait en donnant plus ditrations aux fourmis.
h. Algorithme K-Means :
L'algorithme des centres mobiles ( K-Means ) est l'outil le plus populaire utilis dans les
applications scientifiques et industrielles de classification. Le nom drive du fait que, pour
reprsenter chacune des K classes C
k
, on utilise le centre de gravit (formule III.14).
Lalgorithme Ants est interrompu pour lancer le KMeans afin doptimiser le
partitionnement construit par les fourmis. Comme les fourmis agissent localement, il peut
rester un certain nombre de connexions mritant dappartenir une classe dont le centre est
beaucoup plus proche. K-Means est alors lanc pour corriger ce type de dfaillance. Le K-
Means est itrativement rpt jusqu ce que ce critre darrt soit atteint aucune
modification n'a eu lieu (cest--dire les connexions ne changent plus de classe, ou si le
nombre maximum d'itrations a t atteint) . Puis reprendre lalgorithme Ants avec une
nouvelle partition et des paramtres diffrents.
Chapitre IV : Application de la mthode AntClass sur la base de donnes KDD99
59
Algorithme 6: Algorithme K-Means
iter = 0 // variable qui permet de compter les itrations
change = 1
Tant que ( (iter <MAXITERATIONS) ET (change>0) ) faire
change = 0
Pour k= 0 n-1 faire // n est le nombre de classe
Pour f= 0 L(C
K
)-1 faire // L(C
k
) est la taille de la classe C
k
mindist = d(o
f
, g
0
) // distance euclidienne
id=0
Pour j=1 n -1 faire
dist =d(o
f
, g
j
)
Si dist = mindist alors
mindist=dist
id=j
Finsi
Finpour
Si (id !=k) alors // on teste si la connexion changer de classe
change = change+1
C
j
=o
f
Finsi
Finpour
Finpour
iter=iter+1
FinTantque
Chapitre IV : Application de la mthode AntClass sur la base de donnes KDD99
60
2.2. Test de la mthode AntClass :
Afin de vrifier si le profil normal obtenu aprs lapplication de la mthode AntClass sur
la base KDD permettra de dtecter des connexions anormales (attaques), nous utilisons une
base de test KDD contenant des connexions normales et des connexions anormales (ou
attaques). Chaque connexion de cette base est caractrise par 41 attributs. Pour chaque une
connexion o
i
de la base de test, on cherche tout dabord la classe du profil normal dont le
centre de gravit est plus proche de cette connexion , c'est--dire, la classe C
k
telle que
d(g
k
,o
i
) < d(g
j
,o
i
) avec j={1,..,n} o n reprsente le nombre de classes. Ensuite, on compare
d( g
k
,o
i
) avec d
*
g(C
k
) ( la distance maximale entre les connexions de la classe C
k
et son
centre de gravit g
k
(voir formule III.14). Si cette distance est infrieure d
*
g(C
k
) alors la
connexion o
i
est normale, sinon la connexion o
i
est une attaque. Cette comparaison est
interprte par la fonction vrification().
- Algorithme de la fonction vrification() :
Dbut
Si d(g
i
,o
i
) < d
g
*
(c
i
) alors
La connexion o
i
est normale
Sinon
La connexion o
i
est anormale
Finsi
Fin
- d(g
i
,o
i
) : distance entre le centre de gravit g
i
(g
i
est le centre le plus proche de la
connexion o
i
)et la connexion o
i
.
(Voir la formule III.6).
- d
g
*
(c
i
) : distance maximale entre les connexions de la classe c
i
et son centre de
gravit (Voir la formule III.10).
3. Implmentation :
Tout au long de notre tude, lobjectif principal tait la ralisation dun classificateur pour
former le profil normal de fonctionnement normal du rseau en appliquant la mthode
AntClass. Cette phase dimplmentation consiste implmenter lalgorithme AntClass.
Chapitre IV : Application de la mthode AntClass sur la base de donnes KDD99
61
3.1. Outils de dveloppement :
Le langage de programmation utilis pour limplmentation est le langage Java
environnement Eclipse version1.7, ce dernier est populaire parmi les programmeurs en java.
Le langage Java est un langage de programmation orient objet et est une synthse de
plusieurs langages de programmation : il sinspire de syntaxe du langage C
++
et de techniques
prouves en Smaltalk et autres langages de programmation (organisation en classe, excution
laide dune machine virtuelle, gestion dexception), tout en supprimant la plupart des
inconvnients de ces mme langages.
Il a en outre, galement t enrichi par des mcanismes qui lui sont propres et ceci afin de
mieux rpondre aux fortes contraintes imposes par lexcution de programmes transmis par
le rseau internet (applets, servletsetc). Sil a t conu comme un langage ses dbuts, il
savre tre aujourdhui une vritable plate-forme de dveloppement dont voici les
principales caractristiques : Orient Objet, Simple, Multithread, Scuris, Portable,
Interprt.etc.
3.2. Les paramtres utiliss par lalgorithme AntClass :
Nous avons appliqu la mthode AntClass sur la base dapprentissage KDD. Dans notre
cas, deux itrations du couple Ants + K-Means sont effectues, cest--dire T
AntClass
=2 (o
T
AntClass
reprsente le nombre ditrations de AntClass).
Paramtres utiliss par lalgorithme Ants :
Pour la premire itration de AntClass ( T
AntClass
=1), les paramtres utiliss par
lalgorithme Ants sont les suivants :
A=40 (nombre de fourmis)
T=10000 (nombre ditrations)
M(a
i
) =0 i{1,..,A} {taille de la mmoire}
C(ai)=1i{1,..,A} {capacit de transport }
V(ai) {1,2,3} i{1,..,A} {vitesse}
P(ai)=1000 i{1,..,A} {patience}
K1=1
K2=1
Chapitre IV : Application de la mthode AntClass sur la base de donnes KDD99
62
Pour la deuxime itration de AntClass( TAntClass=2), les paramtres utiliss sont les
suivants :
A=20 (nombre de fourmis)
T=10000 (Nombre ditrations)
M(ai) =5 i{1,..,A} {taille de la mmoire}
C(ai)= i{1,..,20} {capacit de transport }
C(ai)= 1i{21,..,40} {capacit de transport }
V(ai) =1 i{1,..,A} {vitesse}
P(ai)=1000 i{1,..,A} {patience}
K1=2
K2=2
Paramtres utiliss pour les centres mobiles :
Le travail des agents fourmis est interrompu aprs T itrations (dans notre cas
T=10000) pour lancer les centres mobiles. Les centres mobiles sont excuts jusqu' ce
que le nombre maximum ditrations a t atteint, ou jusqu' ce que les connexions ne
changent plus de classe. Dans notre cas, ce nombre ditrations maximum est initialis
45 (MAXITERATIONS = 45).
Conclusion :
Nous avons dcrit dans ce chapitre lapplication et limplmentation de la mthode
AntClass qui opre en deux phases. Dans la premire phase, nous avons dtaill la manire
dont le profil normal du rseau est gnr en appliquant lalgorithme AntClass sur la base
dapprentissage KDD. Dans la seconde phase, cest--dire la phase de test, nous avons
expliqu comment se fait la dtection danomalies en utilisant le profil normal construit dans
la phase dapprentissage.
Dans le chapitre suivant nous allons voir les tests et les rsultats de limplmentation de la
mthode AntClass.
Chapitre v :
Tests et rsultats
Chapitre V : Tests et rsultats
63
Introduction :
Dans ce prsent chapitre, nous allons valuer le profil normal obtenu dans la phase
dapprentissage, afin de voir lefficacit de la mthode AntClass pour la dtection
dintrusions.
1. Tests :
Pour tester notre mthode, nous avons utilis un jeu de test form dun ensemble de
connexions appartenant la base de test KDD. Lavantage de ce jeu de test est que lon
connait les caractristiques de ses connexions et cela nous permet dvaluer la capacit de
notre mthode.
Le tableau suivant prsente pour chaque ensemble, le nombre de connexions totales, le
nombre de connexions normales et le nombre de connexions anormales.
Tableau 4 : Bases de test
2. Prsentation des rsultats :
Dans ce qui suit nous allons prsenter lvaluation de la mthode sur les diffrentes bases.
BASES
Connexions
normales
attaques
Le nombre
total de
connexions
Basetest1 0 2091 2091
Basetest2 0 2160 2160
Basetest3 0 2720 2720
Basetest4 1149 0 1149
Basetest5 1582 0 1582
Basetest6 101 1892 1993
Basetest7 1374 352 1726
Chapitre V : Tests et rsultats
64
-Basetest1 :
-Basetest2 :
-Basetest3 :
Chapitre V : Tests et rsultats
65
-Basetest4 :
-Basetest5 :
-Basetest6 :
Chapitre V : Tests et rsultats
66
-Basetest7 :
Les rsultats des tests sont rsums dans le tableau suivant :
BASES Capacit de dtecter des intrusions
Basetest1 94%
Basetest2 98%
Basetest3 79%
Basetest4 98%
Basetest5 97%
Basetest6 96%
Basetest7 96%
Tableau 5 : Rsultat sur un jeu de test
Les rsultats obtenus sur ces bases montrent que la mthode quon vient dimplmenter
est efficace, plus de 79% dattaques sont dtectes.
Pour la base Basetest3, la capacit de dtecter des intrusions est 79% quivalente 2131
attaques dtectes sur 2720 attaques. Ceci revient aux comportements indsirables du
systme : les faux ngatifs (dtection dattaque (s) en absence dattaque) et les faux ngatifs
Chapitre V : Tests et rsultats
67
(absence de dtection en prsence dattaque). En effet la mthode ne permet pas de dtecter
toutes les intrusions existantes dans les bases utilises et elle mit des fausses alertes.
Nous pouvons diminuer ces deux comportements indsirables en donnant plus ditrations
aux fourmis (T > 10000) et en augmentant le nombre maximum ditrations de la mthode
des centres mobiles (MAXITERATIONS > 45).
Conclusion :
Dans ce chapitre nous avons test le profil normal obtenu en appliquant la mthode de
classification AntClass pour valuer son efficacit pour la dtection dintrusions. Pour cela
nous avons choisi sept (07) bases de test de la base KDD (bases avec connexions normales,
bases avec attaques, bases htrognes).
Les rsultats obtenus montrent que la mthode de classification AntClass est trs efficace
dans la dtection dintrusions grce au critre de similarit et ses diffrents paramtres.
Conclusion Gnrale
68
Conclusion gnrale Conclusion gnrale Conclusion gnrale Conclusion gnrale
Le travail, ainsi prsent dans ce mmoire est li au domaine de la scurit des rseaux
plus prcisment la dtection dintrusions.
Aprs avoir prsent la scurit informatique et les diffrents systmes de dtection
dintrusions, nous avons tudi la mthode de classification non supervise AntClass ,
utilis dans la dtection dintrusions.
Nous avons implment lapplication de la mthode de classification non supervise
AntClass sur la base de donnes KDD99 constitues de milliers de connexions de type
TCP.
Des rsultats exprimentaux montrent que la mthode AntClass , permet une meilleure
dtection dintrusions. Ces rsultats sont dus au critre de similarit et les diffrents
paramtres de cette mthode.
Nanmoins, la mthode de classification AntClass prsente une lenteur pendant
lexcution qui est due au nombre ditrations effectues.
Ce projet nous a t dun grand apport pdagogique, puisquil nous a permis de dcouvrir la
scurit informatique, ses fonctionnalits et ses mcanismes, de nous familiariser avec les
threads de Java et de savoir comment rsoudre les problmes de classification en sappuyant
sur le comportement des fourmis.
Pour finir nous pensons que ce travail mrite dtre poursuivi en dveloppant un systme de
dtection dintrusions base de la mthode AntClass
TABLE DES ILLUSTRATIONS
70
Figure 1 : Architecture classique dun IDS (Intrusion Detection System)...17
Figure 2 : Classification des systmes de dtection dintrusions..19
Figure 3 : Les emplacements possibles des NIDS ( Network IDS)..25
Figure 4 : Grille utilise dans lalgorithme de Lumer et Faieta34
Figure 5 : Dfinition des tas..38
Figure 6 : Schma de droulement de la mthode AntClass.41
Figure 7 : Application de la mthode AntClass sur KDD99...50
Figure 8 : Filtrage des connexions normales51
Figure 9 : grille G..53
Figure 10 : Directions dune fourmi.54
Figure 11 : Rpartition des connexions sur la grille G.....56
Figure 12 : Les mthodes de classification...77
Figure 13 :Exemple de dendogramme..77
Algorithme 1 : Algorithme de Lumer et Faieta35
Algorithme 2 : Algorithme K-Maens43
Algorithme 3 : Algorithme Ants...44
Algorithme 4 : Algorithme AntClass44
Algorithme 5 : Algorithme Ants...56
Algorithme 6 : Algorithme K-Means59
Tableau 1 : Paramtres de lalgorithme Ants45
Tableau 2 : Les types dattaques...47
Tableau 3 : Liste des attributs...48
Tableau 4 : Bases de test...63
Tableau 5 : Rsultats sur un jeu de test.66
TABLE DES ILLUSTRATIONS
71
Formule ( III.1)32
Formule ( III.2)33
Formule ( III.3)34
Formule ( III.4)34
Formule ( III.5)38
Formule ( III.6)38
Formule ( III.7)38
Formule ( III.8)38
Formule ( III.9)39
Formule ( III.10)..39
Formule ( III.11)..39
Formule ( III.12)..39
Formule ( III.13)..40
Formule ( III.14)..42
Formule ( III.14)..42
Formule ( III.15)..42
BIBLIOGRAPHIE
72
[1] : R.Mouzer et R.kheddam , Mise en place dun systme de dtection et de prvention
dintrusions ,thse de fin dtude Universit Mouloud Mammeri, 2009.
[2]: Eric Cole, Hackers Beware , first edition,New Riders Publishing, 2001.
[3]: Eric Maiwald, Scurit des rseaux, Edition CampusPress, 2001.
[4] : Jean-Franois Pilon, Tout sur la scurit informatique , dition Dunod, 2005.
[5]: Andrew R.Backer Snort IDS and IPS Toolkit , Syngress edition, 2007.
[6]: Kaspersky Lab; le manuel de lutilisateur d.2007, http://www.Kaspersky.com .
[7] : Solange Ghernaouti-Hlie Scurit internet Strategie et technologie , Dunod, 2000.
[8] : Emmanuel JUD, http :www.secuser.com .
[9]: Christopher A.Crayton, Ido Dubrawasky,Alun Jones et Marc Perez Security + Study
Guid & DVD Training System, Second Edition , 2
nd
edition, Sungress 2007.
[10]: Haold F.Tipton, CISSP et Micki Krause, Information Security Management
Handbook, 6
th
edition, Auerbach Publications 2007.
[11]: Introduction la cryptographie, support de cours du cabinet Herv Schaner
consultant HSC, http:// www.hsc.fr .
[12] : http :www.misfu.com/ Telechargement/ Securit-rseaux.zip .
[13] : Andrew Tanenbaum, Systmes dexploitation , 2
e
edition, Pearson Education, 2003.
[14] : Anne Henni and Mark Lucas, Firwall Policies and VPN configurations ,Syngress
edition, 2006.
[15] : Alexandre Nevski, Modlisation et la simulation dun systme de dtection et de
rponse aux intrusions , Laboratoire Telecom de Centre Universitaire Informatique de
Genve.
[16] : Cdric Michel, Langage de description dattaques pour la dtection dintrusions ,
Thse de doctorat Universit de Rennes, 2003.
BIBLIOGRAPHIE
73
[17] : D.Burgermeister , Les attaques rseaux et application , J.Krier, Systme de
dtection dintrusions ,2006,http :dbprog.developpez.com.
[18] : Kenza Tayeb, Dtection dintrusions cooprative base sur la fusion de donnes ,
Thse de magister Institut National de formation en Informatique INI, 2005.
[19] : Bourkache Ghenima, Un IDS rparti bas sur une socit dagents intelligents ,
Thse de magister Universit Mhamed Bouguara de BOUMERDES, 2007.
[20]: Jensen, F. V, Introduction to Bayesien networks, UCL Press, 1996.
[21]: Pearl J, Probabilistic Reasoning in intelligent systems: networks of plausible
inference, Morgan Kaufmman , Los Altos, CA, 1988.
[22]: A.Valdes,K. Skinner, Adaptive Model-based Monitoring for Cyber Attack Detection
In proceedings of Recent Advances in Intrusion Detection (RAID 2000) , Toulouse, France,
2000.
[23]:B. Nedjimi ,L.Thobois ,M.Tudury, Microsoft Windows 2000 : Notions Fondamentales,
Essentiel de prparation aux certifications .
[24]: Quinlan, J. R, Induction of decision trees.Machine Learning 1, 1-106, 1986.
[25]: Quinlan, J. R, C4.5, Programs for machine learning. Morgan Kaufmann San
MateoCa, 1993.
[26]: Article de : N. Ben Amor S. Benferhatet Z. Elouedi, Rseaux baysiens nafs et
arbres de dcision dans les systmes de dtection d'intrusions .
[27] : http://www.chimique.usherbrooke.ca/cours/gch445/neurones-intro.html
[28] : N.Monmarch, Algorithmes de fourmis artificielles : application la classification et
loptimisation ,Thse de doctorat Universit de Tours,2000.
Annexe A :
Classification
Annexe A : Classification
74
1. Introduction :
Les mthodes de classification sont nombreuses et ont pour but de construire une partition
ou une suite de partition embotes. Les classes ainsi formes doivent tre les plus homognes
possibles. On distingue deux grands types de mthodes, les mthodes de partitionnement et
les mthodes hirarchiques. Le choix de la "bonne" mthode est parfois difficile et ce choix
dpend de la nature des variables, de la problmatique pose et souvent des habitudes du
domaine d'tude.
2. Diffrentes classification possibles : [28]
Classifier est le processus qui permet de rassembler des objets dans des sous-ensembles tout
en conservant un sens dans le contexte dun problme particulier. Les sous-ensembles obtenus
reprsentent une organisation, ou encore une reprsentation de lensemble des objets. Les
relations disponibles entre les objets sont rassembles dans une matrice de dissimilarit
dans la quelle les lignes et les colonnes correspondent aux objets. Comme les objets peuvent
tre reprsents par des points dans un espace numrique M dimensions, la dissimilarit
entre deux objets peut tre dfinie comme une distance entre les deux points
correspondants. Cette matrice de dissimilarit est la principale entre ncessaire la phase
de classification.
La figure 12 prsente les diffrentes mthodes de classification. Voici une description de ces
mthodes :
2.1. Classification non exclusive :
Une classification non exclusive autorise quun objet appartienne plusieurs classes
simultanment. Les classes peuvent alors se recouvrir.
2.2. Classification exclusive :
Une classification exclusive est un partitionnement des objets : un objet nappartient qu
une classe et une seule.
2.2.1. Classification supervise :
Il sagit dutiliser les groupes connus pour dcouvrir ce qui les diffrencie ou afin de
pouvoir classer de nouveaux objets dont la classe nest pas connue. De nombreuses
Annexe A : Classification
75
techniques de classification supervise ont t dveloppes, parmi ces mthodes, on trouve
les mthodes de classification par maximum de vraisemblances.
2.2.2. Classification non supervise :
Une mthode de classification non supervis (en anglais clustering) nutilise que la
matrice de dissimilarit. Aucune information sur la classe dun objet nest fournie la
mthode (on dit que les objets ne sont pas tiquets).Lobjectif de la classification non
supervis est oppos au cas supervis. Dans le premier cas , il sagit de dcouvrir des
groupes dobjets alors que dans le deuxime cas il sagit dutiliser les groupes connus pour
dcouvrir ce qui les diffrencie a fin de pouvoir classer de nouveaux objets dont la classe
nest pas connue. Prenons lexemple dune population dindividus dont on dispose de
renseignement tels que lge, le sexe, le poids, la taille et le taux de cholestrol. Une mthode
de classification non supervise permettra par exemple de construire deux groupes : un
groupe vgtariens et un groupe de carnivores. Une mthode de classification supervise
ncessite de savoir pour chaque individu sil est vgtarien ou non et permettra dtablir
des critres permettant de diffrencier un individu selon ses attributs (ge, sexe,).
Classification hirarchique : Une mthode de classification hirarchique construit
une squence de partitions imbrique, que lon visualise par exemple par un
dendogramme (Voir la figure 13).
Partitionnement : un partitionnement ne construit quune seule partition des
donnes.
La classification hirarchique est surtout utilise pour construire des taxonomies dans
le domaine de la biologie, des sciences comportementales ou sociales. Les techniques de
partitionnement sont surtout utilises quand lobtention dune partition unique est
primordiale, par exemple pour la reprsentation et la compression de bases de donnes
importantes
1
.
1
La reprsentation dune classification hirarchique par un dendogramme est particulirement interdite quant la
base de
donnes se compose de plusieurs centaines dobjets.
Annexe A : Classification
76
Le problme de partitionnement peut tre formul de la faon suivante. Etant donns N
points dans un espace mtrique M dimensions, on cherche une partition de ces points en K
classe ( ou groupe) de telle sorte que les points dun mme groupe soient plus similaires
entre eux quavec les points les points des autres groupes. La valeur de K peut ne pas tre
connue. Comme pour toute mthode non supervise , la qualit dune mthode de
partitionnement ne peut tre juge qu a partir de ses rsultats : cest lexpert du domaine
qui peut dterminer la pertinence des rsultats obtenus.
3. Distance : [28]
Etant donne un ensemble O= {o
1
,,o
N
} de N objets correspondant chacun un point
dun espace mtrique M dimensions dont les coordonnes sont notes par le vecteur
x
i
=(x
i1
,,x
iM
) pour lobjet o
i
, on peut dfinir la distance conne suit :
Une distance est assimilable une mesure de dissimilarit. Etant donn que nous nous
intressons des espaces mtriques. Lindice de dissimilarit le plus communment utilis est
la mtrique de Minkowski :
do
, o
= d
, x
= w
, x
= Max
.
Ces mesures sont souvent utilises pour des donnes numriques. Dans le cas de
donnes symboliques, dautres distances doivent tre utilises. La plus connue tant la
distance de Hamming, lorigine dfinie pour mesurer la distance entre des chanes
binaires, et qui correspond au nombre de bits diffrents dans les deux chanes pour une
mme position.
Dans notre thse, nous noterons la mesure d2(.) par d(.) pour allger les notations.
Annexe A : Classification
77
Figure 12 : Les mthodes de classification (Jain and Dubes, 1988).
o
1
o
2
o
3
o
4
o
5
o
6
o
7
o
8
o
9
o
10
o
11
o
12
o
13
o
14
o
15
Figure 13 : Exemple de dendogramme.
Mthode de classification
Mthode non exclusive Mthode exclusive
Classification supervise Classification non supervise
Classification hirarchique Partitionnement