Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

2012PFE Elhassani Imane

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 56

COLE POLYTECHNIQUE DE L'UNIVERSIT DE TOURS

DPARTEMENT INFORMATIQUE
64, Avenue Jean Portalis
37200 TOURS, FRANCE
Tl. +33 (0)2 47 36 14 18
www.polytech.univ-tours.fr

Projet de Fin dtudes


SVR avec Boosting
pour la prvision long terme

Encadrant:

tudiante :
Melle Imane EL HASSANI

M. Aymen CHERIF

Anne Scolaire 2011-2012

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

Anne scolaire 2011 -2012

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

Table des matires


REMERCIEMENTS .................................................................................................................... 5
TABLE DES FIGURES ............................................................................................................... 6
LISTE DES TABLEAUX ............................................................................................................. 6
INTRODUCTION ....................................................................................................................... 7
CHAPITRE 1 : OBJECTIF ET DESCRIPTION DU PROJET .................................................... 8
1.1. Contexte: .................................................................................................................... 8
1.2. Objectifs du projet: .................................................................................................... 8
1.3. Description du projet................................................................................................. 9

CHAPITRE 2 : ASSISES THEORIQUES EN PREDICTION TEMPORELLE ......................... 10


2.1. Prdiction sur sries Temporelles ........................................................................... 10
2.1.1. Sries Temporelles ............................................................................................. 10
2.1.2. Problmatiques spcifiques aux sries temporelles .......................................... 10
2.2. Machines Vecteurs Support (SVM) ...................................................................... 11
2.2.1. Prsentation ....................................................................................................... 11
2.2.2. Fonctionnement des SVM .................................................................................. 11
2.2.3. Temps dexcutions............................................................................................ 12
2.2.4. SVR...................................................................................................................... 13
2.3. Boosting (SVM) ........................................................................................................ 13
2.3.1. Dfinition ............................................................................................................ 13
2.3.2. Fonctionnement ................................................................................................. 14
2.3.3. Etat de lart du boosting (Historique) ................................................................ 15
2.3.4. Adaboost (Adaptative Boosting) ........................................................................ 16
2.3.5. Adaboost.R : Version Drucker 97 ....................................................................... 18

CHAPITRE 3 : RAPPEL DES SPECIFICATIONS DU PROJET ............................................. 20


3.1. Environnement du projet : ...................................................................................... 20
3.2. Langages et technologies utiliss : .......................................................................... 20
3.3. Fonctionnalits du systme .................................................................................... 21
3.4. Caractristiques des utilisateurs ............................................................................. 21
3.5. Contraintes de dveloppement: ............................................................................. 22

CHAPITRE 4 : DESCRIPTION DES OUTILS UTILISES ....................................................... 23


4.1. LIBSVM ..................................................................................................................... 23
4.1.1. Introduction........................................................................................................ 23
4.1.2. Fonctionnalits de la LIBSVM ............................................................................. 24
4.1.3. Paramtres SVM pris en charge par la librairie :................................................ 25
4.1.4. Fichiers de donnes............................................................................................ 26
4.2. Edition dinterfaces : WindowBuilder (GWT) ......................................................... 28
4.3. Rendus Graphiques : JFreeChart ............................................................................. 29
Anne scolaire 2011 -2012

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

CHAPITRE 5 : PLANNING ..................................................................................................... 31


5.1. Description des Sprints ............................................................................................ 31
5.2. Diagramme de Gant du projet ................................................................................ 31

CHAPITRE 6 : APPLICATION DE PREDICTION TEMPORELLE ........................................ 34


6.1. Structure interne des donnes dans la LIBSVM : ................................................... 34
6.2. Architecture Technique : Sparation des couches logiques : MVC ....................... 36
6.3. Diagramme de classes: ............................................................................................ 37
6.4. Aperu de lapplication dveloppe: ...................................................................... 38
6.4.2. Chargement des fichiers..................................................................................... 39
6.4.3. Choix de la fentre temporelle .......................................................................... 39
6.4.4. Paramtres SVM ................................................................................................. 40
6.4.5. Paramtres Boosting .......................................................................................... 40
6.4.6. Outputs de lapplication : ................................................................................... 40
6.4.7. Affichage des graphiques : ................................................................................. 43

CHAPITRE 7 : EXPERIENCES ET RESULTATS .................................................................... 44


7.1. Prtraitement des donnes ..................................................................................... 44
7.2. Slection des paramtres ........................................................................................ 44
7.3. Expriences .............................................................................................................. 45
7.3.1. Prdiction sans Boosting : Accroissement de la MSE avec lhorizon ................. 45
7.3.2. volution de la MSE avec slection des paramtres.......................................... 46
7.3.3. Prdiction avec Boosting : volution de la MSE avec de h+1 h+40:................ 48
7.3.4. Comparaison de lapprentissage sur fichiers Sunspot test1 et test2................. 50

CONCLUSION ......................................................................................................................... 52
GLOSSAIRE ............................................................................................................................. 54
REFERENCES BIBLIOGRAPHIQUES .................................................................................... 55

Anne scolaire 2011 -2012

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

REMERCIEMENTS
Je tiens remercier M Aymen CHERIF pour son encadrement tout au long de ce PFE, pour temps
quil a pris sur sa thse afin de suivre lavancement de ce travail, pour son sens du partage et sa
gentillesse. Merci davoir t disponible toute les fois quil la fallu, ni nonchalant ni encombrant: Le
Juste parfait.

Anne scolaire 2011 -2012

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

TABLE DES FIGURES

Figure 1: Architecture gnrale du systme .............................................................. 9


Figure 2: Hyperplan sparateur optimal .................................................................. 12
Figure 3: Fonctionnement du bagging ..................................................................... 14
Figure 4: Fonctionnement du boosting.................................................................... 15
Figure 5: Algorithme Adaboost.R ............................................................................. 17
Figure 6: Version Drucker de lalgorithme Adaboost Pour la rgression. ............... 18
Figure 7: Use case global du systme ...................................................................... 21
Figure 8: Illustration du format des supports vecteurs ........................................... 27
Figure 9: Exemple de fichier de prdiction dans le cas dune rgression................ 28
Figure 10: Interface WindowBuilder ........................................................................ 29
Figure 11: Exemple de graphique JFreeChart .......................................................... 30
Figure 12: Diagramme de Gant du projet ................................................................ 33
Figure 13: Dcoupage de lapplication en 3 couches logiques ................................ 36
Figure 14: Diagramme de classes de l'application ................................................... 37
Figure 15: Interface de lapplication ........................................................................ 38
Figure 16: Chargement de fichiers ........................................................................... 39
Figure 17: Choix de la fentre temporelle ............................................................... 39
Figure 18: Choix des paramtres SVM ..................................................................... 40
Figure 19: Choix des paramtres Boosting .............................................................. 40
Figure 20: Contenu du dossier rsultats de prdiction............................................ 41
Figure 21: Contenu du Fichier modle ..................................................................... 41
Figure 22: Contenu du Fichier des prdictions ........................................................ 42
Figure 23: Contenu du Fichier de logs...................................................................... 42
Figure 24: Affichage graphique des rsultats .......................................................... 43
Figure 25 : Accroissement de la MSE avec lhorizon de prdiction ......................... 46
Figure 26 : Accroissement de la MSE avec slection des paramtres ..................... 47
Figure 27 : volution de la MSE avec Boosting ........................................................ 49
Figure 28 : Boosting sur exemples difficiles ............................................................. 51

LISTE DES TABLEAUX

Tableau 1 : Accroissement de la MSE avec lhorizon de prdiction ........................ 45


Tableau 2 : Paramtres dapprentissage optimaux ................................................. 46
Tableau 3 : Accroissement de la MSE avec slection des paramtres .................... 47
Tableau 4 : volution de la MSE avec Boosting ....................................................... 48
Tableau 5 : Boosting sur exemples difficiles ............................................................ 50

Anne scolaire 2011 -2012

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

INTRODUCTION

Le prsent document est la synthse de mon projet de fin d'tudes intitul : "SVR avec Boosting
pour la prvision long terme", il dcrit mon travail de huit mois sur la mise en uvre d'un outil
logiciel, permettant de combiner la mthode SVR et l'algorithme de Boosting afin d'amliorer les
rsultats des prdictions sur les sries de donnes temporelles, et ce sur des horizons de prdiction
tendus.

Le rapport prsente les objectifs du projet dvelopper, rappelle les spcifications techniques du
systme et expose des notions thoriques dans le domaine de la prdiction sur sries temporelles.
Une deuxime partie pratique prsente lapplication dveloppe et sachve par une description des
expriences et rsultats obtenus.

Ce projet de fin dtudes est encadr par M. Aymen CHERIF, doctorant Polytech Tours dont la
thse traite des sries temporelles.

Anne scolaire 2011 -2012

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

CHAPITRE 1 : OBJECTIF ET DESCRIPTION DU PROJET

1.1.

Contexte:

L'application raliser pour le prsent PFE s'inscrit dans le cadre de la prdiction long terme,
plus exactement celle relative au temps. La prdiction temporelle consiste prvoir les valeurs
futures dune srie temporelle en se basant sur des valeurs passes supposes connues. C'est un
domaine d'tude particulirement convoit depuis quelques annes, mais galement un des plus
ardus car contraint pas l'accroissement de l'incertitude avec le temps.

On arrive actuellement faire des prdictions justes et fiables sur les sries temporelles pour le
court moyen terme, toutefois les performances chutent considrablement ds que l'horizon de
prdiction dpasse un certain seuil. Le rsultat espr par les chercheurs actuels est donc de
diminuer le taux d'erreur sur un horizon de prdiction important.

1.2.

Objectifs du projet:

Divers algorithmes d'optimisation tels le Bagging, le Boosting . ont t combins de multiples


techniques et classifieurs (Rseaux de neurones, cartes topologiques, Support Vector Machines)
afin de faire face aux problmatiques d'accroissement du taux d'erreur dans la prvision temporelle,
la mthode du Boosting parat des plus prometteuses, et fait l'objet de multiples thses et travaux
rcents, on peut citer titre d'exemple l'tude ralise et soutenue en 2006 au sein de Polytech'
Tours par Mohammad Assaad, sous la direction de Hubert Cardot et Romuald Bon, intitule : "Un
nouvel algorithme de Boosting pour les rseaux de neurones rcurrents : Application au traitement
des donnes squentielles" . Et qui a dmontr l'effet du Boosting sur les donnes disposes en
rseaux de neurones.

L'application raliser n'est pas une suite proprement dite de ce travail, mais s'inscrit dans le
mme registre: Il s'agit de crer un outil de prdiction pour les sries de donnes temporelles. Avec
pour objectif la mise en vidence de l'effet du Boosting sur les donnes modlises non pas en
rseaux de neurones cette fois-ci, mais sur des Machines Vecteurs de Support (SVM), reconnues
meilleures en performances. Le dtail des outils utiliss et de limplmentation seront abords plus
amplement dans les chapitres suivants.

Anne scolaire 2011 -2012

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

1.3.

Description du projet

Pour mettre en uvre le cur mtier de l'application, nous utiliserons la version Java de la
librairie LIBSVM, c'est une librairie ddie aux Machines Vecteurs de Support, permettant de faire
des classifications et des rgressions.

Le processus de prdiction classique se droule principalement en deux tapes: une phase


d'apprentissage et une phase de test, Le prdicteur reoit en entre des donnes d'apprentissage
qu'il utilise pour gnrer un modle, il reoit par la suite un fichier de test, dont il se servira pour
prdire les nouvelles valeurs en se basant sur le modle pralablement gnr. Une fois le processus
termin, les donnes de test et les rsultats des prdictions sont compars pour traduire le taux
d'erreur trouv (cf. Figure 1).

Le fonctionnement de la LIBSVM traduit bien ces deux phases, il consiste dfinir des paramtres
d'entre, utiliser des fichiers d'apprentissage pour gnrer un fichier modle, puis exploiter ce
dernier pour faire des prdictions sur le fichier de test. A noter que les donnes traiter sont
contenues dans des fichiers plats, format standard interprt par la quasi-totalit des plateformes
logicielles.

File.Learn

Systme

Modle

File.predict

LibSVM.jar

Taux d'erreur

File.test

Diffrents ?

Figure 1: Architecture gnrale du systme

L'application sera dveloppe en langage Java, du Swing/SWT seront utiliss pour la gestion des
interfaces graphiques, et le plugin GWT pour faciliter l'dition des interfaces sous LIDE Eclipse. Les
fonctions de la librairie LibSVM sont compresses dans un fichier .jar, qui sera inclus dans le package
de l'application.
Anne scolaire 2011 -2012

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

CHAPITRE 2 : ASSISES THEORIQUES EN PREDICTION TEMPORELLE

2.1.

Prdiction sur sries Temporelles

2.1.1. Sries Temporelles


On parle dune srie temporelle pour dsigner un ensemble de valeurs numriques observes,
relatives un phnomne qui volue dans le temps. Depuis plusieurs annes les sries temporelles
ont t tudies et analyses dans le but dinterprter leur comportement dans le temps, que ce soit
pour comprendre une volution passs ou pour prvoir un comportement dans le futur. Elles sont
reprsentables mathmatiquement et donnent une ide de de la dynamique des variables
reprsentes, en utilisant le plus souvent des concepts probabilistes et statistiques.

Dfinition (Srie Temporelle) : La suite dobservations (yt,tT) dune variable y a diffrentes


dates t est appele srie temporelle. Habituellement, T est dnombrable, de sorte que t=1,T.
Une srie temporelle est donc toute suite dobservations correspondant la mme variable : il
peut sagir de donnes macroconomiques (le PIB dun pays, linflation, les exportations),
microconomiques (les ventes dune entreprise donne, son nombre demploys, le revenu dun
individu, le nombre denfants dune femme), financires (le CAC40, le prix dune option dachat ou
de vente, le cours dune action), mtorologiques (la pluviosit, le nombre de jours de soleil par an),
politiques (le nombre de votants, de voix reues par un candidat), dmographiques (la taille
moyenne des habitants, leur ge). En pratique, tout ce qui est chiffrable et varie en fonction du
temps. La dimension temporelle est ici importante car il sagit de lanalyse dune chronique historique:
des variations dune mme variable au cours du temps, afin de pouvoir comprendre la dynamique. La
priodicit de la srie nimporte en revanche pas : il peut sagir de mesures quotidiennes, mensuelles,
trimestrielles, annuelles voire mme sans priodicit.
Source : Emmanuel Cesar & Bruno Richard, Les Sries Temporelles ,
Universit de Versailles Saint-Quentin-en-Yvelines - Mars 2006.

2.1.2. Problmatiques spcifiques aux sries temporelles


Depuis les premires tudes sur les sries temporelles, diverses problmatiques ont merg ce
niveau, et font lobjet de plusieurs recherches ce jour. Parmi les difficults majeures dans le
traitement des sries temporelles figure la prdiction des valeurs futures dune suite, la prdiction
temporelle est actuellement utilise dans divers domaines, elle savre dune justesse satisfaisante
Anne scolaire 2011 -2012

10

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

sur des horizons moyens, mais elle est toutefois contrainte par laccroissement du taux derreur avec
llargissement de lhorizon de prdiction.

Il existe toute une gamme de problmes spcifiques aux sries chronologiques qui ne sont pas
trangers aux praticiens de statistiques descriptives et qui vont ncessiter la mise au point dun
certain nombre de techniques pour un traitement conomtrique (cest--dire fondements
probabilistes). Cest l la premire raison du dveloppement de lconomtrie des sries temporelles.
Ces problmes sont les suivants : la prvision, lidentification et le retrait de la tendance, la correction
des variations saisonnires, la dtection de rupture, la sparation du court terme et du long terme,
ltude des anticipations des agents
Source : Sbastien LECHEVALIER, Une introduction lconomtrie des sries temporelles ,
Universit Paris-I

2.2.

Machines Vecteurs Support (SVM)

2.2.1. Prsentation
SVM (Support Vector Machines) ou Machines vecteurs supports sont des classifieurs faisant
partie des techniques dapprentissage supervis. Introduits par Vapnik (1995) pour rsoudre des
problmes de classification, ils ont connu depuis un grand succs car utiliss massivement dans
divers domaines : reconnaissance de formes, OCR, bioinformatique Lusage sest galement
rpandu vers la rsolution des problmes de rgression, aussi bien grs que les classifications.

Cette technique fait appel un jeu de donnes dit d'apprentissage dont les instances
contiennent une valeur cible (target) galement appele tiquette de classe ainsi que plusieurs
attributs (attributes) reprsentant lensemble des variables observes, et ce pour produire un
modle permettant de prdire les valeurs cibles dun autre ensemble dit de test , en ne
fournissant ce modle-l que les attributs des donnes de test. En dautres termes, si on considre
un jeu de donnes divis en deux groupes : un groupe pour les exemples connus et un autre pour les
exemples non connus, le but des SVM est dapprendre une fonction qui traduit le comportement des
exemples connus pour prdire les cibles des exemples inconnus.

2.2.2. Fonctionnement des SVM


Les SVM sont galement appels classifieurs vaste marge car leur objectif est de trouver
lhyperplan sparateur optimal qui maximise la marge entre les classes dans un espace de grande

Anne scolaire 2011 -2012

11

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

dimension. La marge est la distance entre la frontire de sparation et les chantillons les plus
proches, ces derniers sont appels vecteurs supports. Une marge maximale permet dobtenir une
plus petite dimension de VC (Vapnik-Chervonenkis, Thorie statistique de l'apprentissage ,1990),
ce qui assure de bonnes performances en gnralisation.

Source : Notes de Clment PULL du cours magistral de Reconnaissance des formes,


dirig par Hubert CARDOT
Figure 2: Hyperplan sparateur optimal

En considrant un jeu de donnes dapprentissage avec des exemples (xi; yi); i = 1,l, o xi Rn
et y {-1,+1} l, les SVM (Boser et al., 1992; Cortes et Vapnik, 1995) requirent la rsolution du
problme doptimisation suivant :

2.2.3. Temps dexcutions


Les SVM sont considr plus faciles utiliser que les rseaux de neurones. Leur avantage principal
est leur performance remarquable en gnralisation avec des donnes de grandes dimensions. On
leur reproche cependant dtre lents en convergence et gourmands en mmoire ds quil sagit de
traiter des jeux de donnes volumineux. En fait, entrainer un jeu de donnes dune taille n, revient
rsoudre un problme de programmation quadratique (QP) de taille n2, qui prend un temps de
lordre O(n3). Cependant plusieurs recherches allant dans ce sens ont permis damliorer les temps
dexcution vers O(n2).
Anne scolaire 2011 -2012

12

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

2.2.4. SVR
Lorsque les SVM sont utiliss dans des problmes de rgression pour prdire des valeurs relles,
on parle des SVR (Support Vector Regression).

Les SVM peuvent galement tre mis en oeuvre en situation de rgression,cest--dire pour
lapproximation de fonctions quand Y est quantitative. Dans le cas non linaire, le principe consiste
rechercher une estimation de la fonction par sa dcomposition sur une base fonctionnelle. La forme
gnrale des fonctions calcules par les SVM se met sous la forme :

Le problme se pose toujours comme la minimisation dune fonction cot, mais plutt que dtre
base sur un critre derreur quadratique (moindres carrs), celle-ci sinspire des travaux de Huber sur
la recherche de modles robustes et utilise des carts absolus.
On note |.| la fonction qui est paire, continue, identiquement nulle sur lintervalle [0,] et qui
croit linairement sur [,+oo]. La fonction cot est alors dfinie par :

O est, comme en rgression rigide, un paramtre de rgularisation assurant le compromis


entre gnralisation et ajustement. De mme que prcdemment, on peut crire les solutions du
problme doptimisation. Pour plus de dtails, se reporter Schlkopf et Smola (2002). Les points de
la base dapprentissage associs un coefficient non nul sont l encore nomms vecteurs support.
Dans cette situation, les noyaux k utiliss sont ceux naturellement associs la dfinition de bases de
fonctions. Noyaux de splines ou encore noyau de Driclet associ un dveloppement en srie de
Fourier sont des grands classiques. Ils expriment les produits scalaires des fonctions de la base.
Source : http://wikistat.fr/

2.3.

Boosting (SVM)

2.3.1. Dfinition
Le Boosting est une technique servant amliorer les capacits de gnralisation dun systme de
classification ou de prdiction en optimisant les performances de son algorithme dapprentissage. Il
fait partie des mthodes de combinaison de modles, dont lobjectif est de combiner plusieurs
hypothses pour obtenir des estimations meilleures que celles dun modle unique. Ces mthodes
ont la capacit damliorer les performances dun algorithme dapprentissage faible (weak learner),
Anne scolaire 2011 -2012

13

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

pourvu quil fasse mieux que le hasard (se trompe moins dune fois sur deux en moyenne). Lide est
quen divisant lensemble dapprentissage en plusieurs sous-ensembles moins complexes, il est plus
facile dapprendre les donnes, et par consquent dobtenir une meilleure gnralisation.

Cest (Schapire 1989) qui a introduit le premier algorithme de boosting temps dexcution
polynomial. (Freund 1990) a pu dvelopper une anne aprs, un algorithme plus efficace mais qui
avait cependant quelques inconvnients pratiques. La vritable mergence du boosting a dbut
avec la cration de AdaBoost -pour Adaptative Boosting- (Freund & Schapire, 1995), dont le dtail est
donn plus loin par un pseudo-code de lalgorithme.

2.3.2. Fonctionnement
Diverses mthode sinscrivent dans le mme registre que le boosting, tels le bagging,le cascading,
le stacking, qui agissent toutes par combinaison de modles, mais qui diffrent dans leur manire de
gnrer ces modles-l. Le bagging par exemple divise lensemble dapprentissage en plusieurs sousensembles et applique par la suite son algorithme dapprentissage sur chacun dentre eux.

Sousensemble 1

Hypothse 1

Sousensemble 2

Hypothse 2

.
.
.
.
.
.
.

Ensemble de
donnes
dapprentissage

Sousensemble N

Algo

.
.
.
.
.
.
.

Hypothse
finale

Hypothse N

Figure 3: Fonctionnement du bagging

Le boosting quant lui procde de faon squentielle, chaque itration la slection dun
lment du nouveau sous-ensemble dpend des rsultats obtenus lors de lapprentissage prcdent
sur cet lment-l. Une faon de rduire rapidement lerreur dapprentissage en se concentrant sur
les exemples les plus difficiles.

Anne scolaire 2011 -2012

14

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

Sousensemble 1

Sousensemble 2
Ensemble de
donnes
dapprentissage

Hypothse 1

Hypothse 2

Algo

.
.
.
.

.
.
.
.
.
.
.

Hypothse
finale

Hypothse N
Sousensemble N

Figure 4: Fonctionnement du boosting


Le boosting a connu un grand succs sur divers problmes doptimisation, en montrant des
performances trs satisfaisante par rapport dautres algorithmes, entre autre celles du bagging
(dans le cas de bases de donnes non bruites), ce qui explique le fait que son tude soit si prise par
les chercheurs actuellement.

2.3.3. Etat de lart du boosting (Historique)

Les premiers intrts en boosting dans le domaine de lapprentissage automatique datent du


dbut des annes 80, avec la cration du modle mathmatique PAC pour Probably
Approximately Correct learning (Leslie Valiant, 1984). Ce modle a t le premier tudier la
possibilit de transformer un algorithme dapprentissage faible (lgrement meilleur que le hasard)
en un algorithme fort performant. Ci-aprs un historique des principales recherches et expriences
faites dans ce domaine :

- [Valiant84] : Cration du modle thorique PAC pour ltude de lapprentissage automatique


-

[Kearns & Valiant88] : Introduction de la problmatique de recherche dun algorithme de


boosting

Anne scolaire 2011 -2012

15

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

- [Schapire89], [Freund90] : Premier algorithme de boosting avec un temps dexcution


polynomial
- [Drucker, Schapire & Simard 92] : Premire exprience manipulant le boosting
- [Freund & Schapire 95] : Introduction de lalgorithme AdaBoost : une grande performance
pratique par rapport aux algorithms de boosting antrieurs
- Expriences manipulant lalgorithme AdaBoost:
[Drucker & Cortes 95]
[Freund & Schapire 96]
[Quinlan 96] [Breiman 96]
[Jackson & Cravon 96]
[Maclin & Opitz 97]
[Bauer & Kohavi 97]
[Schapire & Singer 98]
[Schwenk & Bengio 98]
[ Dietterich98]
- Enchainement du dveloppement de nouvelles thories et algorithmes:
[Schapire,Freund,Bartlett & Lee 97]
[Breiman 97]
[Mason, Bartlett & Baxter 98]
[Grive and Schuurmans98]
[Friedman, Hastie & Tibshirani 98]
[Schapire & Singer 98]
Source : Cours A. Corujols Combiner des apprenants

2.3.4. Adaboost (Adaptative Boosting)


Comme cit prcdemment, cest la cration de lalgorithme Adaboost (Freund & Schapire, 1995)
qui a rvolutionn le domaine du boosting, Adaboost a pu rsoudre plusieurs problmes
doptimisation qui posaient des difficults aux algorithmes de boosting le prcdant. Il reprend le
principe gnral du boosting en construisant une combinaison linaire dhypothses, conues en
excutant itrativement un algorithme dapprentissage faible (weak leaner), sur des distributions de
probabilit calcule en fonction des rsultats des itrations prcdentes. Ceci afin de permettre
lapprenant de focaliser son attention sur les exemples difficiles apprendre.

Depuis sa cration, plusieurs versions dAdaboost ont vu le jour, entre autre des versions
spcifiques la rgression. Adaboost.R (Freund & Schapire, 1995) est un algorithme qui traite le

Anne scolaire 2011 -2012

16

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

problme de la rgression, en le ramenant un problme de classification deux classes sur lequel


est appliqu lalgorithme Adaboost standard. Ci-dessous un pseudo code de Adaboost.R :

Source : Mohammad Assaad (2006), Thse : Un nouvel algorithme de Boosting pour les
rseaux de neurones rcurrents , Polytech Tours

Figure 5: Algorithme Adaboost.R

Anne scolaire 2011 -2012

17

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

2.3.5. Adaboost.R : Version Drucker 97


(Drucker 1997) a propos une amlioration dAdaboost.R en introduisant trois fonctions de cout
spcifiques aux problmes de rgression. Cest la version de Drucker qui a t utilis dans ce projet.

Source : Mohammad Assaad (2006), Thse : Un nouvel algorithme de Boosting pour les
rseaux de neurones rcurrents , Polytech Tours
Figure 6: Version Drucker de lalgorithme Adaboost Pour la rgression.
Anne scolaire 2011 -2012

18

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

Dans ltape 4 de cet algorithme, le choix de la fonction de cot parmi les 3 proposes est laiss
lutilisateur. Les deux fonctions quadratique et exponentielle croissent de faon plus rapide que la
fonction linaire en fonction de x, donc les fortes erreurs de prvision seront davantage pris en
compte.
Pour le calcul de lestimation finale par mdiane pondre, chaque rgresseur hn a une estimation

y(n)q sur le q me exemple et une mesure de confiance associe n dans le rgresseur. Pour un exemple
q, les estimations sont renumrotes de manire avoir

(1)
q

< y

(2)
q

(N)
q

<< y

en gardant

(n)
lassociation entre n et y q. On somme ensuite les logn jusquau plus petit n pour obtenir la

mdiane pondre :

Source : Mohammad Assaad (2006), Thse : Un nouvel algorithme de Boosting pour les
rseaux de neurones rcurrents , Polytech Tours
Pour la gnration des nouveaux sous-ensembles (tape2 de lalgorithme de Drucker), cest la
technique de la roulette qui a t utilis. Le principe de cet algorithme de slection est simple :
considrons un tableau de pourcentages (dans notre cas ce sont des probabilits), par exemple un
tableau nomm pourcentage[1..n] , dont la somme des lments est gale N, on gnre ensuite un
nombre alatoire entre 1 et N, appelons-le random, le traitement effectuer par la suite est comme
suit : (pseudo-code)
int

cumul

for i = 1,n do
cumul = cumul + pourcentage[i]
if random <= cumul then
return i
end
end

Anne scolaire 2011 -2012

19

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

CHAPITRE 3 : RAPPEL DES SPECIFICATIONS DU PROJET

Ce chapitre rappelle brivement les fonctionnalits implmenter, lenvironnement du projet et


les spcifications techniques du systme crer.

3.1.

Environnement du projet :

Le projet sera entirement cod en langage Java, par consquent le minimum logiciel requis pour
pouvoir utiliser l'application est une machine virtuelle installe sur le poste o se droulera
l'excution. Les fonctions de la LibSVM sont compresses dans un fichier .jar, qui sera inclus dans le
package de l'application.

Lors du processus de prdiction, les phases d'apprentissage peuvent prendre des temps de calcul
importants lorsque le volume de donnes traites est grand, par consquent plus la machine utilise
pour l'excution de l'application est performante (mmoire/CPU) plus les temps d'excution seront
minimaux et vice versa. Les performances matrielles se verront rellement solliciter lors de
lexcution du processus de prdiction sur des bases de donnes relles, gnralement trs
volumineuses.

3.2.

Langages et technologies utiliss :

Comme cit prcdemment, lapplication sera dveloppe en langage Java, le code sera dit
avec lIDE Eclipse. Nous utiliserons du Swing/SWT pour gnrer les interfaces graphiques, en saidant
de WindowBuilder plugin de Google Web Tools (GWT) permettant de faciliter l'dition des interfaces.
Pour standardiser le dveloppement, sparer les couches logiques et mieux structurer lapplication,
on sappuiera sur la modlisation MVC, chose qui savre peu vidente vu le contexte de
lapplication, mais qui permettra de concevoir une architecture lisible, extensible, et surtout facile
maintenir.

La version Java de la LibSVM est architecture sous forme de classes dpendantes les unes des
autres. Ces classes dcrivent la structure des objets qui contiendront chaque instanciation les
donnes des fichiers texte. Les classes contiennent galement un ensemble de mthodes qui
implmentent les algorithmes SVM de classification et de rgressions, ce sont ces mthodes-l qui
seront appeles par les fonctions mtiers de l'application afin de mettre en uvre le processus de
prdiction.

Anne scolaire 2011 -2012

20

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

3.3.

Fonctionnalits du systme

Le systme doit permettre l'utilisateur d'effectuer un certain nombre de tches, qui ne sont
d'autre que les tapes du processus de prdiction antrieurement dcrits, rappeler : dfinir des
paramtres d'entre, charger des donnes d'apprentissage pour gnrer un modle, puis utiliser ce
modle pour faire des prdictions. Les fonctionnalits utilisateurs sont rassembles dans le
diagramme use case ci-dessous.

Figure 7: Use case global du systme

3.4.

Caractristiques des utilisateurs

Lutilisateur principal de l'application, pour le moment, est l'encadrant du projet : M. Aymen


Cherif, sa thse traite des sries temporelles, c'est donc un praticien du domaine capable de
manipuler l'application et d'interprter les rsultats des prdictions.

Aucun droit d'accs n'a t exig pour l'utilisation de l'application, l'intrt tant plus centr sur le
dveloppement de l'outil proprement dit et l'obtention de rsultats probants.

Anne scolaire 2011 -2012

21

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

3.5.

Contraintes de dveloppement:

La contrainte principale au niveau de ce projet est l'implmentation de l'algorithme de Boosting,


d'une part cet algorithme ncessite un temps important son tude et sa comprhension avant de
pour pouvoir le mettre en place, et d'une autre il en existe plusieurs versions dans la littrature, il
sagira de choisir la version la mieux adapte au besoin de l'application.

Deuxime contrainte est que lon ne dispose daucune rfrence pour valider les rsultats
obtenus, chose qui rend difficile de conclure catgoriquement sur les prdictions ralises, il faudra
par consquent tester le code plusieurs fois, et de faon rigoureuse afin dtre srs quaucune erreur
ne sest glisse dans lalgorithme implment, par manque dincomprhension ou suite une faute
dinattention. Un codage modulaire simpose afin dviter laccumulation des erreurs et de pouvoir
dtecter les problmes ventuels.

Anne scolaire 2011 -2012

22

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

CHAPITRE 4 : DESCRIPTION DES OUTILS UTILISES

Ce chapitre dcrit les principaux outils utiliss dans la mise en uvre de lapplication de
prdiction temporelle, nous verrons une introduction lusage de la librairie LIBSVM et de ses
principales fonctionnalits, puis une prsentation du plugin WindowBuilder et de la librairie
graphique JFreeChart . La description des outils est tire en majeure partie de la documentation
officielle de ces derniers.

4.1.

LIBSVM

4.1.1. Introduction
La LIBSVM est une librairie ddie aux Machines Support de Vecteurs (Support Vector
Machines). labore par Chih-Chung Chang et Chih-Jen Lin, deux chercheurs du dpartement
informatique de luniversit de Taipei Taiwan National Taiwan University . La librairie englobe un
ensemble de fonctions implmentant des algorithmes de fouille de donnes, particulirement
utilise pour mettre en uvre des classifications et des rgressions. Elle est disponible en langage
C++ et en JAVA, et compatible avec diverses plateformes logicielles (Python, R, MATLAB, Perl, Ruby,
Weka, Common LISP, CLISP, Haskell, LabVIEW, interfaces PHP, C# .NET, extensions CUDA).

La LIBSVM est vastement exploite dans le domaine de lapprentissage automatique (learning


machines), principalement en supervis. Elle a gagn en popularit depuis le dbut des annes 2000
et jusqu maintenant vu quelle traite divers problmes doptimisation (minimisation) en intgrant
des solveurs pour la classification de type C-support vector (C-SVC) et -support vector (-SVC), pour
lestimation de la distribution (one-class SVM), pour la rgression de type -support vector (-SVR), et
-support vector (-SVR), ainsi que pour la classification multi-classes. Les temps de traitement sont
particulirement satisfaisant tout autant que les rsultats obtenus, raison pour laquelle la librairie est
considre comme rfrence en la matire.

Un site web ddi la LIBSVM a t dress par les auteurs pour fournir la documentation et les
guides dutilisation de la librairie, les excutables et les codes sources en plusieurs langages (un point
fort de loutil), des jeux de donnes pour les tests, ainsi que les dernires mises jours :
http://www.csie.ntu.edu.tw/~cjlin/libsvm . De mme une foire aux questions est prsente sur le
mme site et est significativement constructive.Il est possible de contacter les auteurs pour toute
remarque, report de bug ou suggestion damlioration de la librairie.

Anne scolaire 2011 -2012

23

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

4.1.2. Fonctionnalits de la LIBSVM


La LIBSVM peut tre exploite en lintgrant un code applicatif donn, ou directement en faisant
appel aux fichiers excutables. Que lutilisateur tourne sous un environnement Windows ou Unix, il
peut facilement rcuprer les makefile ou les DLL disponibles en ligne, puis de les compiler pour
gnrer leurs .exe respectifs. Aprs compilation, lutilisateur peut faire appel aux fonctionnalits de
la librairie en ligne de commande, ci-dessous un descriptif des commandes les plus basiques :

- Normalisation des donnes : svm-scale


La normalisation des donnes est prconise dans la plupart des traitements danalyse, la LIBSVM
appuie cette pratique et propose une fonctionnalit pour la normalisation : svm-scale, elle
recommande une normalisation linaire utilisant les intervalles [-1; +1] ou [0; 1], en utilisant biensur
la mme intervalle pour le jeu de donnes dapprentissage et de test. Pour faire appel cette
commande il faut taper en ligne de commande :
svm-scale -y lower upper
O lower et upper constituent les bornes de lintervalle utiliser pour la normalisation,
gnralement [0,1] ou [-1,1].

- Apprentissage : svm-train
La commande svm-train permet de lancer le processus dapprentissage sur les donnes, elle
prend en entre un format de donnes spcifique, dcrit plus loin, et gnre un fichier de modle. La
commande pour utiliser cette fonctionnalit est :
svmtrain [options] training_set_file [model_file]
O training_set_file constitue le fichier dapprentissage et model_file le nom du modle gnrer.

- Prdiction : svm-predict
Gnre les classes prdites ou les valeurs prdites (en cas de rgression), en se basant sur un
modle entrain, la commande utiliser est la suivante :
svmpredict test_file model_file output_file
O test_file est fichier de test, ou les donnes que lon souhaite prdire, noter quil doit galement
tre sous le format LIBSVM et model_file le nom du modle gnrer.
Aprs prdiction, la fonction svm-predict compare les rsultats de la prdiction avec les labels du
fichier de test, pour en dduire la justesse de la prdiction et par la mme occasion le taux derreur
commis.
Anne scolaire 2011 -2012

24

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

4.1.3. Paramtres SVM pris en charge par la librairie :


Afin dentamer le processus dapprentissage avec la LIBSVM, certains paramtres sont
renseigner selon quon souhaite faire une classification, une rgression ou autre, le choix des bons
paramtres est dterminant pour obtenir des rsultats satisfaisants. Ci-dessous la liste de tous les
paramtres LIBSVM possibles. noter que dans le cas o ces paramtres ne sont pas renseigns, la
librairie utilise les valeurs par dfaut, prcises ci-aprs galement:

-s svm_type : Cest le type de lalgorithme SVM utiliser, peut tre lune des fonctions: C_SVC,
NU_SVC, ONE_CLASS, EPSILON_SVR, NU_SVR, et peut prendre respectivement les valeurs suivantes :
0: Pour une classification de type C-SVM
1: Pour une classification de type nu-SVM
2: Pour une classification de type one-class-SVM
3: Rgression de type epsilon-SVM
4: Rgression de type nu-SVM
Par dfaut le type SVM utilis est C_SVC.

-t kernel_type : Cest le type de la fonction noyau utiliser, peut tre dfini : LINEAR, POLY,
RBF ou SIGMOID, et par consquent prendre les valeurs :
0: Pour utiliser une fonction linaire de formule =u'*v
1: Pour une fonction polynomiale de formule = (gamma*u'*v + coef0)^degr
2: Pour une fonction Radiale de formule = exp(-gamma*|u-v|^2)
3: Pour une fonction sigmode de formule = tanh(gamma*u'*v + coef0)
4: Pour crer un kernel dans le fichier de test (cf. documentation LIBSVM pour le dtail).
Tels que : u reprsente la transpos du vecteur contenant les valeurs des attributs de lensemble
dapprentissage, et v le vecteur des labels (tiquettes). Le gamma, degr et coef0 sont des
paramtres (rentrs pas lutilisateur). Par dfaut le type de la fonction noyau utilise est RBF, la
documentation LIBSVM recommande lutilisation de la fonction RBF pour plusieurs raisons, entre
autre parce que RBF gre le cas o la relation entre les labels et les attributs est non linaire.

Paramtres des fonctions noyau :


-d degree : Paramtre degr de la fonction noyau , par dfaut 3
-g gamma : Paramtre gamma de la fonction noyau, par dfaut 1
-r coef0 : Paramtre coef0 de la fonction noyau, par dfaut 0.

Anne scolaire 2011 -2012

25

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

Paramtres dpendants du type SVM choisi :


-c cost : Cest le paramtre C (cot), qui reprsente la pnalit de lerreur, renseigner lors de
lutilisation du type SVM C-SVC, epsilon-SVR et nu-SVR, par dfaut le cot est gal 1
-wi weight : pour changer le paramtre C weight*C, sil nest pas renseign weight est gale 1
sa valeur par dfaut, et par consquent neutre.
-n nu : Paramtre nu du type nu-SVC, One-class-SVM et nu-SVR, par dfaut 0.5
-p epsilon : Paramtre epsilon de la fonction de perte (Loss Function) pour le type epsilon-SVR,
par dfaut gal 0.1

Paramtres SVM gnraux :


-m cachesize : Pour paramtrer la taille mmoire (Mbits) alloue au noyau, par dfaut 100
-e epsilon : Cest le critre darrt de lapprenant, par dfaut 0.001. Il est recommand dutiliser
une valeur de 0.00001 pour le nu-SVC, et 0.001 pour les autres types.
-h shrinking : Pour activer/dsactiver lheuristique de shrinking, par dfaut mis 1
-b probability-estimates : Pour activer/dsactiver lapprentissage avec probabilit, par dfaut 0
-v n : paramtre spcifique au mode validation-croise (cross-validation), le n est le nombre de
sous-divisions de lensemble dapprentissage (n-fold), par dfaut dsactiv.
-q: Mode silencieux, pour omettre laffichage des messages, par dfaut mis 0

noter que la librairie propose un utilitaire pour vrifier la validit des paramtres avant de faire
appel la fonction dapprentissage, vie la commande svm_check_parameter().

4.1.4. Fichiers de donnes


- Entres : Fichier au format LIBSVM
Les fonctions de la LIBSVM reoivent en paramtre des fichiers textes, qui doivent suivre un
format bien particulier, il sagit en fait dun tableau o les donnes doivent commencer par le libell
de la classe (habituellement 1 ou -1), suivi dune srie de donnes sous la forme de paires (index :
valeur). Dans le cadre dune rgression, comme cest le cas pour ce projet, le principe est le mme,
sauf que les donnes du tableau commencent par une valeur relle qui constitue la valeur prdire
appele cible (target), suivie dun ensemble de donnes toujours sous la forme (index : valeur) qui
constituent les antrieurs de la cible.
En ouvrant un fichier dapprentissage ou un fichier de test on retrouve lensemble du jeu de
donnes sous la forme:
Anne scolaire 2011 -2012

26

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

[label] [index1]:[value1] [index2]:[value2] ...


[label] [index1]:[value1] [index2]:[value2]
[label] [index1]:[value1] [index2]:[value2] ...
Label : Cest le libell ou la classe de lenregistrement. Cest un entier lors dune classification, et un
rel lors dune rgression.
Index : Indexes dans lordre croissant, ils sont gnralement contigus.
Value : Ce sont les valeurs apprendre, gnralement des nombres rels.

Chaque ligne du fichier reprsente un enregistrement (ou un individu) appartenant un une classe
du jeu de donnes, comme sur lexemple ci-dessous :
+1 1:0.708 2:1 3:1 4:-0.320 5:-0.105 6:-1

- Sorties :
-Fichier modle :
Le fichier du modle contient les paramtres qui ont t utiliss lors de la phase dapprentissage,
suivis dun tableau dont les lignes reprsentent les supports vecteurs. Les supports vecteurs sont
lists dans lordre des labels, et regroups par classes. Sachant que pour un jeu de donnes de k
classes, on aura k-1 coefficients pour les supports vecteurs de chacune des classes.

Si lon a par exemple un jeu de donnes de 4 classes, les supports vecteurs seront regroups dans
le modle comme dans la reprsentation ci-aprs :
+-+-+-+--------------------+
|1|1|1|
|
|v|v|v| SVs from class 1 |
|2|3|4|
|
+-+-+-+--------------------+
|1|2|2|
|
|v|v|v| SVs from class 2 |
|2|3|4|
|
+-+-+-+--------------------+
|1|2|3|
|
|v|v|v| SVs from class 3 |
|3|3|4|
|
+-+-+-+--------------------+
|1|2|3|
|
|v|v|v| SVs from class 4 |
|4|4|4|
|
+-+-+-+--------------------+

Figure 8: Illustration du format des supports vecteurs

Anne scolaire 2011 -2012

27

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

-Fichier de prdiction
Le format du fichier de prdiction rsultant aprs lappel de la fonction svm-predict est simple,
chaque ligne de ce fichier contient le label relatif la classe prdite pour la ligne quivalente du
fichier de test. Dans le cas dune rgression, le fichier contient des valeurs relles illustrant les
prdictions trouves pour les antrieurs contenus dans le fichier de test. La figure ci-dessous
reprsente un fichier de prdiction (rgression) ouvert sous Bloc note.

Figure 9: Exemple de fichier de prdiction dans le cas dune rgression

4.2.

Edition dinterfaces : WindowBuilder (GWT)

WindowBuilder (http://www.eclipse.org/windowbuilder), est un plugin pour ldition des


interfaces graphiques sous JAVA. Conu par Google et faisant initialement partie de la suite Google
Web Tools (GWT), le plugin a t offert la fondation Eclipse sous licence open-source. Il est
compatible avec Eclipse ainsi que tous les IDEs qui sont bass dessus (RAD, RSA, MyEclipse,
JBuilder).

WindowBuilder est considr lun des meilleurs outils pour la construction WYSIWYG d'IHMs
multiplateformes, et savre extrmement stable. Il est constitu par Les deux Java Designer Swing et
SWT et supporte diverses API : JFace, RCP, XWT et GWT. Son utilisation est simple, il offre un espace
de travail assez intuitif, rappelant celui de Visual Basic, moins convivial que lditeur graphique de

Anne scolaire 2011 -2012

28

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

Netbeans, et nettement plus lent, mais le rendu est tout aussi satisfaisant. Avec de simples Drag-anddrop, loutil permet la cration de formulaires basiques tout comme des fentres complexes,
gnrant derrire le code java des composants utiliss.

Figure 10: Interface WindowBuilder


Bien videmment lusage de ce type dditeurs facilite considrablement le dveloppement sauf
quil ne suit aucune logique dorganisation pour la gnration du code, ce qui impose la
restructuration manuelle du code par la suite, pour des raisons de fiabilit, de maintenabilit ou tout
simplement pour les aficionados du code propre.

4.3.

Rendus Graphiques : JFreeChart

JFreeChart est une librairie Open-source gratuite (http://www.jfree.org/jfreechart/), qui permet


d'afficher des donnes sous la forme de graphiques. Compatible pour une utilisation dans des
applications de type standalones (comme cest le cas dans ce projet) ou des applications orientes
web. La librairie propose plusieurs formats pour la reprsentation des donnes (camembert, barres,
courbes, lignes ), lun des points forts de celle-ci.

Elle offre galement diverses options de configuration pour personnaliser sa guise le rendu des
graphiques, et permet d'exporter ces graphiques sous divers formats, incluant le format JAVA des

Anne scolaire 2011 -2012

29

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

composants Swing, les fichiers images standards (PNG, JPEG), ainsi que les fichiers graphiques
vectoriels (PDF, EPS, SVG)
Pour pouvoir utiliser la librairie il suffit de tlcharger lune des versions disponibles sur le site
web de lditeur, et dajouter dans son classpath le chemin vers les le dossier lib de la librairie
dcompresse.

Figure 11: Exemple de graphique JFreeChart

Si la librairie est gratuite et open-source fournie sous licence GNU Lesser General Public Licence
(LGPL), la documentation quant elle est payante, elle est cependant bien faite et complte. noter
quune distribution de type LGPL permet lutilisation de la librairie dans des applications
propritaires.

Anne scolaire 2011 -2012

30

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

CHAPITRE 5 : PLANNING

Pour la planification du projet un dcoupage "SCRUM-like" a t utilis, chaque itration (Sprint)


contient un ensemble de tches, lies ou indpendantes les unes des autre. la fin de chaque
itration on aboutit un produit finalis et prt tre exploit par l'utilisateur.

5.1.

Description des Sprints


- Sprint 0 : Initialisation

Ce Sprint est une phase de dmarrage pour le projet, c'est une tape de dcouverte et de prise de
conscience du sujet, c'est aussi un premier contact avec la documentation de la librairie LIBSVM.

- Sprint 1 : Analyse et Spcifications


Il s'agit ce niveau d'tudier le projet de faon dgager le besoin des utilisateurs, ce Sprint
comprend l'analyse de la problmatique, la rdaction des fonctionnalits de l'application, puis la
prise en main du code source de la librairie LIBSVM.

- Sprint 2 : Application Java : Implmentation SVR


C'est ce niveau que commence le dveloppement en dur de l'application, il s'agit dans un
premier temps de mettre en place la structure du systme, puis de dvelopper la fonctionnalit
chargement de fichiers, avant d'entamer l'implmentation des fonctions SVR.

- Sprint 3 : Application Java : Implmentation Boosting


La deuxime phase du dveloppement est l'implmentation de l'algorithme de Boosting, une
tude pralable de lalgorithme est faite avant dentamer le codage.

- Sprint 4 : Application Java : Visualisations graphiques


Il s'agit ici de mettre en place la fonctionnalit d'affichage des rsultats sous forme de graphes.

- Sprint 5 : Modules complmentaires


Ce dernier Sprint se focalise sur le dveloppement des modules complmentaire de l'application,
tel l'ajout d'une fonctionnalit pour convertir les fichiers plats sous le format LibSVM standard.

5.2.

Diagramme de Gant du projet

Anne scolaire 2011 -2012

31

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

Figure 12: Diagramme de Gant du projet

Anne scolaire 2011 -2012

33

CHAPITRE 6 : APPLICATION DE PREDICTION TEMPORELLE

6.1.

Structure interne des donnes dans la LIBSVM :

Comme il a t mentionn prcdemment, Les fonctionnalits de la LIBSVM peuvent tre utilises


en ligne de commande via ses excutables, ou en les implmentant dans le code dune application.
Dans le cadre de ce projet cest plutt la deuxime option qui sera retenue, les sources de la librairie
seront incluses dans le package de lapplication JAVA sous forme de fichier .jar. Ces sources JAVA (ou
C++) sont les mmes qui ont t utilises pour crer les excutables de la librairie.

Lensemble de ces classes constitue la structure des objets qui vont englober chaque
instanciation les donnes de nos fichiers texte. Ces classes contiennent aussi les mthodes qui seront
appeles par les fonctions mtiers de l'application afin de mettre en uvre le processus de
prdiction. Ci-dessous une description de la structure de base des classes les plus importantes :

- SVM-parameter

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

- SVM-node

- SVM-problem

- SVM-model

Anne scolaire 2011 -2012

35

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

6.2.

Architecture Technique : Sparation des couches logiques : MVC

Lapplication raliser est simple dun point de vue complexit des composants, il est toutefois
important de la coder de faon modulaire, et de raliser une sparation entre les couches logiques
qui la composent, et ce pour une meilleure lisibilit du code et une meilleure standardisation de
larchitecture logicielle. La sparation des entits logiques permet de concevoir des applications
standards, extensibles et surtout faciles maintenir et faire voluer. On peut par exemple aisment
changer la manire d'accder aux donnes sans se soucier de la partie prsentation, ou de la manire
avec laquelle ces donnes seront manipules. Lapplication sera donc dcoupe en 3 couches.

Figure 13: Dcoupage de lapplication en 3 couches logiques

- Couche Mtier :
La couche mtier regroupe toutes les classes qui dcrivent la logique du processus de prdiction
(chargement des fichiers, apprentissage des donnes, prdiction des nouvelles valeurs, boosting)

- Couche Donnes :
Reprsente les donnes de lapplication, sachant quelles sont stockes dans des fichiers plats.

- Couche Prsentation :
Rassemble le Contrleur de lapplication ainsi que lIHM, cest linterface vue par lutilisateur.
Anne scolaire 2011 -2012

36

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

6.3.

Diagramme de classes:

Figure 14: Diagramme de classes de l'application


Anne scolaire 2011 -2012

37

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

6.4.

Aperu de lapplication dveloppe:

Lergonomie de linterface graphique na pas t particulirement tudie, l'intrt tant plus


centr sur le dveloppement de l'outil proprement dit et l'obtention de rsultats probants.
Cest une interface simple avec une organisation des plus basiques, elle contient des commandes
standards communes : boutons, boutons radio, listes droulantes, zones de texte amliorer par la
suite.

6.4.1. Prsentation de linterface:


Au dmarrage de l'application, La fentre de loutil saffiche, elle est compose de 5 parties :
chargement des donnes (1), choix de la fentre temporelle (2), paramtres des SVM (3), et
paramtres de Boosting (4), en plus dune zone pour laffichage des logs (5).

(1)

(2)
( 3)

(4)
(5)
Figure 15: Interface de lapplication
Anne scolaire 2011 -2012

38

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

6.4.2. Chargement des fichiers


Lutilisateur commence par renseigner le chemin des fichiers de donnes, rappeler que deux
types de fichiers sont ncessaires lexcution du processus : un fichier pour les donnes
dapprentissage et un fichier pour les donnes de test. Les fichiers de validation nont pas t utiliss
pour cette application.

Figure 16: Chargement de fichiers

6.4.3. Choix de la fentre temporelle


Lutilisateur renseigne par la suite la taille de la fentre temporelle quil souhaite utiliser, ainsi que
lhorizon sur lequel les prdictions seront faites. Ces deux paramtres seront envoys la fonction de
chargement de fichiers pour mettre en forme les donnes.

Figure 17: Choix de la fentre temporelle

Anne scolaire 2011 -2012

39

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

6.4.4. Paramtres SVM


Lutilisateur renseigne ce niveau les paramtres des deux phases dapprentissage et de
prdiction : Type du SVR, Type du noyau, cot, Epsilon, Nu, Gamma, Degr, Taille du cache utilise
(cf. section 1.3 du chapitre 4 pour la signification des paramtres SVM et le rle de la slection de
paramtres dans le processus dapprentissage).

Figure 18: Choix des paramtres SVM


Les options par dfaut utilises par la LIBSVM sont dj coches. Une fois les paramtres
renseigns, lutilisateur peut lancer le processus de prdiction SVM standard (i.e. sans Boosting).

6.4.5. Paramtres Boosting


Dans la partie Boosting lutilisateur renseigne deux paramtres :
-

le type de la fonction de cout : rappeler quil y en a 3 utiliss dans lalgorithme de Drucker:


Linaire, quadratique et exponentielle.

et le pourcentage des lments tirer lors de lexcution de lalgorithme de roulette (utilis


pour la slection pondre qui gnre les nouveaux sous-ensembles dapprentissage).

Figure 19: Choix des paramtres Boosting

6.4.6. Outputs de lapplication :


Aprs lexcution du processus dapprentissage, la zone de log affiche un message pour en
signaler la fin, un dossier nomm la lhorodatage du jour est cr lemplacement o sont
enregistrs les fichiers de donnes dapprentissage, il contiendra lensemble des outputs de
lapplication. Le chemin du dossier cr est galement affich dans la zone de log pour rappeler
lutilisateur lemplacement exact.
Anne scolaire 2011 -2012

40

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

Figure 20: Contenu du dossier rsultats de prdiction


chaque excution ce dossier contient:
-

Fichier Modle : Un seul modle est gnr si la prdiction a t faite sans boosting, ou
plusieurs si elle a t ralise avec boosting.

Paramtres SVM
utiliss lors de la
prdiction

Supports
vecteurs
trouvs

Figure 21: Contenu du Fichier modle


Anne scolaire 2011 -2012

41

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

- Fichier des prdictions :


Les prdictions faite sur la base du fichier test et du modle (ou des modles) sont contenues
dans un fichier texte, rappeler quil sagit dans notre cas de rgressions, les rsultats gnrs sont
donc des valeurs relles.

Figure 22: Contenu du Fichier des prdictions

- Fichier log :
Au fur et mesure de lexcution de lapplication, plusieurs logs sont cris dans un fichier texte,
ci-dessous un aperu non exhaustif des informations enregistres :

Paramtres SVM
utiliss lors de la
prdiction

Supports
vecteurs
trouvs
Informations sur
lalgorithme de
Boosting

Itrations Boosting

Gnration des nouveaux


sous-ensembles
(Roulette)

Figure 23: Contenu du Fichier de logs


Anne scolaire 2011 -2012

42

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

6.4.7. Affichage des graphiques :


lissu de lexcution de lapplication un graphique saffiche, il contient une reprsentation des
valeurs dsires et obtenues du jeu de donnes de test : deux courbes en deux couleurs diffrentes,
une lgende pour expliquer les courbes, le taux derreur en prdiction (reprsent par la MSE), et le
chemin du fichier reprsent.

Figure 24: Affichage graphique des rsultats


Comme pour linterface de lapplication, le design de la reprsentation graphique na pas t
spcialement tudi, il pourra tre amlior par la suite. Comme on peut rajouter dautres types de
graphes reprsentant dautres indices de performance.

Anne scolaire 2011 -2012

43

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

CHAPITRE 7 : EXPERIENCES ET RESULTATS

7.1.

Prtraitement des donnes

Normalisation des donnes :

Comme dans la plupart des analyses de donnes, le processus de prdiction avec des machines
SVM ncessite la normalisation des donnes brutes, afin dviter que les valeurs grandeurs
extrmes naltrent la qualit de lanalyse. De plus, les fichiers de donnes dapprentissage et de test
doivent tre normaliss sur le mme intervalle et de la mme manire. La LIBSVM propose une
fonctionnalit pour la normalisation des donnes, elle peut tre utilise en ligne de commande via la
commande svm-scale. Une telle fonctionnalit peut tre intgre dans lapplication dans le cadre
dune amlioration future.

Conversion des attributs qualitatifs :

SVM require que les donnes soient reprsentes sous forme de vecteurs de rels, par
consquent les attributs qualitatifs doivent tre convertis en donnes quantitatives. La LIBSVM
recommande de convertir un attribut de m modalits en m attributs quantitatifs. Comme prcis
prcdemment, les tests raliss ont t faits sur les donnes Sunspot (Taches solaires), ce sont des
donnes relles normalises auparavant. Lapplication peut bien videmment recevoir en entre
dautres fichiers de donnes, il suffit de les traiter avant de les injecter.

7.2.

Slection des paramtres

La slection des paramtres SVM est extrmement importante, dans la mesure o elle influence
de faon trs significative le processus de prdiction, nous verrons dans les expriences qui suivent
quune bonne slection de paramtre rend obsolte le boosting des donnes dans certains cas.

Les paramtres choisir ne sont pas identiques tous les problmes et ne sont pas forcment
connus lavance pour un jeu de donn prcis, ce qui impose de faire une slection de paramtres.
En dautres termes il faut rechercher les meilleurs paramtres pour le kernel utilis de faon ce que
le prdicteur prdise avec une plus grande justesse les valeurs inconnues (donnes de test).

Anne scolaire 2011 -2012

44

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

La LIBSVM propose un utilitaire pour faire de la slection de paramtres appel le Grid search ,
qui se base sur la division des donnes en plusieurs sous-ensembles (n-fold) de plus petite taille pour
trouver les meilleurs paramtres C et Gamma. Une version spciale pour la rgression a t rajoute
sur le site web de la librairie, elle permet de donner en plus de C et gamma la valeur optimale du
Epsilon utiliser.

7.3.

Expriences

Afin dvaluer la qualit des prdictions obtenues au niveau des tests, lErreur Quadratique
Moyenne ou Mean Square Error (MSE) a t utilise comme mesure de lerreur en prdiction.

7.3.1. Prdiction sans Boosting : Accroissement de la MSE avec lhorizon de prdiction


La premire exprience mene est de tester laccroissement de la MSE avec lhorizon de
prdiction. Un tableau a t dress cette fin, stendant de h+1 h+10 avec un pas de 1 et de h+10
h+40 avec un pas de 5, dans lequel ont t recueillies les erreurs de prdiction commises sur les
donnes Sunspots entraines avec les paramtres LIBSVM par dfaut, avec une taille de fentre
gale 5 (choix arbitraire, judicieux ?).

Horizon

h+1

MSE

0,011683 0,025309 0,033011 0,029690 0,026880 0,024970 0,025040 0,025744

Horizon
MSE

h+9

h+2

h+10

h+3

h+15

h+4

h+20

h+5

h+25

h+6

h+30

h+7

h+35

h+8

h+40

0,025893 0,027060 0,046806 0,054845 0,067781 0,083632 0,087654 0,129577


Tableau 1 : Accroissement de la MSE avec lhorizon de prdiction
Pour sassurer de lexactitude des valeurs prdites par lapplication, les fichiers plats Sunspot ont
t convertis sous le format LIBSVM puis utiliss pour la prdiction moyennant les excutables de la
librairie : svm-train et svm-predict. Les excutions en ligne de commande donnent les mmes valeurs
que celles donnes par lapplication, les valeurs gnres par lapplication sont donc justes.

En traduisant le tableau de donnes en graphique nous obtenons :

Anne scolaire 2011 -2012

45

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

Figure 25 : Accroissement de la MSE avec lhorizon de prdiction


Lerreur est visiblement grandissante avec laccroissement de lhorizon de prdiction.

7.3.2. volution de la MSE avec slection des paramtres


Une recherche de paramtre a t effectue ce niveau afin de rcuprer les meilleurs
paramtres C, gamma et Epsilon pour chacun des jeux de donnes tests (de h+1 h+40). Les
paramtres suivants sont slectionns :

Horizon

h+1

h+2

h+3

h+4

h+5

h+6

h+7

h+8

Best C

16

32

16

0.5

0.5

0.5

0.5

Best Gamma

0.5

0.5

0.25

0.0625

0.25

Best Epsilon 0.0078125 0.03125

Horizon

h+9

h+10

0.125

h+15

0.0625 0.0078125 0.015625 0.00390625 0.0625

h+20

h+25

h+30

h+35

h+40

Best C

32

0.5

0.5

32

Best Gamma

0.5

0.25

0.25

0.5

0.25

0.25

Best Epsilon

0.0625

0.125

0.0625

0.125

0.0625

0.125

0.125

0.125

Tableau 2 : Paramtres dapprentissage optimaux

Anne scolaire 2011 -2012

46

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

En lanant de nouvelles prdictions avec les paramtres slectionns nous obtenons les rsultats
ci-dessous:

Horizon

h+1

MSE

0,00634

Horizon

h+9

MSE

0,02725

h+2

h+3

h+4

0,01743

0,02266

0,02608

h+10

h+15

h+20

0,02489

0,04363

0,04386

h+5
0,02298

h+6

h+7

h+8

0,02279

0,02399

0,02663

h+25

h+30

h+35

h+40

0,06944

0,07377

0,08212

0,11650

Tableau 3 : Accroissement de la MSE avec slection des paramtres


Traduits en graphes et compars aux rsultats des prdictions sans slection de paramtres, les
tableaux donnent lvolution ci-aprs :

Figure 26 : Accroissement de la MSE avec slection des paramtres


quelques exceptions prs, toutes les valeurs de la MSE sans slection de paramtres se sont
vues diminuer lorsque le processus de slection Grid Search a t utilise, particulirement sur
les grands horizons de prdiction.
Le bon choix des paramtres dapprentissage influence donc positivement et significativement
les rsultats des prdictions.
Anne scolaire 2011 -2012

47

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

7.3.3. Prdiction avec Boosting : volution de la MSE avec de h+1 h+40:


Lobjectif du projet la base est la mise en vidence de lalgorithme de Boosting dans le processus
de prdiction, cest ce qui a t expriment ce niveau : Ce test a t ralis sur le mme jeu de
donn utilis dans les expriences antrieures, avec un apprentissage itratif par Boosting, toujours
pour une taille de fentre gale 5 et en utilisant les paramtres optimaux utiliss lors du test
prcdent. Sachant que le Boosting est une suite dapprentissages itratifs, la slection des
paramtres dapprentissage est toute aussi importante.

Comme expliqu dans les chapitres premiers, la version Drucker de lalgorithme de Boosting inclut
des fonctions cot supplmentaires par rapport lalgorithme classique Adaboost.R, ainsi les tests
ont t lancs arbitrairement avec les 3 fonctions cot de lalgorithme, savoir : linaire,
quadratique et exponentielle. Des tests plus organiss doivent tre entrepris ce niveau, par
manque de temps ceci na pas pu tre ralis.

Le deuxime paramtre Boosting pris en considration est le pourcentage dlments


slectionner lors de la gnration des nouvelles distributions (sous-ensembles dapprentissage). Des
valeurs variant de 10% 70% ont t applique, de mme des tests spcifiques au pourcentage
doivent tre faits ultrieurement.

Pour chaque jeu de donnes (de h+1 h+40) une vingtaine dexcutions ont t ralises, vu la
prsence dun Random dans lalgorithme de Boosting, les valeurs prdites avec Boosting changent
dune excution une autre, forant la MSE changer par consquent. Le tableau rassemble les
meilleurs rsultats de boosting obtenus :

Horizon

h+1

h+2

h+3

h+4

h+5

h+6

h+7

h+8

MSE sans Boosting

0,00634

0,01743

0,02266

0,02608

0,02298

0,02279

0,02399

0,02663

MSE avec Boosting

0,00649

0,01698

0,02194

0,02529

0,02524

0,02101

0,03048

0,02509

Horizon

h+9

h+10

h+15

h+20

h+25

h+30

h+35

h+40

MSE sans Boosting

0,02725

0,02489

0,04363

0,04386

0,06944

0,07377

0,08212

0,11650

MSE avec Boosting

0,02246

0,02469

0,03685

0,03716

0,05017

0,05112

0,06212

0,07120

Tableau 4 : volution de la MSE avec Boosting

Anne scolaire 2011 -2012

48

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

Les valeurs en rouge reprsentent les MSE qui ont t amliores lors de lexcution de
lapplication en mode Boosting, la plupart des valeurs ont pu rgresser, de faon trs significative
pour les grands horizons de prdiction.

En traduisant les tableaux en graphes et en les comparants aux rsultats des prdictions avec et
sans slection de paramtres, on obtient lvolution ci-aprs :

Figure 27 : volution de la MSE avec Boosting

Le graphique traduit bien lamlioration de la qualit des prdictions lors de lutilisation de la


slection de paramtres, et encore mieux aprs lapplication du Boosting.

Observations:
Bien que les MSE aient pu changer au cours des 20 tests effectus, elles se sont rvles
toujours meilleures que celle commises sans Boosting, et ce pour les horizons de prdiction allant
de h+10 h+40 ( 19 fois sur 20 les tests ont donn une valeur MSE meilleure celle sans
Boosting).

Anne scolaire 2011 -2012

49

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

La faible amlioration apporte par le boosting au niveau des petits horizons (h+1 h+10), peut
tre explique par le fait que les rsultats soient dj optimaux, ne pouvant amliorer le meilleur le
boosting ralise des rsultats aussi bons voire plus mauvais que ceux faits sans boosting. tant des
apprenants Forts (Strong learner) les SVM ralisent dj de trs bonnes performances en
gnralisation, ces derniers saffaiblissent avec lhorizon de prdiction, permettant dans ce cas au
boosting dapporter une amlioration, ce qui expliquerait les bonnes performances Boosting de
h+10 h+40.

Vraisemblablement, les fonctions de cout quadratiques et exponentielles donnent des rsultats


meilleurs que ceux donns par la fonction linaire. Quant au pourcentage dlments slectionns,
plus il est petit meilleure est la prdiction, une amlioration a t observe en oscillant chaque
fois entre des pourcentages allant de 10% 70%.
Ces observations doivent nanmoins faire lobjet de plusieurs tests plus pousss pour une
meilleure mise en vidence.

7.3.4. Comparaison de lapprentissage sur fichiers Sunspot test1 et test2


Un dernier test a t ralis sur un deuxime fichier Sunspot diffrent du premier, dans la mesure
o il rassemble des exemples rputs plus difficiles apprendre, le tableau rassemble les rsultats de
Boosting obtenus :

Horizon

h+1

h+2

h+3

h+4

h+5

h+6

h+7

h+8

MSE sans Boosting

0,00634

0,01743

0,06455

0,07878

0,06589

0,05876

0,04602

0,05055

MSE avec Boosting

0,00659

0,01561

0,04696

0,05491

0,06828

0,05193

0,05844

0,05622

Horizon

h+9

h+10

h+15

h+20

h+25

h+30

h+35

MSE sans Boosting

0,25981

0,05535

0,13488

0,08085

0,08277

0,08788

0,12057

MSE avec Boosting

0,10623

0,05446

0,08999

0,04434

0,04907

0,05776

0,09610

Tableau 5 : Boosting sur exemples difficiles

Anne scolaire 2011 -2012

50

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

Figure 28 : Boosting sur exemples difficiles

De mme une amlioration est faite de h+8 h+35, une interprtation possible du graphique
serait que les performances du boosting ne dpendent pas uniquement de lhorizon de prdiction
mais aussi de la difficult de lexemple, la prdiction sur h+9 a t trs mauvaise elle a pu tre
amliore tout de mme, par contre celle h+10 ne la pas t malgr quelle soit plus avance dans
le temps.

Anne scolaire 2011 -2012

51

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

CONCLUSION

Lobjectif de ce projet tait la mise en uvre d'un outil logiciel, permettant de combiner la
mthode SVR et l'algorithme de Boosting afin d'amliorer les rsultats des prdictions des sries
temporelles sur des horizons de prdiction tendus.

Le prsent document a rappel des notions thoriques dans le domaine de lapprentissage


automatique, notamment le fonctionnement des SVM et de lalgorithme de Boosting. Il a prsent
lapplication ralise dans le cadre de ce PFE, et sest achev en exposant les exprimentations faites
pour la mise en vidence de leffet du Boosting sur les prdictions temporelles.

Les expriences menes ont dmontr quen utilisant lalgorithme de Boosting pour combiner les
modles en apprentissage par SVM, il existe effectivement une amlioration des performances au
niveau des prdictions. Cette amlioration est particulirement observe sur des horizons de
prdiction tendus. De mme, les tests ont affirm le rle de la slection des paramtres
dapprentissage dans le processus.

Bien que que les expriences effectus semblent converger vers le bon sens, le nombre de tests
effectus nest toutefois pas suffisant pour conclure correctement sur les rsultats, dautres
expriences doivent tre menes sur dautres jeux de donnes, en diversifiant de faon organise le
paramtrage des algorithmes SVM et Boosting.

Les 6 commandements:
Ci-dessous un ensemble de remarque pour les personnes qui reprendraient ventuellement la
recherche sur ce sujet :

1- Revoir le codage de lalgorithme de Drucker :


Malgr de nombreuses rvisions et dbogages, il est possible que le code contienne des erreurs
dinattention ou dincomprhension de lalgorithme, revoir.

2- Se pencher davantage sur la slection de paramtres :


Il est important dtudier plus profondment les paramtres SVM, ventuellement prendre le temps
de comprendre le fonctionnement du Grid-search de la LIBSVM qui recherche les paramtres
kernel optimaux. En plus du Grid-search une autre faon de faire est propose par la LIBSVM dans
Anne scolaire 2011 -2012

52

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

le cadre de la slection de paramtres : cest dutiliser le fichier dapprentissage en argument de la


fonction svm-predict, pour pouvoir afficher le taux derreur durant la phase dapprentissage, et
savoir ainsi si lapprentissage en lui-mme sest bien droul, en dautres termes si les paramtres
utiliss sont optimaux, puis de les amliorer en consquence avant de lancer la phase de prdiction.

3- Etudier les articles affirmant limpossibilit de combiner le Boosting aux SVM :


Selon plusieurs recherches, les SVM tant des classifieurs/rgresseurs forts (Strong Learner) ne
peuvent pas servir dapprenant pour lalgorithme de Boosting qui ncessite un (Weak Learner), des
articles ont t publis dans ce sens, entre autre :
- Boosting Support Vector Machines Successfully , Kai Ming Ting and Lian Zhu.
- Support Vector Machines and Their Application in Chemistry and Biotechnology ,
Chapter 4 , Dong-Sheng Cao
- Boosting Support Vector Machines , Elkin Garca et Fernando Lozano.
La version SVM qui a t utilise dans le cadre de ce projet est une version Forte vu que cest
celle de la LIBSVM. Il existe sur le net une version LIBSVM qui a t affaiblie , rechercher.

4- Optimisation du code :
Aucune tude particulire na t faite au niveau de la complexit du code et des temps dexcution,
lapplication est plutt rapide compare des applications sous rseaux de neurones, cependant sur
des jeux de donnes importants cette rapidit peut tre compromise.

5- Amliorer linterface du programme :


Lintrt du projet tant plus centr sur le dveloppement de l'outil, lergonomie de linterface
graphique na pas t particulirement tudie, et nest donc pas User friendly , remanier.

6- Gestion de projets :
Dans ce PFE les tests ont t insrs la fin des phases de dveloppement, cest la squence logique
cependant il serait utile de consacrer aux tests toute une phase dans le projet, stalant sur plusieurs
mois.

Anne scolaire 2011 -2012

53

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

GLOSSAIRE
- Boosting: Mthode permettant, sous certaines conditions, damliorer les performances de nimporte quel
algorithme dapprentissage. Il combine linairement des hypothses dites faibles ou weak hypotheses (i.e.
juste meilleures quun tirage alatoire) en une hypothse dite forte ou strong hypothesis.
Source : www.lif.univ-mrs.fr/~capponi/epit2008/lib/exe/fetch.ph
- SVM (Support Vector Machines): Machines Vecteurs de Support ou sparateurs vaste marge, sont un
ensemble de techniques d'apprentissage supervis destines rsoudre des problmes de discrimination et de
rgression. Les SVM sont une gnralisation des classifieurs linaires. Elles ont t appliqus de trs
nombreux domaines (bioinformatique, recherche d'information, vision par ordinateur, finance...). Selon les
donnes, la performance des machines vecteurs de support est de mme ordre, ou mme suprieure, celle
d'un rseau de neurones ou d'un modle de mixture gaussienne.
Source : http://fr.wikipedia.org/wiki/Machine__vecteurs_de_support
- SVR (Support Vector Regression) : Machines Vecteurs de Support pour la rgression, c'est l'application de la
mthode SVM pour des tches de rgression, cest dire prdiction dune variable continue en fonction
dautres variables, comme cest le cas par exemple dans la prdiction de consommation lectrique en fonction
de la priode de l'anne, de la temprature, etc
Source : http://georges.gardarin.free.fr/Surveys_DM/Survey_SVM.pdf

Anne scolaire 2011 -2012

54

cole Polytechnique de lUniversit de Tours - Dpartement Informatique

REFERENCES BIBLIOGRAPHIQUES

Documents:
-

Vapnik V. N. , The nature of statistical learning theory , Springer, 2000.

Drucker Harris, Improving Regressors using Boosting Techniques , Monmouth


University - West Long Branch.

Freund Yoav and Schapire Robert E. (1999), A Short Introduction to Boosting ,


Journal of Japanese Society for Artificial Intelligence 14(5):771-780.

Chih-Chung Chang and Chih-Jen Lin (2011), LIBSVM : a library for support vector
machines. ACM Transactions on Intelligent Systems and Technology , University of
Taiwan.

Mohammad Assaad (2006), Thse : Un nouvel algorithme de Boosting pour les


rseaux de neurones rcurrents : Application au traitement des donnes
squentielles , Polytech Tours.

Clment PULL (2009), Notes : Cours magistral de Reconnaissance des formes,


dirig par Hubert CARDOT , Polytech Tours.

Emmanuel Cesar & Bruno Richard (2006), Cours : Les Sries Temporelles ,
Universit de Versailles Saint-Quentin-en-Yvelines Module XML et Data Mining.

Sbastien LECHEVALIER, Cours : Une introduction lconomtrie des sries


temporelles , Universit Paris-I.

Sites Web:
SVM :
- http://www.csie.ntu.edu.tw/~cjlin/libsvm/
- http://wikistat.fr/
Boosting :
- http://www.boosting.org
Forum Learning machines :
- http://agbs.kyb.tuebingen.mpg.de
Ressources documentaires sur les logiciels utiliss:
- http://www.jfree.org/jfreechart/
- http://www.eclipse.org/windowbuilder
- http://jmdoudoux.developpez.com

Anne scolaire 2011 -2012

55

Rsum :
Ce document est un compte rendu du projet de fin dtudes intitul SVR avec boosting
pour la prvision long terme, il dcrit la mise en uvre d'un outil logiciel, permettant de
combiner la mthode SVR et l'algorithme de Boosting afin d'amliorer les rsultats des prdictions
sur les sries temporelles pour des horizons de prdiction tendus.

Mots-cls : SVR, SVM, Boosting, prdiction, sries temporelles

Abstract:
This document is a review of the graduation project entitled SVR with boosting for longterm forecasting . It describes the implementation of a tool that combines SVR method
with boosting algorithm to improve time series forecasting for large forecasting horizons.
Keywords: SVR, SVM, Boosting, forcasting, time series

Encadrant :

Etudiants :

CHERIF Aymen
Doctorant au DI Polytech Tours
64 avenue Jean Portalis 37200 Tours
aymen.cherif@etu.univ-tours.fr

EL HASSANI Imane
imane.elhassani@etu.univ-tours.fr

Vous aimerez peut-être aussi