• Aucun résultat trouvé

La méthode OCBM-SVM permet d’optimiser le temps d’entrainement, de classification et la taille du modèle de décision obtenu par rapport aux méthodes classiques 1vsR, 1vs1 et aux méthodes ODT-SVM, HvsH, R-SVM et OC-SVM.

5.4.1 Entrainement

Nous recherchons pour K classes K hyperplans, mais contrairement à la méthode 1vsR, nous utilisons, pour trouver chaque hyperplans Hk, uniquement les données de la classe k ce

qui permet d’accélérer considérablement la vitesse d’entrainement. Le tableau5.1représente une comparaison de notre méthode aux méthodes 1vsR, 1vs1, ODT-SVM, HvsH, R-SVM et OC- SVM. La comparaison porte sur le nombre d’hyperplans utilisés, le nombre d’exemples utilisés par chaque hyperplan, ainsi que l’estimation du temps d’entrainement en fonction du nombre d’exemples d’une classe Nc. Nous supposons, pour des raisons de simplification, que les classes ont le même nombre d’exemples. Le temps estimé est basé sur l’algorithme SMO [111] où chaque hyperplan Hk utilisant Nk exemples nécessite un temps de βNk2 où β représente les conditions d’exécution (mémoire disponible, processeur utilisé, ... etc).

Table 5.1 – Table comparative des temps d’entrainement des différentes méthodes Méthode # hyperplans # exemples/hyperplan Temps estimé

1vsR K KNc K3βNc2 1vs1 K(K − 1)/2 2Nc 2βK2Nc2 ODT-SVM K − 1 Nc(K − i + 1) K 3 3 βNc2 HvsH 2log2K− 1 N − N c(i − 1) 2βK2Nc2 R-SVM K (K − i)Nc+ iNvs entre K 3 3 βNc2 et K3βNc2 OC-SVM K Nc KβNc2 OCBM-SVM K Nc KβNc2

– La méthode 1vsR utilise pour déterminer chacun des K hyperplans tous les KNcexemples d’entrainement, ce qui implique un temps d’entrainement de K3βN2.

– La méthode 1vs1 calcule un hyperplan pour chaque paire de classes, c-à-d K(K − 1)/2 hyperplans, et pour déterminer un hyperplan séparant deux classes, elle utilise les exemples de ces deux classes (2Nc), ce qui donne un temps d’entrainement de 2βK2Nc2.

– La méthode ODT-SVM calcule (K − 1) hyperplan, chaque hyperplan i est calculé à base de (K − i − 1)Ncexemples. Le temps d’entrainement est donc de K33βNc2.

– La méthode HvsH calcule à chaque niveau i, 2i−1 hyperplans utilisant chacun K

2i−1Nc

exemples. Le temps d’entrainement est donc de 2K2βNc2.

– La méthode R-SVM utilise K hyperplans. Pour apprendre chaque hyperplan, elle utilise les vecteurs supports des classes précédentes et tous les exemples des classes restantes. Dans le cas où le nombre de vecteurs supports est élevé le temps d’entrainement se rapproche de celui de la méthode 1vsR. Si par contre le nombre de vecteurs supports est très réduit le temps tend celui de la méthode ODT-SVM.

– Notre méthode nécessite le calcul de K hyperplans, chacun sépare une classe du reste de l’espace. Pour déterminer chaque hyperplan, nous utilisons donc uniquement les exemples d’une seule classe ce qui se traduit par un temps global d’entrainement de l’ordre de KβNc2. Il est claire que :

KβNc2 < 2K2βNc2 < K

3

3 βN

2

c < K3βNc2 (5.3)

Ce qui signifie que la méthode que nous proposons optimise le temps d’entrainement par rapport aux autres méthodes quelque soit le nombre de classes et le nombre d’exemples. La méthode OC-SVM donne une vitesse d’entrainement semblable à la notre mais à très faible précision (voir la section d’expérimentations).

5.4.2 Classification

Dans la phase de classification, le temps de calcul dépend du nombre d’hyperplans utilisés, du nombre de vecteurs supports dans chaque hyperplan et bien sur des conditions d’exécution β de la machine utilisée. Le tableau5.2 représente une comparaison entre les temps de classification d’un nouvel exemple par les différentes méthodes. Ce temps est calculé en fonction du nombre de vecteurs supports de chaque hyperplan, qui est égal, au maximum, au nombre total des exemples utilisés pour trouver l’hyperplan.

Table 5.2 – Table comparative des temps de classification des différentes méthodes Méthode # hyperplans utilisés Temps estimé

1vsR K K2βNc 1vs1 K(K − 1)/2 K(K − 1)βNc DAG (K − 1) 2(K − 1)βNc ODT-SVM K − 1 (K(K+1)2 − 1)βNc HvsH log2K 2KβNc R-1vsR K entre ODT-SVM et 1vsR OC-SVM K KβNc OCBM K KβNc

– La méthode 1vsR utilise K hyperplans, et pour tester un exemple, elle l’évalue pour tous les hyperplans. Sachant que chaque hyperplan contienne un nombre de vecteurs supports égal, au maximum, au nombre total d’exemples, le temps estimé pour trouver la classe d’un exemple est donc K2βN

c, où β est une constante qui représente les conditions d’exécution.

– Pour la méthode 1vs1 utilisant la liste de vote, le temps de classification estimé est de K(K − 1)βNc,

– Pour la méthode 1vs1 utilisant les graphes de décision, le temps de classification estimé est diminué à 2(K − 1)βNc,

– La méthode ODT-SVM utilise K − 1 hyperplans et pour évaluer un exemple, elle le teste par tous ces hyperplans. Pour chaque hyperplan i, elle utilise (K − i − 1)Ncexemples, ce qui donne un temps global de classification (K(K+1)2 − 1)βNc.

– La méthode HvsH passe, pour évaluer un exemple, par log2(K) hyperplan dans l’arbre construit. A chaque test d’un hyperplan i, elle utilise 2Ki−1 exemples, ce qui donne donne un temps total de test de 2KβNc.

– La méthode R-1vsR utilise K hyperplans avec un nombre total de vecteurs supports entre celui de la méthode ODT-SVM et celui de la méthode 1vsR, ce qui donne un temps de tests entre les temps de tests de ces deux méthodes.

– La méthode OC-SVM utilise K hyperplans de Nc vecteurs supports chacun ce qui donne un temps global de classification de KβNc.

– Le temps estimé pour notre méthode est de KβNc du fait qu’elle teste l’exemple pour K

hyperplans contenant en tout, au maximum, KNc vecteurs supports.

Si on élimine dans la colonne du temps estimé dans le tableau5.2le facteur βNc, on remarque

bien que la méthode OCMB-SVM optimise le temps de classification par rapport à toutes les autres sauf la méthode OC-SVM qui a le même temps de classification, mais qui souffre du problème de précision. Cela dépend toujours du nombre de vecteurs supports obtenus par la méthode d’entrainement et qui peut être très important par rapport au nombre de classes K.

Les performances de notre méthode OCBM-SVM augmentent avec l’augmentation du nombre de classes et le nombre d’exemples. En augmentant le nombre de classes, l’écart entre le nombre d’hyperplans utilisées par notre méthode et par les autres méthodes augmente. De même, en aug- mentant le nombre d’exemples des classes, la différence en nombre total d’exemples utilisés entre la méthode OCBM-SVM et les autres méthodes augmente. Cela rend notre méthode convenable pour les bases de données de grandes tailles.

5.4.3 Taille du modèle

La taille du modèle est la quantité d’informations enregistrées après l’apprentissage pour pouvoir utiliser le modèle de décision par la suite. En effet, le classifieur obtenu contient en plus des paramètres du noyau, les informations sur les hyperplans à savoir les valeurs des αi différents de 0, les exemples correspondants aux αi différents de 0, et le biais (b ou ρ). Le tableau 5.3

compare l’estimation de la taille du modèle obtenu pour chacune des méthodes. On suppose que chaque valeur d’un attribut pour un exemple, d’un biais ou d’un α est représentée par δ octets.

Table 5.3 – Table comparative des tailles des modèles obtenus par les différentes méthodes Méthode # hyperplans # exemples/hyperplan Taille estimé

1vsR K KNc 2K2δNc+ Kδ

1vs1 K(K − 1)/2 2Nc K(K − 1)(2Nc+δ2)

ODT-SVM K − 1 Nc(K − i + 1) (2K(K+1)2 − 1)δNc+ (K − 1)δ

HAH 2log2K− 1 N − N

c(i − 1) 2Klog2(K)δNc+ (K − 1)δ+

R-1vsR K (K − i)Nc+ iNvs entre ODT-SVM et 1vsR

OC-SVM K Nc Kδ(Nc+ 2)

OCBM-SVM K Nc Kδ(Nc+ 2)

La taille du modèle estimé ici ne comprend pas les données normalisées des exemples, et qui doivent être stockées pour calculer la fonction de décision, et qui sont les mêmes pour toutes les méthodes. La taille estimée comprend pour chaque hyperplan les valeurs des αi, leurs classes

Pour notre méthode, nous ajoutons la valeur du décalage pour chaque hyperplan. Il apparait clair de la table que la méthode OCBM-SVM optimise aussi la taille du classifieur obtenu du fait qu’elle optimise le nombre global de vecteurs supports utilisés pour les tests.