Le 4 février 2000 - ASI @ INSA Rouen

publicité
Le 4 février 2000
Khoufi Héla
Poinsignon Jean-Marc
DEA ICSV
DEA ICSV
---- reconnaissance des formes
-----
Stephane CANU
AN IMPROVED TRAINING ALGORITHM FOR SUPPORT VECTOR MACHINES
L'apprentissage des SVM nécessite une large base de données ainsi qu'un grand nombre de vecteurs de
support, points de données liés à la bordure entre deux classes. Cette opération va revenir à résoudre un
problème de programmation quadratique (PQ) linéaire. Cependant, la stratégie utilisée dans les algorithmes de
base, n'autorise pas plus de quelques milliers de points de données. Ainsi, un algorithme de décomposition décrit
dans l'article, propose une amélioration garantissant la résolution du problème PQ avec une base de données plus
volumineuse et un nombre de supports vecteurs plus important.
La classification SVM permet la construction d'un hyperplan approprié, de façon à former une marge
maximale entre deux classes ( linéairement séparable ou non)de vecteurs, minimisant ainsi l'effet de l'erreur de
classification, ou risque structurel. Dans le cas de non séparabilité linéaire des deux classes, on cherchera à
minimiser en plus le nombre de classifications défectueuses.
Le problème de la classification revient à déterminer le signe de la fonction de décision f(x):
l
xRd , yi={+1,-1} , C=cst , 0iC , (xi,yi) ensemble des échantillons
K(x,xi): noyau de la fonction, représente le produit scalaire dans l'espace de
caractéristiques.
wx+b=0, l'équation de l'hyperplan
F(x) = sign( iyiK(x,xi)+b)
i =1
= sign (g(x) )
Pour l'apprentissage du SVM, on considère deux conditions:
Les conditions d'optimisation, utilisées pour déterminer la manière suivant laquelle sera résolu le problème PQ
original, présenté comme suit:
^
sachant que
Dij = yiyjK(xi,xj)
T=(v1…..vl)
T=(1, …,l)
W(^)= - ^T1 + 0.5*^TD ^
Minimise
^Ty=0
()
W(^)+-+y = 0
T (^- C1)
=0
 T^
=0
,
^-C10


() , -^0
()
^T y
^- C1
-^
=0
0
0
0
0
Multiplicateurs
de KuhnTucker
Conditions KT : nécessaires et
suffisants pour l'optimisation
Pour les conditions optimales, 3 cas de 0iC sont à considérer:
0<i<C 
(D^)i - 1 + yi = 0
i = C 
yi g(xi)  1
i = 0 
yi g(xi)  1
(1)
La stratégie d'amélioration :consiste à décomposer ^ en deux vecteurs ^B et ^N où B est l'ensemble de travail.
Sachant que (- ^ N T1+0.5* +^ N TD N
Minimise
^B
sachant que
N
^ N ) =cst
W(^B)= - ^ B T1 + 0.5*[^ B TD B
^BTyB + ^BTyBN = 0
()
,
et (^B TD B
B
N
^ N + ^ N TD N B ^ B ) = 2 ^ B T q B N
^ B + ^ BTq B N
^ B -C1  0
() , -^ B  0
(2)
()
Où
iB
(q B N) i = y i
et
 jyjK(x i,xj)
jN
Algorithme de décomposition :
 Choisir les points de B parmi les données
 Résoudre le sous problème en utilisant les variables dans B
 En utilisant (1) et (2) avec i  N , on résout le nouveau sous problème donné par (2)
Cet algorithme améliore strictement la fonction objective. Si elle est bornée, l'algorithme doit converger vers une
solution optimale et globale avec un nombre fini d'itérations.
Implémentation et résultats:
 Matériel : SUN Sparc 20 (128 Mb de RAM ) avec le logiciel solveur MINOS 5.4
 Entrée : 110.000 points
 Temps d'exécution : 3 heures pour 10.000 vecteurs de support , 48 heures pour 40.000 vecteurs de support et
200 heures pour 110.000 vecteurs de support
 Perspective: Résultats obtenus comparables à ceux de l'approche réseaux de neurones où les erreurs de
généralisation atteignent environ 53%. Les résultats ont montré que la méthode est valable avec un nombre
de SVM supérieur à 100.000.
ANALYSE CRITIQUE
Nous allons décomposer cette partie, en une analyse des courbes résultat, puis en une
vue d'ensemble de l'article.
Analyse des courbes:
On constate que la génération des
SV est linéaire en fonction du nombre de
données (courbe 1). Remarquons que la
pente de la droite est sensiblement
inférieure à 1. Ce qui entraîne une
génération de SVM un peu inférieure au
nombre de points d'entrée, ce qui est
visible avec grand nombre de points. En
ce qui concerne la deuxième courbe,
nous avons fait une approximation
linéaire, grâce à laquelle on remarque
deux phases: la première se traduit par
une évolution rapide du nombre de
points traité par unité de temps, soit
environ 2000 pts/h . Dès 30000 points on
constate un ralentissement de
l'exécution. La deuxième phase est donc plus lente, l'évolution tend vers 400 pts/h. D'après les
courbes il semble que l'algorithme se stabilise , dans le cas de l'exemple présent, à partir de
30000 points.
Tous ces élément montrent qu'il y a une "convergence" du coût de l'algorithme en terme de
vitesse. Pour généraliser les performances de l'algorithme il serait bien de faire une
acquisition de plus de points de façon à mieux suivre l'évolution des courbes. Remarquons
que le nombre de points a été fixé à 110 000, que se passe t-il au delà? La date de publication
de l'article est 1997 mais les essais datent de 1992, il serait intéressant de renouveler les
opérations avec des calculateurs plus ressent de manière à étendre le champ d'étude.
Vue d'ensemble:
Les SVM sont appliqués dans plusieurs études et plus précisément dans le domaine de l'OCR.
Ils sont utilisés pour la prédiction de séries de temps " prédicting times series" , pour la
classification et les problèmes de régression ainsi que pour l'apprentissage et l'extraction des
caractéristiques.
Les SVM sont comparées avec plusieurs approches (ex: RBF= Réseaux des fonctions à base
radiale) et ont montrés d'excellentes performances. Aussi ils voient leur application s'étendre,
on parlera ainsi de SVM, mais aussi SV mixture. Les inconvénient restent tout de même liés
au coût temporel et à la limite en volume de données, cependant avec la croissance des
calculateurs, les SVM voient leur intérêt grandir avec l'évolution technologique.
Téléchargement