Vers un critère d`arrêt de Boosting basé sur la

publicité
Vers un critère d’arrêt de Boosting basé sur la diversité
des classifieurs
Nida Meddouri, Hèla Khoufi Zouari, Mondher Maddouri
Unité de Recherche en Programmation, Algorithmique et Heuristiques - URPAH
Faculté des Sciences mathématiques, physiques et naturelles de Tunis - FST
Université d’El Manar, Campus universitaire El Manar, 1060, TUNIS, TUNISIE
[email protected], [email protected],
[email protected]
Dans cette dernière décennie, plusieurs chercheurs se sont intéressés aux méthodes de
Boosting pour améliorer la performance des classifieurs. Néanmoins, l’ajout de classifieurs ne
garantit pas, toujours, cette amélioration mais induit plutôt un phénomène de sur-apprentissage.
Dans cet article, le rôle de la diversité sur la performance des ensembles de classifieurs est exploité au cours de l’apprentissage. Une mesure permettant d’évaluer cette diversité est utilisée.
L’étude expérimentale sur des bases différentes montre la relation entre la diversité des classifieurs et la performance de Boosting.
RÉSUMÉ.
In the last decade, many researchers were interested in Boosting methods to improve
the performance of classifiers. However, the addition of more classifiers does not always guarantee this improvement but rather induces a phenomenon of Over-fitting. In this paper, the role
of diversity on the performance of classifiers is exploited during learning process. To calculate
this diversity, Q Statistic measure is used. The experimental study on different data sets shows
the relationship between classifier diversity and the performance of Boosting.
ABSTRACT.
MOTS-CLÉS :
Classification, Boosting, Ensemble de classifieurs, Diversité, Sur-apprentissage.
KEYWORDS:
Classification, Boosting, Classifier ensembles, Diversity, Over-fitting.
1. Introduction
Avec le développement des outils informatiques, nous avons assisté ces dernières
années à un véritable déluge d’informations stockées dans de grandes bases des données scientifiques, économiques, financières, médicales, etc [LEF 01]. Le besoin d’interpréter et d’analyser de grandes masses de données a suscité beaucoup d’intérêt.
Ainsi, la mise au point des nouvelles techniques d’analyse est devenue un réel défi
pour la communauté scientifique. Pour répondre à cette pénurie de connaissances sur
les données, de nouvelles méthodes d’extraction de connaissances ont vu le jour, regroupées sous le terme générique de la fouille de données ou Data Mining [BER 04].
La fouille de données est une thématique de recherche en pleine évolution visant à
exploiter les grandes quantités de données collectées chaque jour dans divers champs
d’applications de différents domaines, tels que les statistiques, les bases de données,
l’algorithmique, les mathématiques et l’intelligence artificielle [LEF 01]. On lui donne
d’autres appellations, comme par exemple extraction de connaissances dans les bases
de données ou encore exploration de données. L’extraction de connaissances dans les
bases de données (ou Knowledge Discovery in Databases - KDD), désigne le processus interactif et itératif non trivial d’extraction de connaissances implicites, précédemment inconnues et potentiellement utiles à partir des données stockées dans les bases
de données.
L’idée sous-jacente de la fouille de données est donc d’extraire les connaissances
cachées à partir d’un ensemble de données. Le terme fouille de données regroupe
un certain nombre de tâches, telles que la prédiction, le regroupement et la classification. Ces tâches peuvent être faites par plusieurs techniques, telles que les arbres
de décisions, les réseaux de neurones ou l’analyse de concepts formels [LEF 01].
Ces classifieurs sont souvent appelés weak learners puisqu’ils produisent des performances faibles. Récemment, un grand nombre de travaux, en apprentissage supervisé,
ont porté sur les méthodes de dopage (Boosting) de classifieurs qui sont des approches
de fouille de données permettant d’améliorer les performances des classifieurs faibles
par la combinaison de leurs résultats. La simplicité de mise en oeuvre et les théorèmes
récemment édictés, relatifs aux bornes, aux marges, ou encore à la convergence du
Boosting sont deux raisons principales à cette large utilisation [FRE 97].
Boosting construit d’une manière séquentielle un ensemble de classifieurs de même
modèle. Chaque classifieur est généré en fonction des données d’apprentissage et de
la performance du classifieur précédent. Grâce à la construction ingénieuse de ces
données, le Boosting favorise la diversité des classifieurs [BRO 05]. Toutefois, il a été
constaté que l’ajout de classifieurs pourrait avoir des effets ’paralysant’ dans le sens où
cela ne conduit pas à une amélioration implicite de la performance de Boosting, mais
plutôt à sa dégradation [SHI 02] à cause du sur-apprentissage [KUN 02b] [BüH 07].
Cela s’explique notamment par l’échantillonnage répétitif des données d’apprentissage à partir des distributions similaires. Nous nous demandons donc si nous pouvons
utiliser la diversité de classifieurs pour arrêter le Boosting au bon moment.
Dans la section suivante, nous présentons une méthode adaptative pour la génération de classifieurs [FRE 97] et nous discutons de leur diversité. Dans la section
3, nous proposons un nouveau critère d’arrêt de Boosting basé sur une mesure de
diversité des classifieurs. Une étude expérimentale est présentée dans la section 4 permettant d’expliquer le rôle de la diversité des classifieurs dans AdaBoost.
2. Boosting et diversité des classifieurs
2.1. Boosting des classifieurs
L’idée générale d’AdaBoost est de construire un nombre T fixe de classifieurs
séquentiellement [FRE 97]. Initialement, AdaBoost affecte des poids égaux aux ’N’
exemples d’apprentissage oi de l’ensemble O={o1 , o2 , ..., oN }. Chaque oi est étiqueté par la classe yi tel que yi ∈ Y = {1, ... ,k } et k est le nombre de classes.
L’initialisation de la distribution des poids D0 se calcule comme suit :
D0 (i) =
1
pour i = 1, ..., N.
N
[1]
Le vecteur des poids est initialisé en utilisant [2] :
w1i,y =
D0 (i)
pour i = 1, ..., N et y ∈ Y − {yi }.
k−1
[2]
Pour chaque itération t, Wit est calculé de la façon suivante :
Wit =
X
y6=yi
t
wi,y
pour tout y 6= yi
[3]
La distribution des poids est mise à jour en utilisant la formule [4] :
Wt
.
Dt (i) = PN i
t
i=1 Wi
[4]
Chaque classifieur ht , construit, attribue à chaque exemple oi une probabilité pt (oi ,yi )
estimée pour chaque classe yi . Cette probabilité prend la valeur 1 si oi appartient
réellement à la classe yi et 0 s’il n’appartient pas à la classe yi . Trois cas se présentent :
– Si pt (oi ,yi ) = 1 et pt (oi ,y) = 0, cela signifie que ∀y6=yi , ht a prédit correctement
la classe de oi .
– Si pt (oi ,yi ) = 0 et pt (oi ,y) = 1, cela signifie que ∀y6=yi , ht a proposé une réponse
inverse pour oi .
– Si pt (oi ,yi ) = pt (oi ,y), cela signifie que, la classe de oi est sélectionnée aléatoirement entre y et yi .
A partir de cette interprétation, la pseudo-perte du classifieur ht via la distribution
des poids Wt est définie par [5] :
t = 0.5 ×
avec :
N
X
i=1
Dt (i)(1 − pt (oi , yi ) +
qt (i, y) =
X
y6=yi
qt (i, y) × pt (oi , y))
t
wi,y
pour tout y 6= yi .
Wit
[5]
[6]
L’erreur est donc :
εt
.
[7]
1 − εt
Les vecteurs des poids des exemples sont aussi mis-à-jour selon β t pour tout i=1,..,N
et y ∈ Y − {yi } :
βt =
0.5×(1+pt (oi ,yi )−pt (oi ,y))
t+1
t
wi,y
= wi,y
× βt
[8]
Après la génération de T classifieurs, le résultat du Boosting est déterminé via :
T
X
1
log × pt (oi , yi ).
hf in (oi ) = arg max
β
y∈Y t=1
t
[9]
2.2. Sur-apprentissage et diversité des classifieurs
D’après l’article de [SEB 03], la mise à jour adaptative des données, visant à augmenter le poids de ceux mal appris par le classifieur précédent, permet d’améliorer
la performance de n’importe quel algorithme d’apprentissage, supposé faible. Néanmoins, les capacités d’AdaBoost ont été remises en cause dès qu’il utilise des données
fortement bruitées. Pour éviter le sur-apprentissage, [SEB 03] propose une nouvelle
méthode dite iAdaBoost qui permet de modifier les poids des exemples d’apprentissage dans AdaBoost en tenant compte des données bruitées. Dans [BüH 07], les auteurs ont étudié les fonctions d’erreurs dans Boosting pour justifier le phénomène du
sur-apprentissage et ont montré la lenteur du Boosting à atteindre ce phénomène.
Classiquement, l’arrêt du Boosting se fait a priori après T itérations prédéfinie.
D’autres critères d’arrêt ont été proposés tel que early stopping qui se base sur la
validation croisée [ZHA 05]. Néanmoins, aucun des critères cités ne tient compte de
la diversité des classifieurs au cours de l’apprentissage.
D’après l’article de [KUN 02a], les classifieurs devraient être différents les uns des
autres sinon la décision de l’ensemble ne sera pas meilleure que les décisions individuelles. Cette différence, appelée aussi diversité, a été étudiée dans plusieurs travaux
[BRO 10]. Dans [KUN 02a], il est constaté l’avantage de la diversité des classifieurs
linéaires sur la performance d’AdaBoost pour des problèmes à deux classes. En effet,
les résultats ont montré que la performance d’AdaBoost est à son maximum quand
les classifieurs sont très diverses. Cela explique qu’il y ait un lien entre la diversité
des classifieurs linéaires et l’erreur d’AdaBoost. De nombreuses mesures ont été également proposées pour calculer la diversité entre les classifieurs. Mais, il est prouvé
qu’il n’y a pas une meilleure mesure de diversité bien qu’elles soient nombreuses.
Dans cet article, on propose d’utiliser le Q Statistique pour calculer la diversité
entre les classifieurs nominaux [MED 10]. En effet de nombreuses études de diversité
[KUN 02a] [KUN 02b] recommandent vivement cette mesure puisqu’elle est simple
et a une valeur nulle pour les classifieurs indépendants ce qui facilite l’interpretation
de son utilisation. Cette mesure se calcule entre chaque paire de classifieurs hi et hj
en utilisant la formule [10] :
Qj,k =
N 11 N 00 − N 10 N 01
N 11 N 00 + N 10 N 01
[10]
Sachant que N vw (v={0,1} et w={0,1}) est le nombre des exemples oi de l’ensemble O classés correctement/incorrectement par les deux classifieurs hj et hk (pour
tout j = 1, ...,t et k = (j+1), ...,t) selon le tableau 1.
hj correct (1)
hj incorrect (0)
hk correct (1)
N 11
N 01
00
N=N +N 01 +N 10 +N 11
hk incorrect (0)
N 10
N 00
Tableau 1. Le nombre d’accords et de désaccords entre deux classifieurs.
La diversité d’un ensemble de T classifieurs est calculée en faisant la moyenne des
diversités des différents paires.
Dans la section suivante, nous discutons un nouveau critère qui permet d’arrêter le
sur-apprentissage en se basant sur la diversité des classifieurs.
3. Contribution théorique
Dans les études de [KUN 02a] et [AKS 06], la mesure Q statistique est utilisée principalement pour mesurer la diversité entre les classifieurs. La publication
[BRO 05] montre que les classifieurs indépendants peuvent offrir une amélioration remarquable des performances dans le Boosting. A partir des expérimentations menées
par [KUN 02a] et [KUN 02b] sur des échantillons différents de données, les auteurs
ont prouvé que la diversité négative des classifieurs mis en jeu est préférable. En plus,
avec un petit nombre de classifieurs, les ensembles générés sont très divers. Mais, plus
le nombre de classifieurs augmente, plus la diversité diminue.
Nous pensons que l’on peut arrêter le sur-apprentissage dans le Boosting en utilisant la mesure Q Statistique puisque la variation de cette mesure devient stationnaire
lors du sur-apprentissage.
A titre illustratif, nous considérons 3 classifieurs faibles h1 , h2 et h3 générés par
un algorithme standard de Boosting (AdaBoost.M2 [FRE 97]) aux itérations t1 , t2 et
t3 respectivement. Notons Q1,2 (resp. Q1..3 ) la valeur de diversité des classifieurs h1 ,
h2 (resp. h1 , h2 et h3 ). Rappelons que la diversité de l’ensemble Q1..3 se base sur la
formule [11] et se calcule alors comme suit :
Q1..3 =
Q1,2 + Q1,3 + Q2,3
3
[11]
Notons qu’au début de Boosting, l’apprentissage utilise des distributions différentes de données. La génération d’un ensemble de classifieurs divers sera mieux
garantie. Partant de ce fait, on peut prouver que la mesure Q Statistique n’est pas
stable au début de sa variation. Il suffit de prouver que la diversité de l’ensemble des
classifieurs à t3 (|Q1..3 |) est différente de celle à t2 (|Q1,2 |) c’est à dire prouver que
Q1,2 − Q1..3 6= 0 :
Q1,2 − Q1..3 = Q1,2 −
Q1,2 + Q1,3 + Q2,3
Q1,2 − Q1,3
Q1,2 − Q2,3
=
+
[12]
3
3
3
Rappelons qu’à chaque itération, la mise à jour des poids des exemples d’apprentissage se base sur le principe suivant : diminuer les poids des exemples bien classés
et augmenter les poids de ceux mal classés. Les exemples mals classés serviront à la
construction du nouveau classifieur faible dans l’itération suivante. Cela favorise un
nouvel apprentissage à partir d’un ensemble différent de données de celle des itérations précédentes et non exploitées par les classifieurs précédents. Donc, la génération
d’un classifieur différent, par rapport au précédent, apporte plus de diversité dans l’ensemble de classifieurs déjà construits.
Dans notre exemple illustratif, le deuxième classifieur h2 est généré en fonction du
premier classifieur h1 . Ce classifieur h2 est construit à partir des exemples non exploités ou mal appris par h1 . Donc, h2 sera différent de h1 . De même pour le classifieur
h3 qui sera appris après les deux premiers classifieurs (h1 et h2 ). Ce classifieur h3 sera
construit à partir des exemples non exploités ou mal appris par h1 et h2 et donc différent de h1 et h2 . En conclusion, l’ensemble (h1 , h2 et h3 ) est plus divers que (h1 et
h2 ). D’où, Q1,2 − Q1..3 > 0. La diversité ne commence à se stabiliser qu’au moment
où les nouveaux classifieurs sont construits, à partir des exemples d’apprentissage qui
ont déjà servi pour la construction des classifieurs précédents.
Au cours des premières itérations, h1 classifie correctement un ensemble d’exemples
diffèrent de celui utilisé pour construire h2 . Donc, l’erreur de (h1 et h2 ) est plus faible
que celle de h1 . De même, le classifieur h3 tient compte des erreurs de h1 et h2 . L’erreur de (h1 , h2 , h3 ) est plus faible que celle de (h1 et h2 ). Ainsi, (h1 , h2 et h3 ) couvrent
plus d’exemples que (h1 et h2 ).
Pour un certain ensemble, les classifieurs commencent à perdre leurs diversités. La
perte de la diversité dans un ensemble de classifieurs peut être justifiée par l’ajout, de
nouveaux classifieurs déjà générés, qui ne sert pas à améliorer le résultat du Boosting
mais plutôt à le diminuer. Rappelons que, concernant la pondération des exemples, le
mécanisme interne du Boosting permet d’augmenter les poids des exemples durs à apprendre et de diminuer les poids des exemples correctement prédits par les classifieurs
précédents. Ce jeu de pondération a un effet paralysant qui est le sur-apprentissage.
Pour les exemples durs à apprendre, leurs poids ne cessent d’augmenter sans pouvoir
les prédire correctement par les classifieurs à construire. De ce fait, les classifieurs générés seront semblables et la variation de la mesure Q devient à peu près stationnaire.
D’où, l’erreur de Boosting se stabilise à partir d’un certain nombre de classifieurs dont
la diversité n’évolue plus.
A partir de ces constatations, nous pensons que l’on peut stopper le Boosting une
fois que les valeurs de Q deviennent très proches.
3.1. Algorithme AdaBoost.HD
Notre approche, nommée AdaBoost.HD (Adaptative Boosting of the Higher Divers
classifiers), permet d’améliorer AdaBoost.M2 [FRE 97]. En effet, elle permet de booster adaptativement les classifieurs en tenant compte de leurs diversités (voir Algorithme 1). Nous exécutons autant de fois cet algorithme sur des exemples d’apprentissage distribués de manière différente jusqu’à ce que l’accroissement des valeurs de Q
atteigne un seuil fixé. Notre contribution consiste à mesurer la diversité de l’ensemble
des classifieurs à chaque itération en utilisant Q statistique. Nous comparons la diversité de chaque ensemble à celle de l’ensemble de l’itération précédente. Si l’accroissement de la diversité dépasse le seuil fixé, la génération des classifieurs est poursuivie.
Sinon l’ensemble de classifieurs générés est retenu et le Boosting est arrêté.
3.2. Etude de la complexité
Nous pensons que la modification d’AdaBoost.M2 a des effets sur sa performance.
Pour cette raison, nous avons mesuré la complexité supplémentaire apportée par le
calcul de la diversité.
Notons N le nombre des exemples et M le nombre des attributs décrivant ces
exemples. Nous désignons par topt le nombre des classifieurs avec qui la stabilisation de la variation de la mesure Q Statistique est obtenue. topt représente le nombre
de classifieurs qui aident à la stabilisation de l’erreur d’AdaBoost.M2.
A chaque itération, nous calculons la diversité de l’ensemble des classifieurs par
l’ajout d’un nouveau classifieur. Certaines valeurs de la diversité sont déjà calculées
dans l’itération t-1. Dans l’itération t, nous calculons la valeur de la diversité du classifieur ht avec tous les autres classifieurs h1 ,h2 ,..,ht−1 ( Q1,t , Q2,t , ..., Q(t−1),t ). Donc,
nous aurons t-1 valeurs de diversité à calculer. Nous estimons la complexité du calcul
de la diversité pour chaque itération par O(NM) car nous devons calculer et comparer
les prédictions des deux classifieurs hj et hk pour tous les N exemples. D’où, pour
Algorithme 1 AdaBoost.HD (AdaBoost of the Higher Diverse classifiers)
ENTREE : Soit o une instance à classer.
Soit O = (o1 ,y1 ), ..., (on ,yn ) un échantillon de données
étiquetées tel que yi ∈ Y = {1, ..., k}.
T est le nombre maximum des classifieurs à générer.
Seuil_accr est un seuil d’accroissement de la mesure Q.
ht : un classifieur faible qui induit une hypothèse
sur chaque échantillon pondéré.
SORTIE : L’hypothèse finale hf in qui est le résultat du Boosting.
DEBUT :
1. Initialiser Q0 à zéro
2. Initialiser la distribution des poids D0 à partir de O
3. Initialiser le vecteur des poids w1i,y pour i=1,...,n et y∈ Y-{yi }
4. Pour t de 1 à T
4.1. Calculer Wit et définir qt (i, y) pour tout y 6= yi
4.2. Calculer la distribution des poids Dt (i)
4.3. Appliquer la méthode d’apprentissage en l’entraînant sur l’échantillon
d’apprentissage O muni de la distribution Dt
Retenir le classifieur ht : O × Y −→ [0, 1]
4.3.1 : Calculer la diversité de l’ensemble de classifieurs en cours : Q1..t
4.3.2 : Si |Q1..t - Q1..(t−1) | < Seuil_accr alors arrêter le Boosting
4.3.3 : Sinon
4.3.3.1 : Calculer le taux de la pseudo-perte : t
4.3.3.2 : Calculer la perte : βt
4.3.3.3 : Définir les nouvelles valeurs du vecteur des poids :
t+1
wi,y
pour tout i=1,..,n et y∈ Y-{yi }
4.3.4 : Fin Si
Fin Pour.
PT
5. Résultat final : hf in (oi ) = arg maxy∈Y t=1 log(1/βt ) × ht (oi , yi ).
FIN.
chaque itération, nous estimons la complexité par O(N M (topt − 1)). Au bout de topt
(t
−1)t
itérations, nous aurons O(N M opt 2 opt ) = O(N M t2opt ).
Nous constatons aussi que notre approche va assurer un gain de temps d’exécution puisqu’on ne va pas exécuter AdaBoost.M2 pour un nombre maximal de T fois
mais plutôt pour topt fois. Notons O(C) la complexité de l’apprentissage du classifieur faible et de la mise à jour des poids à chaque itération. Nous estimons la complexité d’AdaBoost.HD à O(N M t2opt + O(C) ? topt ). Enfin, nous appelons gain en
terme de complexité la différence entre la complexité de AdaBoost.M2 et celle de
AdaBoost.HD. Ce gain est estimé à (T − topt ) ? O(C) − O(N M t2opt ).
En conclusion, notre contribution sera appréciable surtout dans le cas des problèmes d’apprentissage où la valeur de T est très grande et topt est très petite. Elle
sera appréciable aussi dans le cas ou le classifieur appris est très complexe (O(C) est
grande).
4. Etude expérimentale
L’objectif de cette section est d’étudier la diversité des classifieurs et d’évaluer les
performances de BNC (Boosting Nominal Concepts) [MED 10], avec et sans critère
d’arrêt, sur des jeux différents de données. Le classifieur faible mis en jeu est de type
(Fermeture du Meilleur Attribut Nominal [MED 10]). Les algorithmes de cette étude
expérimentale ont été implémentés sous WEKA1 .
Pour évaluer la diversité des classifieurs, au cours de l’apprentissage, nous avons
exploité la mesure de diversité Q Statistique. Pour arrêter AdaBoost.HD, nous avons
fixé un seuil très faible (0.001).
Nous avons utilisé des données, traitant des problèmes à 2 et 3-classes extraites de
UCI Machine Learning Repository2 . Ces données ont été discrétisées avec un filtre de
discrétisation (weka.filters.supervised.attribute.Discretize) implémenté sous WEKA. Ce
filtre transforme les attributs numériques en attributs nominaux. Cette transformation
de données est indispensable pour permettre au BNC d’opérer à partir des données
nominales. Pour chaque échantillon de données (voir tableau 2), nous présentons respectivement : le nombre d’exemples N, le nombre d’attributs NA et le nombre de
classes K. Nous présentons, également, d’autres informations (exprimées en pourcentage) concernant la diversité de ces bases de données, à savoir :
– Vecteurs d’attributs dupliqués VD : taux des vecteurs d’attributs (y compris la
classe) semblables dans la base.
– Diversité des données DD : taux des vecteurs d’attributs différents (y compris la
classe) dans la base [KO 08].
– Vecteurs d’attributs en conflit de classes VC : taux des vecteurs d’attributs semblables mais avec des classes différentes.
La performance de BNC est évaluée en terme de taux d’erreurs. Pour calculer ces
taux, nous rapportons la moyenne de 10 expérimentations. Chaque expérimentation
s’est déroulée selon le principe de 10-Validation Croisée dont le principe est de diviser
chaque base en 10 sous-ensembles. A tour de rôle, chaque sous-ensemble servira pour
le test et les autres sous-ensembles pour l’apprentissage [KOH 95].
Données
Credit-German
Diabetes
Ionosphere
Tic Tac Toe
Transfusion
Balance Scale
Contact Lenses
Iris
N
1000
768
351
958
748
625
24
150
NA
20
8
4
9
4
4
4
4
K
2
2
2
2
2
3
3
3
VD
3.1%
93.09%
15.95%
0%
100%
98.08%
0%
95.33%
DD
98.59%
22.83%
90.2%
100%
1.07%
6.41%
100%
16.03%
VC
0.4%
8.98%
0%
0%
0%
25.44%
0%
11.33%
Tableau 2. Caractéristiques des échantillons de données utilisées.
Figure 1. Diversité et taux d’erreurs du BNC sur la base German Credit
4.1. Problèmes à 2 classes
Les figures 1, 2, 3, 4 et 5 présentent les performances de BNC et les valeurs de
Q Statistique sur les bases : Crédit German, Diabetes, Ionosphere, Tic Tac Toe et
Transfusion. Dans la figure 1.1, nous remarquons que les performances de BNC sont
stabilisées à un taux d’erreurs qui vaut 31.8%. Les valeurs de diversité sont présentées
dans la figures 1.2. Notre méthode proposée a permis de construire un ensemble de 24
classifieurs différents avant d’atteindre le sur-apprentissage. Les classifieurs générés
par AdaBoost.HD sont dépendants négativement (Q = -0.23).
A partir de la figure 2, nous pouvons constater que la meilleure performance
d’AdaBoost.HD est obtenue avec un ensemble très divers de classifieurs (Q > -0.4).
L’algorithme est arrêté après la génération de 40 classifieurs très dépendants (Q = 0.61) et avec un taux d’erreurs qui vaut 24.47%. Pour les figures 3 et 4, on peut constater qu’au début, BNC produit une dizaine de classifieurs dont les valeurs de Q varient
1. http://www.cs.waikato.ac.nz/ml/Weka
2. http://www.ics.uci.edu/ mlearn/MLRepository.html
Figure 2. Diversité et taux d’erreurs du BNC sur la base Diabetes
Figure 3. Diversité et taux d’erreurs du BNC sur la base Ionosphere
entre -1 et 1 (identiques, indépendants et différents) et ces taux d’erreurs décroient de
plus de 20% rapidement. Pour des ensembles dont le nombre de classifieurs est compris entre 20 et 40, Q varie entre 0 et -0.5 et les performances de BNC commencent à
se stabiliser. Ici, les données se caractérisent par un taux élevé de DD qui sont 98.59%,
90.2% et 100%. Lorsque le nombre de classifieurs dépasse 40, Q ne change pas. BNC
produit les mêmes taux d’erreurs et donc l’ajout de nouveaux classifieurs n’améliore
pas ses performances.
Concernant la base Transfusion, la figure 5 montre que l’utilisation des données
similaires (VD = 100% et DD = 1.07%) ne permet pas d’améliorer les performances
de AdaBoost.HD qui s’est stoppé après la construction d’un ensemble divers de 24
classifieurs (Q = -0.38) ayant un taux d’erreurs de 23.79%. Concernant les données
non corrélées à 2-classes, on peut conclure que la méthode proposée doit générer un
grand nombre de classifieurs avant d’atteindre le sur-apprentissage.
Figure 4. Diversité et taux d’erreurs du BNC sur la base Tic Tac Toe
Figure 5. Diversité et taux d’erreurs du BNC sur la base Transfusion
4.2. Problèmes à 3 classes
Les figures 6, 7 et 8 présentent les performances du BNC et les valeurs de diversité
de Q Statistique pour des bases à 3 classes (Balance Scales, Contact lenses et Iris).
La figure 6.1 montre que les performances de BNC se stabilisent à partir d’un taux
d’erreurs de 25.44% avec 11 classifieurs (Q = -0.27). Cela est due principalement au
taux important des vecteurs d’attributs dupliqués (VD = 98.08%). Ceci prouve que
AdaBoost est très sensible à la similarité des données.
Les données de la base Contact Lenses (figure 7) sont très diverses (DD = 100%).
BNC aura besoin de plus que 25 classifieurs différents (Q = -0.45) pour atteindre la
stabilisation de ses performances (16.66%). Notons que cette base est de petite taille
ce qui ne permet pas d’avoir un comportement stable du BNC.
La figure 8 montre des résultats similaires à ceux présentés dans la figure 6. Avec
7 classifieurs très divers (Q = -0.57), AdaBoost.HD a obtenu un taux d’erreurs très
faible de 4.66%. Ceci est due à la corrélation des vecteurs (VD = 95%).
Figure 6. Diversité et taux d’erreurs du BNC sur la base Balance Scale
Figure 7. Diversité et taux d’erreurs du BNC sur la base Contact Lenses
Pour des données très corrélées et à 3 classes, BNC peut rapidement atteindre le
phénomène du sur-apprentissage avec peu de classifieurs.
Figure 8. Diversité et taux d’erreurs du BNC sur la base Iris
5. Conclusion
Dans cet article, nous avons proposé une méthode adaptative AdaBoost.HD qui se
base sur la diversité des classifieurs. Nous avons utilisé la mesure Q Statistique parmi
plusieurs qui existent dans la littérature. Le choix de cette mesure est lié à la valeur
d’indépendance (qui est nulle lorsque les classifieurs sont indépendants).
Notre contribution consiste à arrêter la génération de classifieurs dans le Boosting
quand la variation de Q Statistique devient stationnaire afin d’éviter le sur-apprentissage.
En utilisant 8 échantillons différents de données, nos expérimentations ont montré
l’existence possible d’une relation entre Q Statistique et la performance d’AdaBoost.M2.
En effet, cette mesure est très significative pour les données corrélées. Pour ce type
de données, il est possible de générer peu de classifieurs avant d’atteindre le surapprentissage.
Plus d’expérimentations sont envisageables sur des échantillons de données plus
volumineux et avec d’autres classifieurs faibles (J48 et SVM par exemple). Nous envisageons, également, d’étudier la diversité pour d’autres méthodes de génération d’ensembles, à savoir le Bagging et les Forêts Aléatoires.
6. Bibliographie
[AKS 06] A KSELA M., L AAKSONEN J., « Using diversity of errors for selecting members of
a committee classifier », Pattern Recognition, 2006, p. 608–623.
[ASU 07] A SUNCION A., N EWMAN D., « UCI Machine Learning Repository », 2007.
[BER 04] B ERRY M. J. A., L INOFF G. S., Data mining techniques for marketing, sales, and
customer relationship management, Wiley, 2004.
[BüH 07] B ÜHLMANN P., H OTHORN T., « Boosting algorithms : regularization, prediction
and model fitting », Statistical Science, 2007, p. 477-505.
[BRO 05] B ROWN G., W YATT J., H ARRIS R., YAO X., « Diversity Creation Methods : A
Survey and Categorisation », Information Fusion, 2005, p. 5–20.
[BRO 10] B ROWN G., K UNCHEVA L. I., « GOOD and BAD diversity in majority vote ensembles », Multiple Classifier Systems, 2010, p. 124–133.
[FRE 97] F REUND Y., S CHAPIRE R. E., « A Decision-Theoretic Generalization of On-Line
Learning and an Application to Boosting », Computer and System Sciences, 1997, p. 119–
139.
[GAC 09] G ACQUER D., D ELCROIX V., D ELMOTTE F., P IECHOWIAK S., « On the Effectiveness of Diversity When Training Multiple Classifier Systems », Actes d’European
Conference on Symbolic and Quantitative Approaches to Reasoning with Uncertainty, 2009,
p. 493–504.
[KO 08] KO A. H.-R., S ABOURIN R., DE O LIVEIRA L. E. S., DE S OUZA B RITTO J R . A.,
« The implication of data diversity for a classifier-free ensemble selection in random subspaces », International Conference on Pattern Recognition, 2008, p. 1-5.
[KOH 95] KOHAVI R., « A Study of Cross-Validation and Bootstrap for Accuracy Estimation
and Model Selection », Actes d’International Joint Conference on Artificial Intelligence,
1995, p. 1137–1143.
[KUN 02a] K UNCHEVA L., S KURICHINA M., D UIN R. P. W., « An experimental study on
diversity for bagging and boosting with linear classifiers », Information Fusion, 2002,
p. 245-258.
[KUN 02b] K UNCHEVA L. I., W HITAKER C. J., « Using Diversity with Three Variants of
Boosting : Aggressive, Conservative, and Inverse », Multiple Classifier Systems, 2002,
p. 81-90.
[LEF 01] L EFÉBURE R., V ENTURI G., Le Data Mining, Eyrolles, 2001.
[MED 10] M EDDOURI N., M ADDOURI M., « Adaptive learning of nominal concepts for supervised classification », Lecture Notes in Computer Science, 2010, p. 121-130.
[SEB 03] S EBBAN M., S UCHIER H.-M., « On Boosting Improvement : Error Reduction and
Convergence Speed-Up. », Actes d’European Conference on Machine Learning, 2003,
p. 349-360.
[SHI 02] S HIPP C. A., K UNCHEVA L. I., « An Investigation into How ADABOOST Affects Classifier Diversity », Information Processing and Management of Uncertainty in
Knowledge-based Systems, 2002, p. 203-208.
[ZHA 05] Z HANG T., Y U B., « Boosting with early stopping : convergence and consistency »,
The Annals of Statistics, 2005, p. 1538 - 1579.
Téléchargement