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):
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:
La stratégie d'amélioration :consiste à décomposer ^ en deux vecteurs ^B et ^N où B est l'ensemble de travail.
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.
F(x) = sign( iyiK(x,xi)+b)
= sign (g(x) )
xRd , yi={+1,-1} , C=cst , 0iC , (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
Minimise W(^)= - ^T1 + 0.5*^TD ^
^
sachant que ^Ty=0 () , ^-C10 () , -^0 ()
Dij = yiyjK(xi,xj)
T=(v1…..vl)
T=(1, …,l)
Multiplicateurs
de Kuhn-
Tucker
W(^)+-+y = 0
T (^- C1) = 0
T^ = 0
^ T y = 0
^- C1 0
-^ 0
Conditions KT : nécessaires et
suffisants pour l'optimisation
Sachant que (- ^ N T1+0.5* +^ N TD N N ^ N ) =cst et (^B TD B N ^ N + ^ N TD N B ^ B ) = 2^ B T q B N
Minimise W(^B)= - ^ B T1 + 0.5*[^ B TD B B ^ B + ^ B T q B N
^ B
sachant que ^ B T y B + ^ B T y B N = 0 () , ^ B -C1 0 () , -^ B 0 ()
Où i B et
(q B N) i = y i jyjK(x i,xj)
Pour les conditions optimales, 3 cas de 0iC sont à considérer:
0<i<C (D^)i - 1 + yi = 0