Machines à vecteurs supports

Download Report

Transcript Machines à vecteurs supports

Une introduction aux machines à vecteurs
supports (SVM)
Adapté de Martin Law, Antoine Cornuéjols et autres sources sur Internet
Plan
Historique
Qu’est-ce qu’une bonne frontière de séparation pour
deux classes linéairement séparables ?



La solution SVM
Adaptation aux cas non linéairement séparables: l’astuce
des fonctions noyau
Exemples d’application
Conclusion



2
Historique du SVM
Classifieur dérivé de la théorie statistique de
l’apprentissage par Vapnik and Chervonenkis
Devenu populaire depuis que, partant d’images formées
de pixels, il a permis des performances égales aux RNA
pour reconnaitre l’écriture manuscrite.
Proche de :






3
Séparateurs à vastes marges
Méthodes à fonctions noyau
Réseaux de neurones à bases radiales
Problème à deux classes linéairement séparables

Plusieurs surfaces de décision existent pour séparer
les classes ; laquelle choisir ?
Frontière de décision possibles
Classe 2
Classe 1
4
Exemples de choix mal avisés
Classe 2
Classe 1
Classe 2
Classe 1
 Pour minimiser la sensibilité au bruit, la surface de décision doit être aussi
éloignée que possible des données les proches de chaque classe
Hyperplan de plus vaste marge
wT xi  b  1
wT xi  b  0
Hyperplan
valide
• Équation de l’hyperplan de séparation : y  wT x  b
(Ligne droite dans un espace à deux dimensions)
M arge
maximale
wT xi  b  1
w xi  b  1
T
Classe 2
wT xi  b  1
Classe 1
Hyperplan
optimal
 Si {xi} = {x1, ..., xn} est l’ensemble des données et yi {1,-1} est la
classe de chacune, on devrait avoir :
tout en ayant une distance optimale entre xi et le plan de séparation
6
Optimisation de la marge
wT x  b  1
 Distance d’un point à
l’hyperplan :
D( x ) 
wT x  b
w
Marge
maximale
w
D(x) > 1
Classe 2
 Marge max. avant
d’atteindre les frontières
des deux classes ( w x  b  1) :
T
Vecteurs
de support
 Maximiser m revient à
minimiser ||w|| tout en
préservant le pouvoir de
classification :
min
1
2
7
w
2
D(x) = +1
1
w
Hyperplan
optimal
D(x) < -1
Classe 1
D(x) = 0
D(x) = -1
sous la contrainte yi ( w T xi  b)  1, i
Problème d’optimisation quadratique
 Maximiser le pouvoir de généralisation du classeur revient donc à
trouver w et b tels que :
et
1
w
2
2
est minimum
yi wT xi b  1,
i1,...,n
 Si d est la dimension des xi (nombre d’entrées), cela revient à
régler d+1 paramètres (les éléments de w, plus b)
 Possible par des méthodes d’optimisation classiques (optimisation
quadratique) seulement si d pas trop grand (< qqs 103)
 L’approche SVM utilise les multiplicateurs de Lagrange pour une
solution plus simple
8
Les multiplicateurs de Lagrange en 30 s


Problème : maximiser ou minimiser f(x) sous la contrainte g(x)=0
Solutions possibles :
 Résoudre g(x)=0 et substituer la/les racines trouvées dans f(x) ;
résoudre alors f ’(x) = 0 : pas toujours facile !
 Considérer f(x) et g(x)=0 évoluent pareillement au voisinage de
l’extrémum recherché. Leurs tangentes sont alors colinéaires et on
a:
f ’(x) = g’(x) (ou f ’(x) - g’(x) = 0)  étant à déterminer

La méthode des multiplicateurs de Lagrange regroupe la fonction a
optimiser et la contrainte en une seule fonction (x,)= f(x)-g(x)

La solution de d(x,)/dx =0 donne le point où les tangentes sont
colinéaires; en même temps, d(x,)/d répond à la contrainte.
Cas à plusieurs dimensions


On veut minimiser (ou maximiser) une fonction f(x) en respectant des
contraintes gi(x)=0, i=1,…,n
n
On peut monter qu’à l’extrémum recherché : f ( x )    i g i ( x )
i 1
(égalité des tangentes)
n
ou encore :f ( x )    i gi ( x )  0 où les coefficientsi sont à
i 1
déterminer
l
 Si on forme la fonction (lagrangien) :  x, α   f ( x )    i g i ( x )
l
Alors :   x, α   f ( x)   i gi ( x)
i 1
x
et  x, α  gi ( x)
i 1
i
=> la solution de  x  x, α  0 mène à un extrémum qui respecte les
contraintes.
Forme duale du problème d’optimisation


Dans notre cas, la fonction à optimiser sous contrainte est celle donnant
la marge maximale, ce qui revient à trouver les paramètres (w, b)
correspondants.
Donc, partant d’un ensemble de donnes données {(xi, yi)}, de
l’ensemble de contraintes {( xT wb) yi 1  0} et des paramètres à
optimiser (w, b), on a:
i

 ( w , b, α) 


i  i 0
1
2
n
w   i{( x Ti wb) yi 1}
2
i 1
Le minimum recherché est donné par la solution de w,b (w, b, α)  0

Il existe un problème dual plus facile à résoudre :

=>
11




 x, α 
Théorème de Kuhn-Tucker : min x max   x , α   max min
α
α
x
x
on peut aussi trouver w et b en solvant α (w, b, α)  0 sujet aux
contraintes w,b (w, b, α)  0
Forme duale du problème d’optimisation

Avantage de résoudre α (w, b, α)  0 au lieu de w,b (w, b, α)  0 :

La complexité du problème d'optimisation devient proportionnelle à n
(nombre de paires d’apprentissage (xi, yi)) et non d (dimension de chaque xi)
12

Possible d'obtenir des solutions pour des problèmes impliquant ≈ 105
exemples

C’est aussi un problème pour lequel le maximum global des i peut
toujours être trouvé
Formulation du problème dual

Partant de

 ( w , b, α ) 


i  i 0
1
2
w
2
n
  i{( x Ti wb) yi 1}
i 1
n
w,b (w, b, α)  0 donne w    i yi xi
i 1
n
et

 y
i 1
i
i
0
On a par substitution dans (w, b, α) :

n
1 n n

T

(
w
,
b
,
α
)





y
y
x
xj



i
i
j i
j

i
2
i 1
i 1 j 1

i  0
i

 n
  i yi  0

 i 1

Il faut trouver  qui maximise (w, b, α) : résoudre α (w, b, α)  0

13

n équations linéaires homogènes à n inconnues (les composants de )
Solution du problème d’optimisation
ns

wˆ   ˆ i yi xi
i 1

ns

T
ˆ
ˆ
b

y


y
(
x
xs )

s  i i
i
i 1

 D ( x )  ( wˆ T x bˆ)



• ^ : estimé
• nS : nombre de vecteurs de
support (xi avec   0)
• (xS,yS) : vecteur de support
arbitraire (pour trouver bˆ )
Les données xi avec   0 sont appelées vecteurs de support. Ils
correspondent aux points les plus proches de la surface de séparation

Dans l’expression du Lagrangien pour déterminer w
ˆ et bˆ , seuls interviennent
les produits scalaires entre les données x
n

1 n n
( w, b, α)   i    i j yi y j x Ti x j
2 i 1 j 1
i 1
14

Caractéristiques de la solution


Puisque plusieurs i sont nuls, w est une combinaison linéaire d’un petit
nombre de données
La surface de décision est uniquement déterminée par les ns vecteurs
de support trouvés:
ns
wˆ   ˆ i yi xi
i 1
ns
bˆ  ys  ˆ i yi ( x Ti xs )
i 1

Pour classer une nouvelle donnée z
Calculer wˆ z  bˆ  ˆ i yi xiT z   bˆ et classer z dans la classe 1 si le
ns

T
i 1
résultat est positif, la classe 2 s’il est négatif
15
Interprétation géométrique
Classe 2
8=0.6
10=0
• Seules les points les plus proches de la
surface de séparation influent sur sa
définition
7=0
5=0
a2=0
1=0.8
4=0
9=0
Classe 1
6=1.4
3=0
• Il existe des limites théorique pour l’erreur de classification de données nouvelles
 Plus grande la marge, plus petite la limite
 Plus petit le nombre de SV, plus petite la limite
16
Et pour un cas non linéairement séparable ?

On peut introduire une marge d’erreur i pour la
classification
Classe 2
Classe 1
17
Hyperplan à marges douces

i = 0 s’il n’existe pas d’erreur pour xi
 i sont des variables qui donnent du ”mou” aux marges optimales

Nous voulons minimiser

C : paramètre de compromis entre l’erreur et la marge
Le problème d’optimisation devient

18
Détermination de l’hyperplan de séparation

La forme duale du problème est

w est aussi donné par
La seule différence avec le cas linéairement séparable est qu’il existe une
limite supérieure C aux i

19
Extension à une surface de séparation non-linéaire

« Simplifier les choses » en projetant les xi dans un nouvel espace
où ils sont linéairement séparables
Espace d'entrée
non linéairement
séparable
x
Espace de re-description
linéairement séparable
Φ
h
Fonction de
re-description
Classeur
linéaire
Espace de sortie
y
Espace d’entrée
Φ( )
Φ( )
Φ( )
Φ( )
Φ( ) Φ( )
Φ(
)
Φ( ) Φ( )
Φ( )
Φ( )
Φ( ) Φ( ) Φ( )
Φ( ) Φ( ) Φ( )
Φ( ) Φ( )
Espace de re-description
Modification due à la transformation

Substituer les arguments transformés dans les produits scalaires lors de la
phase d’apprentissage,
Problème
original :
Après
xformation :
 Mais trouver Φ() pas évident !
21
Φxi  Φxi 
T
Modification due à la transformation

Les nouvelles données z sont toujours classées dans la classe 1 si f0, la
classe 2 sinon :
Original :
Après
xformation :
 
Φ xt j Φ z
T
et la surface de séparation dans le nouvel espace est :
s
D( x )   ˆ j y j K ( x j , x )  bˆ
j 1
22

Extension à une surface de séparation non-linéaire
 Problèmes cependant :



=?
Grand effort de calcul potentiel (d explose !)
SVM à fonctions noyaux résout les deux problèmes


Efficacité computationnelle
La transformation désirée des données est faite implicitement !
Φ( )
Espace d’entrée
Φ( )
Φ( )
Φ( )
Φ( ) Φ( )
Φ(
)
Φ( ) Φ( )
Φ( )
Φ( )
Φ( ) Φ( ) Φ( )
Φ( ) Φ( ) Φ( )
Φ( ) Φ( )
Espace de re-description
L’astuce des fonctions noyau

Définition d’une fonction noyau :


La connaissance de K( ) permet de calculer indirectement un produit
scalaire où intervient Φ( ), sans connaitre l’expression de Φ( )
Or, seuls des produits scalaires interviennent dans la solution du problème
d’optimisation

Un autre avantage d’utiliser K() est qu’il représente intuitivement la similarité
entre les x et y, obtenue de nos connaissances a priori

Cependant, K(x,y) doit satisfaire certaines conditions (conditions de Mercer) pour
que le Φ ( ) correspondant existe
24
Les conditions de Mercer

Pour une fonction K symétrique, il existe une fonction Φ telle que :
m
K(x, x' )  ( x). (x' ) 
 gi (x ). gi (x' )
i1
ssi, pour toute fonction f telle que :
l’on a :
 K(x, x' )

f ( x ) 2 dx est fini
f(x) f (x' ) dx dx'  0

Si cette condition est vérifiée, on peut appliquer la fonction noyaux dans
le SVM

MAIS cela ne dit pas comment construire Φ
25
Exemple de d’utilisation

Définissons la fonction noyau K(x,y) telle que, pour toute paire de vecteurs
x=(x1, x2) et y=(y1, y2) :
K ( x, y)  1  x1 y1  x2 y2 
2

Considérons maintenant une transformation Φ qui prend un vecteur de
dimension 2 et le projette dans un espace de dimension 6 :

( x)  1, 2x1, 2x2 , x12 , x22 , 2x1x2

On peut voir en effectuant le calcul que
( x ), ( y )  1  x1 y1  x2 y2 
2
 K ( x, y )
On peut donc obtenir le résultat sans avoir à passer par l’espace transformé
26
Illustration : le cas du XOR
x2

1
4
4

 4

1


max




y
y
K
(
x
,
x
)
   i   i j i j
i
j 
2 i 1 j 1

 i 1


i 0  i C
 4
  i yi  0

 i 1
x1
1
-1
-1
Index i
xi
y
1
(1,1)
1
2
(1,-1)
-1
3
(-1,-1)
1
4
(-1,1)
-1
Il faut résoudre :

Si on reprend la fonction noyau K ( x, y)  1  x1 y1  x2 y2 2,
on obtient les équations suivantes pour le Lagrangien :
Q   1   2   3   4
1
 (912  21 2  21 3  21 4
2
 9 22  2 2 3  2 2 4  9 32  2 3 4  9 42 )
1  2  3  4  0
27
Illustration : le cas du XOR
Le maximum de Q(a) est obtenu en prenant ses dérivées par rapport
aux i et en trouvant les valeurs de i qui les annulent :

 1  91   2   3   4  0
 1    9      0

1
2
3
4

 1  1   2  9 3   4  0
 1  1   2   3  9 4  0

La valeur optimale des multiplicateurs de Lagrange est :
1
ˆ 1  ˆ 2  ˆ 3  ˆ 4 
8

28
Les 4 données du où exclusif sont donc des vecteurs de support,
puisque aucune valeur trouvée de  n’est nulle
Illustration : le cas du XOR

Dans l’espace de Espace de redescription :

wˆ   ˆ i yi   xi 
i 1

ns

T
ˆ
b  ys  ˆ i yi K ( x i x s )
i 1

s

D
(
x
)

ˆ j y j K ( x j , x )  bˆ



j 1
ns

1 4
1 4
bˆ  1   y j K ( x j , x1 )  1    1 j K ( x j , x1 )  0
8 j 1
8 j 1
et :
D( x) 
(on aurait obtenu le même résultat en utilisant () :
 1 


2
x
 1 


1

  2 x1 x2 
T
ˆ
w  ( x )   0, 0,
, 0, 0, 0 
  x1 x2
2
2

  x2 
 2x 
1 

 2x 
2 

Donc :
1
 ( x1 )  ( x2 )  ( x3 )  ( x4 )
8
  1   1   1   1   0 
 
 
   

 
1
1
1
1
0





















1   2    2    2   2    1 2 
 




8   1   1   1   1   0 
   2    2   2   2   0 
 
 
   

 








   2   2    2   2   0 
wˆ 
(on connait () dans cet exemple, mais il n’est pas requis en
général, car l’équation de la marge dépend seulement de K())
29
1 4
1 4
1 j K ( x j , x)   x1x2
y
K
(
x
,
x
)




j
j
8 j 1
8 j 1

)
La marge optimale est :
 4

  ˆ j y j  xi 


 j 1

1 1 4 4
1
1
  2   yi y j K xi , x j    wˆ 
2 8 i 1 j 1
4
2
1
1
1 4

2
wˆ  wˆ T wˆ    ˆ i yi  xi 
2
2
2  i 1

T
Illustration : le cas du XOR
Séparatrice dans l'espace
d'entrée
D(x) = -x1x2
30
Séparatrice dans l'espace
Φ(x)
2 x1x2  0
Autre Exemple

Supposons 5 nombres x1=1, x2=2, x3=4, x4=5, x5=6, avec
 1, 2, 6  classe 1 (y=1)
 4, 5  classe 2 (y=-1)
 Donc: {(xi, yi)}i=1,…,5 ={(1,1), (2,1), (4,-1), (5,-1), (5,1)}

Utilisons à nouveau le noyau polynomial de degré 2



31
K(x,y) = (1+xTy)2
C est choisi égal à 100
Trouvons d’abord i (i=1, …, 5) :
Exemple

La solution est :

1=0,  2=2.5,  3=0,  4=7.333,  5=4.833


Les vecteur supports sont donc {x2=2, x4=5, x5=6}
La fonction discriminante est

b trouvé en résolvant f(2)=1 ou f(5)=-1 ou f(6)=1, puisque x2, x4,
x5 sont dans
et tous donnent b=9
32
Exemple
Valeur de la fonction discriminante
classe 1
1
33
classe 1
classe 2
2
4
5
6
Exemples de fonctions noyaux

Noyau polynomial de degré d

Noyau à fonction à base radiale de dispersion 


Sigmoïde avec paramètres  et 

Ne satisfait pas la condition de Mercer pour tous  et 
La recherche d’autres fonctions noyau pour diverses
applications est très active !

34
Très proche des RN avec fonctions à base radiale
Classification multi-classes


SVM est à la base un classifieur binaire
On peut changer la formulation pour permettre la
classification multi-classe

L’ensemble des données est divisé en deux parts de multiples
façons, et classé ensuite



35
Un contre tous ou un contre chaque alternative
Un SVM séparé est formé pour chaque division
La classification multi-classes est accomplie en combinant la sortie
de tous les SVM
Example d’application des SVM : Reconnaissance
de l’écriture manuscrite
?
36
?
Sommaire: étapes de la classification





37
Préparer la matrice des patrons
Choisir la fonction noyau à utiliser
Choisir les paramètres de la fonction noyau et la valeur
de C (valeurs suggérées par le logiciel SVM ou essaierreur).
Exécuter l’algorithme d’apprentissage pour trouver i
Les données nouvelles peuvent être classées en fonctions
des  i et des vecteurs supports trouvés
Effet des paramètres de contrôle.
• Apprentissage de
données en damier
• Apprentissage de
deux classes
• SVM à fonction
noyau gaussienne
K ( x, x ' )  e
38

x x '
2 2
2
Effet des paramètres de contrôle

Apprentissage de deux classes


exemples tirés uniformément
sur l'échiquier
SVM à fonctions noyau
gaussienne
K(x, x' )  e


2
En haut : petite valeur
En bas : grande valeur
Les gros points sont des exemples
critiques

39
2
2
Ici deux valeurs de 



x x'
Plus en haut qu'en bas
Une applette de démonstration

http://svm.cs.rhul.ac.uk/pagesnew/GPat.shtml

47 exemples (22 +, 25 -)
Exemples critiques : 4 + et 3 Ici fonction polynomiale de degré 5 et C = 10000


40
Paramètres de contrôle : les fonctions noyau
(5-, 4+)


47 exemples (22 +, 25 -)
Exemples critiques : 4 + et 3 -
(3-, 4+)
(5-, 4+)
Ici fonction polynomiale de degré 2, 5, 8 et C = 10000
(10-, 11+)
(8-, 6+)
(4-, 5+)
Ici fonction Gaussienne de  = 2, 5, 10, 20 et C = 10000
41
Domaines d’application des SVMs

Traitement d’images



42
Reconnaissance de caractères manuscrits
Reconnaissance de scènes naturelles
Reconnaissance de visages

Entrées :

Sortie :
image bidimensionnelle en couleur ou en tons de
gris
classe (chiffre / personne)
Application : images couleurs

Ex. : Base d’images Corel Stock Photo Collection



Codage



200 catégories
100 images / catégorie
Pixel = vecteur dans espace à trois dimensions (RGB)
Image = histogramme (fraction des pixels d’une couleur
donnée)
Invariant / nombreuses opérations
Noyau :
(fonction c2)
43
Domaines d’application des SVMs

Catégorisation de textes



Entrées : document (texte ou html)




44
Classification d’e-mails
Classification de pages web
Approche « sac de mots »
Document = vecteur de mots (lemmatisés pondérés par tf-idf)
Sortie :
Noyau :
catégorie (thème, spam/non-spam)

Produit scalaire des vecteurs

C=
(marge dure)
Domaines d’application des SVMs

Diagnostic médical





Entrées : état du patient (sexe, age, bilan sanguin, …)
Sortie :


45
Évaluation du risque de cancer
Détection d’arythmie cardiaque
Évaluation du risque d’accidents cardio-vasculaires à moins
de 6 ans
Classe : à risque ou non
Probabilité d’accident à échéance donnée
Extensions

Leçon à retenir des SVM:


Un algorithme linéaire dans l’espace de re-description peut
remplacer un algorithme non-linéaire dans l’espace d’entrée
Les algorithme linéaires classiques peuvent être
généralisés en des versions non-linéaires en allant vers
l’espace de re-description



46
ACP à noyaux, k-moyennes à noyaux, etc.
Régression
Détection de « nouveautés »
SVM et régression

Fonction de perte :

Régression linéaire :

Soit à minimiser :

Généralisation :
x


x
x
x
x
x
47
x
x
x
x
0


x
 
Régression vectorielle à support  (-SVR)


Régression linéaire dans l’espace de redescription
À l’encontre de la régression par moindres carrés, la fonction
d’erreur est une fonction de perte  -insensible


Intuitivement, une erreur inférieure à  est ignorée
Cela mène à des points de marge terses similaire à SVM
Fonction de perte  -insensible
Penalité
*
48
-
Penalité


Fonction de perte quadratique
Valeurs hors
cible
Régression vectorielle à support  (-SVR)



49
Soit un ensemble de données {x1, ..., xn} avec valeurs cibles
{u1, ..., un}, on veut réaliser -SVR
Le problème d’optimisation est
Formulation similaire à SVM, donc peut être résolu en tant
que problème QP
Régression vectorielle à support  (-SVR)




50
C permet de contrôler l’influence de l’erreur
Le terme ½||w||2 sert à contrôler la complexité de la
fonction de régression
Après l’apprentissage (solution du problème QP), on trouve
les valeurs i and  i*, qui sont toutes deux zéros si xi ne
contribue pas à la fonction d’erreur
Pour de nouvelles donnés z,
SVM et apprentissage non supervisé

Détection de « nouveautés »
On cherche à séparer au
maximum le nuage de
points de l’origine
51
w /||w||
/||w||
Pourquoi ça marche ?
La marge est liée à la capacité en généralisation

Normalement, la classe des hyperplans de Rd est de dH = d + 1

Mais la classe des hyperplans de marge
est bornée par :
dH ≤ Min (R2 c, d) + 1
1
w
tq. w
2
 c
où R est le rayon de la plus petite sphère englobant l'échantillon
d'apprentissage S

52
Peut être beaucoup plus petit que la dimension d de l'espace
d'entrée X
Forces et faiblesses des SVM

Forces

L’apprentissage est relativement facile




L’algorithme est robuste face aux changements d’échelle
Le compromis entre la complexité du classifieur et l’erreur de
classification peut être gérée explicitement
Méthode générale



Des données non conventionnelles, telles des chaînes et des arbres
peuvent servir d’entrées au SVM, à la place des vecteurs de traits
Résultats en général équivalents et souvent meilleurs
Faiblesses



53
Pas de minima locaux, comme pour les RNA
Il faut trouver la “bonne” fonction noyau
Problèmes i.i.d. (données indépendantes et identiquement
distribuées)
Deux classes à la fois
Conclusion




SVM sont une alternative aux réseaux de neurones
Concepts clés des SVM : maximiser la marge et exploiter
l’astuce des noyaux
Domaine de recherche à la mode
Plusieurs mises en oeuvre existent déjà et sont disponible sur
le WEB !
54
Sources documentaires


55
Ouvrages / articles

Cornuéjols & Miclet (02) : Apprentisage artificiel. Concepts et algorithmes.
Eyrolles, 2002.

Cristianini & Shawe-Taylor (00) : Support Vector Machines and other kernelbased learning methods. Cambridge University Press, 2000.

Herbrich (02) : Learning kernel classifiers. MIT Press, 2002.

Schölkopf, Burges & Smola (eds) (98) : Advances in Kernel Methods : Support
Vector Learning. MIT Press, 1998.

Schölkopf & Smola (02) : Learning with kernels. MIT Press, 2002.

Smola, Bartlett, Schölkopf & Schuurmans (00) : Advances in large margin
classifiers. MIT Press, 2000.

Vapnik (95) : The nature of statistical learning. Springer-Verlag, 1995.
Sites web

http://www.kernel-machines.org/

http://www.support-vector.net
(point d’entrée)
(point d’entrée)
Implémentation des SVMs

Minimisation de fonctions différentiables convexes à plusieurs
variables




56
Pas d’optima locaux
Mais :

Problèmes de stockage de la matrice noyau (si milliers d’exemples)

Long dans ce cas
D’où mise au point de méthodes spécifiques

Gradient sophistiqué

Méthodes itératives, optimisation par morceaux
Plusieurs packages publics disponibles

SVMTorch

SVMLight

SMO

…
Logiciels




Une liste de réalisations de SVM se trouve à
http://www.kernel-machines.org/software.html
Certaines (tel LIBSVM) peuvent gérer la classification multiclasse
SVMLight figure parmi les premières mises en oeuvres de SVM
(écrit en c ; http://svmlight.joachims.org/)
IL existe plusieurs boîtes à outils Matlab pour les SVM sur le
web
57
Autres ressources





http://www.kernel-machines.org/
http://www.support-vector.net/
http://www.support-vector.net/icml-tutorial.pdf
http://www.kernel-machines.org/papers/tutorial-nips.ps.gz
http://www.clopinet.com/isabelle/Projects/SVM/applist.html
58