Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Resumen
Este tutorial presenta una introduccin al mundo de las mquinas de vectores soporte
(SVM, del ingls
), aplicadas a resolver tareas tanto de clasicacin
como de regresin. En el primer tipo de tareas, la descripcin se restringe al caso de
clasicacin binaria y, atendiendo al tipo de separabilidad de los ejemplos de entrada, se
consideran distintas opciones. As, en primer lugar, se aborda el caso ideal de ejemplos
perfectamente separables linealmente para, seguidamente, abordar el caso ms realista de
ejemplos que, aunque afectados por ruido, se consideran linealmente cuasi-separables y,
nalmente, se considera el caso de ejemplos no separables linealmente, donde las SVM
demuestran su gran potencialidad. La descripcin de las SVMs aplicadas a la tarea de
regresin corre tambin de forma paralela, abarcando los casos tanto de regresin lineal
como no lineal. Finalmente, se presentan algunas herramientas software de uso libre que
implementan este tipo de paradigma de aprendizaje y con las que el usuario puede empezar
a experimentar.
1. Introduccin
Las mquinas de vectores soporte (SVM, del ingls
tienen su
origen en los trabajos sobre la teora del aprendizaje estadstico y fueron introducidas en los
aos 90 por Vapnik y sus colaboradores [Boser et al., 1992, Cortes & Vapnik, 1995]. Aunque
originariamente las SVMs fueron pensadas para resolver problemas de clasicacin binaria,
actualmente se utilizan para resolver otros tipos de problemas (regresin, agrupamiento, multiclasicacin). Tambin son diversos los campos en los que han sido utilizadas con xito,
tales como visin articial, reconocimiento de caracteres, categorizacin de texto e hipertexto,
clasicacin de protenas, procesamiento de lenguaje natural, anlisis de series temporales.
De hecho, desde su introduccin, han ido ganando un merecido reconocimiento gracias a sus
slidos fundamentos tericos.
Dentro de la tarea de clasicacin, las SVMs pertenecen a la categora de los clasicadores
lineales, puesto que inducen separadores lineales o hiperplanos, ya sea en el espacio original
de los ejemplos de entrada, si stos son separables o cuasi-separables (ruido), o en un espacio
transformado (espacio de caractersticas), si los ejemplos no son separables linealmente en el
espacio original. Como se ver ms adelante, la bsqueda del hiperplano de separacin en
estos espacios transformados, normalmente de muy alta dimensin, se har de forma implcita
utilizando las denominadas funciones
kernel.
riesgo estructural. La idea es seleccionar un hiperplano de separacin que equidista de los ejemplos ms
cercanos de cada clase para, de esta forma, conseguir lo que se denomina un margen mximo
a cada lado del hiperplano. Adems, a la hora de denir el hiperplano, slo se consideran los
ejemplos de entrenamiento de cada clase que caen justo en la frontera de dichos mrgenes. Estos
ejemplos reciben el nombre de
hard margen ).
Dado
que en la prctica es normal que los ejemplos de entrenamiento puedan contener ruido, la
seccin 3 se dedica abordar el problema de clasicacin binaria para ejemplos cuasi-separables
linealmente, mediante lo que se denomina SVMs de "margen blando" (
lineal como el caso de regresin no lineal. En la seccin 6 se describe algunos de los paquetes
software de uso libre ms relevante dedicados a la implementacin de SVMs. Pueden ser un
buen punto de comienzo para que el lector se familiarice, desde un punto de vista prctico,
con este paradigma de aprendizaje. Finalmente, la seccin 7 corresponde a un anexo dedicado
a formular, de forma resumida, aquellos resultados de la teora de la optimizacin necesarios
para solucionar los diferentes problemas de optimizacin que surgen como consecuencia de
abordar los problemas de clasicacin y de regresin mediante SVMs.
yi {+1, 1},
donde
xi Rd
se puede denir un hiperplano de separacin (ver g. 1a) como una funcin
(1)
(a)
(b)
donde
xi
< w, xi > +b 0
< w, xi > +b 0
si
si
yi = +1
yi = 1, i = 1, ..., n
(2)
o tambin,
i = 1, . . . , n
(3)
o de forma ms compacta
yi D(xi ) 0,
i = 1, . . . , n
(4)
Tal y como se puede deducir fcilmente de la g. 1b, el hiperplano que permite separar los
ejemplos no es nico, es decir, existen innitos hiperplanos separables, representados por todos
aquellos hiperplanos que son capaces de cumplir las restricciones impuestas por cualquiera de
las expresiones equivalentes (3-4). Surge entonces la pregunta sobre si es posible establecer
algn criterio adicional que permita denir un hiperplano de separacin ptimo. Para ello,
primero, se dene el concepto de
margen
ptimo
+1
cercano de la clase
clase
y, a
llega as al absurdo de poder aumentar el tamao del margen cuando, de partida, habamos
supuesto que ste era mximo (hiperplano ptimo). Se aplica un razonamiento similar en el
Tmax
Tmax
erp
Hip
ptim
ano
(a)
(b)
caso de suponer que la distancia del hiperplano ptimo al ejemplo ms cercano de la clase
fuese menor que la correspondiente al ejemplo ms cercano de la clase
+1.
siendo
x0
||
b,
kk
|D(x0 )|
kwk
D(x)
y un
(5)
dene el hiperplano
D(x)
el vector que,
perpendicular al hiperplano considerado. Haciendo uso de la expresiones (4) y (5), todos los
ejemplos de entrenamiento cumplirn que:
yi D(xi )
,
kwk
i = 1, . . . , n
(6)
R,
w.
a una sola, y teniendo en cuenta que (6) se puede expresar tambin como
yi D(xi ) kwk ,
la escala del producto de
y la norma de
i = 1, . . . , n
(7)
decir
kwk = 1
(8)
w,
1
kwk
4
(9)
Tmax
Tmax
1 / ||w||
D(x)> +1
|D(xi)| / ||w||
1
)= +
D(x
o
lan
er p
Hip
)=0
(x
o, D
im
p t
xi
1
)= x
(
D
D(x)< -1
Figura 3: La distancia de cualquier ejemplo,xi , al hiperplano de separacin ptimo viene dada por
|D(xi )| / kwk. En particular, si dicho ejemplo pertenece al conjunto de vectores soporte (identicados
por siluetas slidas), la distancia a dicho hiperplano ser siempre 1/ kwk. Adems, los vectores soporte
aplicados a la funcin de decisin siempre cumplen que |D(x)| = 1.
Por tanto, de acuerdo a su denicin, un hiperplano de separacin ptimo (ver g. 3) ser
aquel que posee un margen mximo y, por tanto, un valor mnimo de
kwk
y, adems, est
sujeto a la restriccin dada por (7), junto con el criterio expresado por (8), es decir,
yi D(xi ) 1,
i = 1, . . . , n
(10)
o lo que es lo mismo
i = 1, . . . , n
(11)
El concepto de margen mximo est relacionado directamente con la capacidad de generalizacin del hiperplano de separacin, de tal forma que, a mayor margen, mayor distancia
de separacin existir entre las dos clases. Los ejemplos que estn situados a ambos lados del
hiperplano ptimo y que denen el margen o, lo que es lo mismo, aquellos para los que la
restriccin (11) es una igualdad, reciben el nombre de
vectores soporte
que estos ejemplos son los ms cercanos al hiperplano de separacin, sern los ms difciles de
clasicar y, por tanto, deberan ser los nicos ejemplos a considerar a la hora de construir dicho
hiperplano. De hecho, se demostrar ms adelante, en esta misma seccin, que el hiperplano
de separacin ptimo se dene slo a partir de estos vectores.
La bsqueda del hiperplano ptimo para el caso separable puede ser formalizado como el
problema de encontrar el valor de
mn f (w) =
s.a.
1
1
2
kwk2 =
1
2
f (w) = kwk
sujeto a las
< w, w >
(12)
i = 1, . . . , n
Obsrvese que es equivalente minimizar f (w) = kwk o el funcional propuesto en (12). El proceso de
minimizacin de este funcional equivalente, en lugar del original, permitir simplicar la notacin posterior,
obteniendo expresiones ms compactas.
5
Este problema de optimizacin con restricciones corresponde a un problema de programacin cuadrtico y es abordable mediante la
teora de la optimizacin.
que un problema de optimizacin, denominado primal, tiene una forma dual si la funcin a
optimizar y las restricciones son funciones estrictamente convexas. En estas circunstancias,
resolver el problema dual permite obtener la solucin del problema primal.
As, puede demostrarse que el problema de optimizacin dado por (12) satisface el criterio
de convexidad y, por tanto, tiene un dual. En estas condiciones, y aplicando los resultados descritos en el anexo, al nal de este tutorial, se pueden enumerar los siguientes pasos encaminados
a resolver el problema primal:
En el primer paso, se construye un problema de optimizacin sin restricciones utilizando
la funcin Lagrangiana :
X
1
L (w, b, ) = < w, w >
i [yi (< w, xi > +b) 1]
2
(13)
i=1
donde los
i 0
X
L (w , b , )
w
i yi xi = 0, i = 1, . . . , n
w
(14)
i=1
L (w , b , ) X
i yi = 0, i = 1, . . . , n
b
(15)
i=1
i [1 yi (< w , xi > +b )] = 0, i = 1, . . . , n
(16)
en trminos de
i :
w =
n
X
i yi xi , i = 1, . . . , n
(17)
i=1
y, adems, establecen restricciones adicionales para los coecientes
n
X
i :
i yi = 0, i = 1, . . . , n
(18)
i=1
Con las nuevas relaciones obtenidas, se construir el problema dual. As, bastara usar (17)
para expresar la funcin Lagrangiana slo en funcin de
i .
(13) como
L (w, b, ) =
i=1
i=1
i=1
X
X
X
1
< w, w >
i yi < w, xi > b
i yi +
i
2
El signo menos del segundo sumando es debido a que las restricciones de (12) estn expresadas como
restricciones del tipo g(x) 0 en lugar de g(x) 0 .
Teniendo en cuenta que, segn la condicin (18), el tercer trmino de la expresin anterior es
nulo, la substitucin de (17) en dicha expresin resulta ser
1
L () =
2
n
X
!
i yi xi
n
X
j=1
i=1
i=1
!
i yi xi
n
X
j yj xj +
j=1
i=1
n
X
i=1
! n
n
X
X
i yi xi
j yj xj +
i
i=1
n
X
n
X
j yj xj
n
X
1
L () =
2
L () =
j=1
1
2
n
X
i=1
i j yi yj < xi , xj >
(19)
i=1
m
ax L () =
s.a.
Pn
i=1 i
1
2
Pn
i,j=1 i j yi yj
< xi , xj >
(20)
Pn
i=1 i yi
=0
i 0, i = 1, . . . , n
Al igual que el problema primal, este problema es abordable mediante tcnicas estndar de
programacin cuadrtica. Sin embargo, como se puede comprobar, el tamao del problema
de optimizacin dual escala con el nmero de muestras,
lo hace con la dimensionalidad,
d.
n,
decir, el coste computacional asociado a su resolucin es factible incluso para problemas con
un nmero muy alto de dimensiones.
La solucin del problema dual,
mal. Para ello, bastar sustituir dicha solucin en la expresin (17) y, nalmente, sustituir el
resultado as obtenido en (1), es decir:
D(x) =
n
X
i yi < x, xi > +b
(21)
i=1
Volviendo a las restricciones (16), resultantes de aplicar la segunda condicin KKT, se puede
armar que si
yi (< w , xi > +b ) = 1
es decir, el correspondiente ejemplo,
(xi , yi ),
(22)
blema primal (12), pero considerando el caso igual que. Por denicin, los ejemplos que
satisfacen las restricciones expresadas en (12), considerando el caso igual que, son los vectores soporte y, por consiguiente, se puede armar que slo los ejemplos que tengan asociado un
i > 0
sern vectores soporte. De este resultado, tambin puede armarse que el hiperplano
de separacin (21) se construir como una combinacin lineal de slo los vectores soporte del
conjunto de ejemplos, ya que el resto de ejemplos tendrn asociado un
j = 0.
Para que la denicin del hiperplano (21) sea completa, es preciso determinar el valor del
parmetro
b .
de (22):
(23)
(xvs , yvs ) representa la tupla de cualquier vector soporte, junto con su valor de clase, es
i distinto de cero. En la prctica,
es ms robusto obtener el valor de b promediando a partir de todos los vectores soporte, Nvs .
donde
Nvs
1 X
b =
(yvs < w , xvs >)
Nvs
(24)
i=1
Finalmente, haciendo uso de (17) en (23), o en (24), permitir tambin calcular el valor de
variables
(xi , yi ),
i 0, i = 1, . . . , n
su variable de holgura,
i ,
(25)
caso separable, medida desde el borde del margen que corresponde a la clase
yi
acuerdo a esta denicin, variables de holgura de valor cero corresponden a ejemplos separables,
mayores que cero corresponden a ejemplos no separables y mayores que uno corresponden a
ejemplos no separables y, adems, mal clasicados. Por tanto, la suma de todas las variables de
holgura,
Pn
no-separables. As, en una primera aproximacin, cuanto mayor sea el valor de esta suma,
mayor ser el nmero de ejemplos no separables.
Relajadas las restricciones, segn (25), ya no basta con plantear como nico objetivo maximizar el margen, ya que podramos lograrlo a costa de clasicar errneamente muchos ejemplos.
Por tanto, la funcin a optimizar debe incluir, de alguna forma, los errores de clasicacin que
xk
k=1+|D(xk)|
D(x)> +1
j=1+|D(xj)|
)=
D(x
xj
+1
xi
i=1-|D(xi)|
)=
D(x
xi
1
)= x
(
D
D(x)< -1
Figura 4: En el caso de ejemplos no-separables, las variables de holgura miden la desviacin desde
el borde del margen de la clase respectiva. As, los ejemplos xi , xj y xk son, cada uno de ellos, noseparables (i , j , k > 0. Sin embargo, xi est correctamente clasicado, mientras que xj y xk estn
en el lado incorrecto de la frontera de decisin y, por tanto, mal clasicados.
X
1
f (w, ) = kwk2 + C
i
2
(26)
i=1
donde
es una constante, sucientemente grande, elegida por el usuario, que permite controlar
0).
),
muy grande
estaramos considerando el
muy pequeo
).
0),
es decir
b,
que minimiza el funcional (26) y sujeto a las restricciones dadas por (25),
1
2
s.a.
< w, w > +C
Pn
mn
i=1 i
(27)
conocido como
i=1
i=1
i=1
X
X
X
1
L (w, b, , , ) = < w, w > +C
i
i [yi (< w, xi > +b) + i 1]
i i
2
(28)
X
L
w
i yi xi = 0
w
(29)
i=1
L X
i yi = 0
b
(30)
L
C i i = 0
i
(31)
i [1 yi (< w , xi > +b ) i ] = 0, i = 1, . . . , n
(32)
i=1
i i = 0, i = 1, . . . , n
(33)
Paso 3: Establecer las relaciones entre las variables del problema primal
del problema dual
(, ).
(w, b, )
con las
w =
n
X
i yi xi
(34)
i=1
Paso 4: Establecer restricciones adicionales de las variables duales. Para ello se hace uso
de las relaciones (30-31):
n
X
i yi = 0
(35)
C = i + i
(36)
i=1
Paso 5: Del resultado obtenido en el paso 3, eliminar las variables primales de la funcin
Lagrangiana para obtener as el problema dual que queremos maximizar:
L () =
n
X
i=1
n
1 X
i j yi yj < xi , xj >
2
i,j=1
m
ax
s.a.
Pn
i=1 i
1
2
Pn
i,j=1 i j yi yj
Pn
i=1 i yi
=0
0 i C, i = 1, . . . , n
< xi , xj >
(37)
Obsrvese que, en este caso, aparecen dos familias de multiplicadores de Lagrange, i 0 y i 0, con
i = 1, . . . , n, como consecuencia de las dos familias de restricciones que aparecen en (27). Nuevamente, el signo
menos del tercer y cuarto sumando obedece a que las dos familias de restricciones en (27) estn expresadas
como restricciones del tipo g(x) 0 en lugar de g(x) 0 .
4
La restriccin de que i C se obtiene de (36) y de las condiciones i , i 0
10
Como en el caso anterior, la solucin del problema dual nos permitir expresar el hiperplano
de separacin ptima en trminos de
n
X
D(x) =
i yi < x, xi > +b
(38)
i=1
Antes de obtener una expresin para el clculo del valor de
b ,
i = 0, entonces C = i .
i = 0. Por tanto, se puede
xi
cuyo
= 0).
xi ,
i = 0.
xi
i = C
i 6= 0, de
cuyo
i = C .
i > 0
A su vez, de este
1 yi (< w , xi > +b ) i = 0
es decir
1 yi D(xi ) = i
xi , aunque no
yi D(xi ) 0, entonces i = 1 |D(xi )|. En el segundo
est mal clasicado, es decir, yi D(xi ) < 0, entonces
Aqu se pueden considerar dos casos (ver g. 4). En el primero, el ejemplo,
separable, est bien clasicado, es decir,
caso, el ejemplo,
xi ,
es no separable y
i = 1 + |D(xi )|.
= 0),
se deduce que
1 yi (< w , xi > +b ) = 0
xi ,
b = yi < w , xi >
b ,
0 < i < C .
es decir
(39)
Obsrvese que, a diferencia del caso perfectamente separable, ahora, para el clculo de
es suciente con elegir cualquier ejemplo
elegir cualquier ejemplo
xi
xi
b = yi
donde los coecientes
n
X
i yi < xj , xi >
j=1
i , i = 1, . . . , n,
no
Ahora, se habr de
0 < i < C .
b en trminos de las variables duales:
i > 0.
b ,
(40)
i 6= 0.
11
corresponderan a vectores
a ejemplos no separables.
Espacio de caractersticas
Espacio de entradas
X1
1(x)
2(x)
X2
: X
x = (x1,x2)
Figura 5:
vectors ).
bounded support
: X F
espacio
12
F,
donde
i (x), i = 1, ..., m,
tal que
i (x)
hiperplano de separacin lineal en este nuevo espacio. La frontera de decisin lineal obtenida
en el espacio de caractersticas se transformar en una frontera de decisin no lineal en el
espacio original de entradas (ver g. 5).
En este contexto, la funcin de decisin (1) en el espacio de caractersticas vendr dada
por
(41)
D(x) =
n
X
i yi K(x, xi )
(42)
i=1
donde
K(x, x0 )
se denomina
funcin kernel.
X,
K : XX R
K(x, x0 ) =< (x), (x0 ) >= 1 (x)1 (x0 ) + ... + m (x)m (x0 )
donde
:XF
(43)
Por tanto, una funcin kernel puede sustituir convenientemente el producto escalar en (38).
As, dado el conjunto de funciones base,
m
ax
s.a.
Pn
i=1 i
1
2
Pn
i,j=1 i j yi yj K(xi , xj )
(44)
Pn
i=1 i yi
=0
0 i C, i = 1, . . . , n
i , i = 1, . . . n, se obtendrn
como solucin al problema de optimizacin cuadrtica dado por (44), conocidos el conjunto de
ejemplos de entrenamiento
(xi , y) , i = 1, . . . , n,
el kernel
K,
y el parmetro de regularizacin
C . Actualmente, no existe una forma terica de encontrar el valor de C . Slo existe la heurstica
C = para el caso linealmente separable).
A modo de ejemplo, supongamos el caso de vectores de entrada de dos dimensiones, x =
(x1 , x2 ), y el conjunto de funciones base formado por todos los polinomios de grado tres, es
decir,
1 (x1 , x2 ) = 1
4 (x1 , x2 ) = x1 x2
7 (x1 , x2 ) = x21 x2
10 (x1 , x2 ) = x32
2 (x1 , x2 ) = x1
5 (x1 , x2 ) = x21
8 (x1 , x2 ) = x1 x22
3 (x1 , x2 ) = x2
6 (x1 , x2 ) = x22
9 (x1 , x2 ) = x31
Obsrvese que se ha prescindido del termino b puesto que ste puede ser representado incluyendo en la
base de funciones de transformacin la funcin constante 1 (x) = 1
13
que sea capaz de separar los ejemplos. La frontera de decisin lineal asociada a dicho hiperplano
se transformar en un lmite de decisin polinomial de grado tres en el espacio de entradas.
Obsrvese tambin que si, en este ejemplo, un problema de tan solo dos dimensiones se transforma en uno de diez dimensiones, un pequeo aumento en la dimensionalidad del espacio de
entrada puede provocar un gran aumento en la dimensionalidad del espacio de caractersticas.
En el caso lmite, existen incluso espacios de caractersticas de dimensin innita. Es por esta
razn por la que, ahora, el problema de optimizacin se expresa slo en su forma dual, ya que,
como se ha visto en las dos secciones anteriores, la solucin de este problema no depende de
la dimensionalidad del espacio sino de la cardinalidad del conjunto de vectores soporte.
Si la transformacin del espacio de entradas al espacio de caractersticas puede denirse
a partir de un conjunto innito de funciones base, surge la pregunta de cmo transformar los
ejemplos de entrada, de dimension nita, en otro espacio de dimensin innita. El siguiente
teorema responde a esta pregunta.
(45)
Una consecuencia importante de este teorema es que para construir una funcin kernel no
es necesario hacerlo a partir de un conjunto de funciones base,
simplemente basta denir una funcin que cumpla las dos condiciones del teorema. Por tanto,
para evaluar una funcin kernel no se necesitar conocer dicho conjunto de funciones base
y, an conocido ste, tampoco sera necesario realizar explcitamente el clculo del producto
escalar correspondiente, es decir, ser suciente con evaluar dicha funcin. En denitiva, para
resolver el problema dual (44), no slo no se necesita conocer el conjunto de funciones base
de transformacin, sino que tampoco es necesario conocer las coordenadas de los ejemplos
transformados en el espacio de caractersticas. Slo se necesitar conocer la forma funcional
del kernel correspondiente,
K : X X R,
(46)
p
Kp (x, x0 ) = < x, x0 > +
(47)
2
K(x, x0 ) = exp
x x0
, > 0
(48)
-p:
kernel gaussiano:
0
Una funcin K : X X R es simtrica si K(x, x0 ) = K(x
x0 X
Pn , x)
Px,
n
Una funcin K : X X R es semidenida positiva si i=1 i=1 ci cj K(xi , xj ) 0, para cualesquiera
conjuntos x1 , . . . , xn X y c1 , . . . cn R, siendo n > 0.
14
2
1.5
1
x2
0.5
0
0.5
1
1.5
2
2
Figura 6:
0
x1
kernel sigmoidal:
(49)
1
2
3
4
(x1 , x2 )
(+1, +1)
(1, +1)
(1, 1)
(+1, 1)
y
+1
1
+1
1
De la g. 6, resulta obvio que es imposible resolver este problema con un lmite de decisin
lineal en el espacio original de entradas. La solucin que se propone es crear un clasicador
p = 2, = 1 y = 1:
2
K2 (x, x0 ) = < x, x0 > +1
Los valores de
i , i = 1, . . . n,
4
X
m
ax
i=1
s.a.
4
X
i=1
(50)
i yi = 0,
4
1 X
i j yi yj K2 (x, xi )
2
i,j=1
0 i C, i = 1, . . . , 4
15
para el que i
= 0,
i = 0,125, i = 1, . . . 4.
namiento corresponden a vectores soporte. Por tanto, la funcin de decisin vendr dada por
(42), particularizada para la solucin obtenida y el kernel elegido, es decir:
D(x) =
n
X
i yi K(x, xi ) = 0,125
i=1
4
X
yi K2 (x, xi )
(51)
i=1
Obsrvese que con esta expresin habramos resuelto el problema de clasicacin planteado
inicialmente, es decir, bastara evaluarla con cualquier ejemplo (de clasicacin conocida o
desconocida) y asignarle la clase correspondiente, de acuerdo a lo indicado en (2). Sin embargo,
aprovecharemos el problema XOR para obtener otros resultados relacionados con diferentes
conceptos descritos anteriormente. As, por ejemplo, de la denicin de funcin kernel (43) y del
kernel aqu empleado (50), es posible obtener el conjunto base de funciones de transformacin:
2
K(x, x0 ) =< (x), (x0 ) >= < x, x0 > +1 =
< (x1 , x2 ) , x01 , x02 > +1 =
2
2
x21 x01 + x22 x02 + 2x1 x2 x01 x02 + 2x1 x01 + 2x2 x02 + 1 =
2
2
< 1, 2x1 , 2x2 , 2x1 x2 , x21 , x22 , 1, 2x01 , 2x02 , , 2x01 x02 , x01 , x02
>
es decir,
2 = {1 (x), . . . , 6 (x)},
donde
2 (x1 , x2 ) = 2x1
5 (x1 , x2 ) = x21
1 (x1 , x2 ) = 1
4 (x1 , x2 ) = 2x1 x2
3 (x1 , x2 ) = 2x2 ,
6 (x1 , x2 ) = x22
(52)
D(x) = 0,125
P4
i=1 yi K2 (x, xi )
= 0,125
P4
i=1 yi
0,125 1 (x) + 22 (x) + 23 (x) + 24 (x) + 5 (x) + 6 (x)+
(1 (x)) +
1 (x)
(1 (x))
22 (x)
22 (x)
22 (x) +
23 (x) +
23 (x) +
23 (x) +
(53)
0,125 4 24 (x) =
24 (x) 5 (x) 6 (x) =
1
2
4 (x)
Del resultado obtenido, se puede armar que, de las seis dimensiones del espacio de caractersticas, la funcin lineal de decisin en dicho espacio se expresa en trminos de slo una
de ellas,
4 (x).
Es decir, slo se necesita una dimensin del espacio transformado para poder
separar los ejemplos del conjunto de entrenamiento original (ver g. 7a). Este hecho se conrma al calcular los ejemplos transformados de los ejemplos originales en el nuevo espacio de
caractersticas, mostrados en la siguiente tabla:
16
2
D(x1,x2)= 1
D(x1,x2)= +1
1.5
1
D(x)=0
0.5
D(x)=+1
x2
D(x)= 1
D(x1,x2)= 0
0.5
=
1
1.5
1.5
0.5
0
4(x)
0.5
1.5
D(x1,x2)= +1
2
2
1.5
D(x1,x2)= 1
0.5
(a)
0
x1
0.5
1.5
(b)
Solucin al problema XOR: (a) hiperplano de separacin en el espacio de caractersticas, junto con
su margen asociado (los cuatro ejemplos son vectores soporte) (b) funcin de decisin no lineal en el espacio de
ejemplos original resultante de transformar el hiperplano obtenido en (a) en coordenadas del espacio original.
Figura 7:
Ejemplo
Espacio de entradas
Espacio de caractersticas
Clase
#
1
2
3
4
(x1 , x2 )
(+1, +1)
(1, +1)
(1, 1)
(+1, 1)
2,
2,
1,
1
1, 2, 2, 2, 1, 1
y
+1
1
+1
1
D(x) = 0
en (53), es decir:
1
4 (x) = 0
2
4 (x) = 0
y para obtener las ecuaciones de las fronteras que delimitan el margen, habr que calcular
D(x) = +1
D(x) = 1,
es decir:
4 (x) = +2
4 (x) = 2
De la g. 7a, resulta fcil deducir que el valor del margen mximo es
2. No obstante, el
valor de dicho margen mximo se puede calcular matemticamente. Para ello, bastar calcular
el valor de
kw k
i = 1, . . . 4,
w =
4
X
es decir,
i yi xi
i=1
donde los valores de
1
= 0, 0, 0, , 0, 0
2
expresados respecto a las coordenadas del espacio de caractersticas. Del resultado anterior,
resulta inmediato obtener el valor del margen mximo:
max =
1
=
2
kw k
17
4 (x),
D(x) = x1 x2
As, las ecuaciones de las fronteras de separacin vendrn dadas por
x1 x2 = 0
D(x) = 0,
es decir
x1 = 0
x2 = 0
D(x) = +1
D(x) = 1,
es decir
x1 x2 = +1 x2 = 1/x1
x1 x2 = 1 x2 = 1/x1
Support Vector Regression ). As, dado un conjunto de ejemplos de entrenamiento S = {(x1 , y1 ) , . . . , (xn , yn )},
gresin. En estos casos, es muy comn designarlas por el acrnimo SVR (del ingls
donde
x i Rd
yi R ,
yi
w = (w1 , . . . , wd )
lineal:
(54)
Para permitir cierto ruido en los ejemplos de entrenamiento se puede relajar la condicin
de error entre el valor predicho por la funcin y el valor real. Para ello, se utiliza la denominada
2,
L (y, f (x)) =
si
|y f (x)|
|y f (x)|
(55)
en otro caso
La principal razn para elegir esta funcin es la de permitir cierta dispersin en la funcin solucin, de tal forma que todos los ejemplos que quedan connados en la regin
por
tubular
denida
nmero de stos.
Dado que en la prctica es muy difcil que los ejemplos de entrenamiento se ajusten al
modelo lineal con un error de prediccin igual a cero, se recurre al concepto de margen blando,
ya utilizado anteriormente al resolver el problema de clasicacin. Para ello, se denen dos
forma similar, la variable i > 0 cuando el valor real del ejemplo es mayor que su prediccin
en una cantidad superior a , es decir, yi f (xi ) > . En otro caso, su valor ser cero. Dado
variables de holgura,
18
Figura 8: SVR con margen blando: se muestra la relacin entre las variables de holgura,
asociadas a ejemplos que quedan fuera de la zona tubular
-insensible
i , j+ ,
y la funcin de prdida,
L .
que no puede ocurrir simultneamente que la prediccin de un ejemplo sea simultneamente
mayor (i > 0) y menor (i > 0) que su valor real, se puede armar que i i = 0.
Tal y como ocurra en el problema de clasicacin con margen blando, aqu tambin la
suma de todas las variables de holgura permitir, de alguna manera, medir el coste asociado
al nmero de ejemplos con un error de prediccin no nulo. Por tanto, la funcin a optimizar
ser la misma que la del problema de clasicacin con margen blando (26), con la salvedad de
que aqu tenemos dos tipos de variables de holgura. En denitiva, el problema primal, en el
caso de regresin, queda denido como:
Pn
i+ + i
mn
1
2
s.a.
< w, w > +C
i=1
(56)
La transformacin al problema dual requiere los mismos pasos que se han seguido hasta ahora
en secciones anteriores, es decir:
Paso 1: Obtencin de la funcin Lagrangiana
L w, b, + , , + , , + , =
1
2
< w, w > +C
Pn
+
i=1 i
i=1 i
Pn
Pn
Pn Pn
i=1
i=1
i+ + i +
(< w, xi > +b) yi i+ +
yi (< w, xi > +b)
+ +
i=1 i i
(57)
i=1 i i
Pn
i=1
i=1
X
X
L
w+
i+ xi
i xi = 0
w
19
(58)
i=1
i=1
L X + X
i
i = 0
b
(59)
L
C i+ i+ = 0
i+
(60)
L
C i i = 0
i
(61)
i+ (< w , xi > +b) yi i+ = 0
i yi (< w , xi > +b ) i = 0
(62)
(63)
i+ i+ = 0
(64)
i i = 0
(65)
Paso 3: Establecer las relaciones entre las variables del problema primal
las del problema dual
w, b, + ,
con
n
X
w=
i i+ xi
i=1
(66)
Paso 4: Establecer restricciones adicionales de las variables duales. Para ello se hace uso
de (59)-(61), es decir:
n
X
i+ i = 0
i=1
(67)
i+ = C i+
(68)
i = C i
(69)
Paso 5: Del resultado obtenido en el paso 3, eliminar las variables primales de la funcin
Lagrangiana:
L (+ , ) =
Pn
i=1
1
2
Pn
P
i i+ yi ni=1 i + i+
i,j=1
i i+
j j+ < xi , xj >
(70)
m
ax
s.a.
+
ni=1 i + i+
i=1 i i yi
+
1 Pn
j j+ < xi , xj >
i,j=1 i i
2
Pn
i=1 i i
i+ , i C,
Pn
0
(71)
=0
i = 1, . . . , n
f (x) =
n
X
i=1
i +
< x, xi > +b
i
(72)
ello, se hace uso de las restricciones obtenidas como resultado de aplicar la segunda condicin
KKT (62)-(65). Utilizando las expresiones (68)-(69), las dos ltimas se pueden reescribir como:
C i+ i+ = 0
C i i = 0
i+ i = 0,
(73)
(74)
para cada
una de las ecuaciones (62)-(63). Por otro lado, a partir de (73)-(74), se puede armar que si
un ejemplo
>0
+
y i
(< w , xi > +b ) yi 0
(<
w , xi
>
+b )
i+ = 0
si
i+ < C
(75)
+
si i
yi 0
>0
o lo que es lo mismo:
si
0 < i+ C
(76)
es decir:
b = yi < w , xi > +
Trabajando de forma anloga para
i ,
0 < i+ < C
(77)
b = yi < w , xi >
Obsrvese que el valor de
si
si
0 < i < C
(78)
i+ i = 0. As, si se cumple
< C , entonces i = 0 y, por tanto, no
0<
i+
< i < C ),
entonces
i+ = 0
f (x) =
n
X
i=1
i +
i K(x, xi )
(79)
la inclusin de una funcin constante en el conjunto de funciones base como, por ejemplo,
21
(x) = 1.
Los coecientes
i , +
i
m
ax
s.a.
+
ni=1 i + i+
i=1 i i yi
+
1 Pn
j j+ K(xi , xj )
i,j=1 i i
2
Pn
i=1 i i
+
i , i C,
Pn
0
(80)
=0
i = 1, . . . , n
que no es ms que el problema dual (71), en el que los productos escalares se sustituyen por
funciones kernel.
A modo de resumen, puede decirse que para resolver problemas de regresin mediante SVRs
hay que seleccionar, adems del kernel ms adecuado (en el caso de regresin no lineal), tanto
como
C.
ruido de los datos. En la mayora de casos prcticos es posible obtener una medida aproximada
de la varianza del ruido a partir de los datos de entrenamiento. Para problemas de regresin
sin ruido (problemas de interpolacin) el valor
se necesitarn, y viceversa. Por otro lado, la metodologa usada para seleccionar el valor de
ms adecuado, se basa normalmente en tcnicas de validacin cruzada.
LIBSVM
Enlace : http://www.csie.ntu.edu.tw/~cjlin/libsvm/
La librera LIBSVM es un paquete software pensado para resolver problemas de clasicacin y regresin mediante mquinas de vectores soporte. Entre sus principales caractersticas,
cabe citar que es un software de cdigo abierto (disponible en C++ y Java); implementa diferentes formulaciones SVM con la posibilidad de usar diferentes tipos de kernels; permite la
clasicacin multiclase y la posibilidad de usar tcnicas de validacin cruzada para la seleccin
de modelos. Tambin ofrece interfaces para una gran cantidad de lenguajes de programacin
(Python, R, MATLAB, Perl, Ruby, Weka, Common LISP, CLISP, Haskell, OCaml, LabVIEW,
y PHP). Adems, en su pgina web dispone de un
applet
SVMlight
Enlace : http://svmlight.joachims.org/
SVM
22
(a)
(b)
Ejemplos de salida del applet de la pgina web del software LIBSVM: (a) frontera de decisin
no-lineal en un problema de clasicacin binaria; (b) regresor no-lineal del conjunto de ejemplos mostrado en
la gura.
Figura 9:
sino tambin problemas de ranking; permite manejar varios cientos de miles de ejemplos de
entrenamiento, junto con muchos miles de vectores soporte; soporta funciones kernel estndar
y, adems, permite al usuario denir sus propias funciones kernel. Como novedad presenta una
implementacin SVM, denominada SVM
7. Anexo
El modelo matemtico asociada a las SVMs da lugar a problemas de optimizacin con
restricciones lineales. Este tipo de problemas se resuelven haciendo uso de la teora de la
optimizacin. En este anexo se hace un resumen de las principales ideas de esta teora, orientado
a la resolucin de problemas asociados con el uso de SVMs.
Sea el siguiente problema de optimizacin denominado
mn f (x),
s.a.
Si todas las funciones
gi
problema primal :
gi (x) 0,
(81)
i = 1, . . . , n
x ,
cumplir que
i = 1, ..., n.
gi (x ) 0
f (x ) f (x), x
t.q.
gi (x) 0,
donde
L (x, ) = f (x) +
n
X
i gi (x)
(82)
i=1
donde los coecientes
i 0
23
i ,
ms
problema dual
como:
m
ax () = nf L (x, )
x
(83)
s.a.
i (x) 0,
i = 1, . . . , n
El inters del problema dual es que, bajo determinadas condiciones, al resolverlo, obtenemos
tambin la solucin del problema primal asociado. La ventaja de esta transformacin es que
normalmente el problema dual es ms fcil de resolver que el primal. Los dos siguiente teoremas
ayudan a entender la relacin existente entre las soluciones de los dos problemas.
Teorema 1. Sean x y vectores tales que satisfacen las restricciones respectivas del
problema primal y dual, es decir,gi (x) 0 y i 0, con i = 1, ..., n, entonces () f (x).
Del teorema anterior se pueden extraer dos corolarios. El primero establece que el problema
dual est acotado superiormente por el problema primal. El segundo permite armar que si
() = f (x),
entonces
El inters de este teorema es prctico, ya que permite establecer una heurstica para resolver,
simultneamente, el problema primal y dual. As, estaremos ms cerca de la solucin, a medida
que la diferencia
|() f (x)|
es nula. Esta solucin corresponde a un punto silla de la funcin lagrangiana, caracterizado por
ser simultneamente un mnimo de
de
L(x, )
respecto de
y un mximo de
L(x, )
respecto
.
El segundo teorema, denominado teorema de Karush-Kuhn-Tucker establece las condicio-
nes sucientes (tambin conocidas como condiciones KKT) para que un punto
sea solucin
Rd
Teorema de Karush-Kuhn-Tucker. Si en el
R y gi : Rd R, i = 1, . . . , n son todas ellas
i 0, i = 1, . . . , n tales que:
f (x ) X gi (x )
+
i
=0
xj
xj
j = 1, . . . , d
(84)
i=1
i gi (x ) = 0
i = 1, . . . , n
(85)
()
condicin complementaria,
= f (x )),
como el
deben
es la que garantizar
ya que, de ser cierta
la condicin, todos los sumandos del sumatorio de la funcin Lagrangiana (82) seran nulos.
El inters de este teorema es que establece las condiciones que han de cumplirse para
poder resolver el problema primal gracias al dual. As, partiendo del problema primal, se
construye la funcin lagrangiana. Seguidamente, se aplica la primera condicin del teorema
de KKT a dicha funcin y esto permite obtener un conjunto de relaciones que, sustituidas
24
en la funcin lagrangiana, harn desaparecer todas las variables primales de dicha funcin.
Este paso es equivalente a calcular
() = nf x L (x, ).
slo depender de los multiplicadores de Lagrange. Tambin es posible que, del conjunto de
relaciones obtenido al aplicar la primera condicin KKT, surjan restricciones adicionales para
las variables duales (multiplicadores de lagrange). En este punto queda denido el problema
dual junto con sus restricciones. La solucin del problema dual permitir resolver tambin el
problema primal. Para ello, bastar sustituir nalmente la solucin dual en las relaciones que
anteriormente se obtuvieron al aplicar la primera condicin KKT a la funcin lagrangiana.
sta es la estrategia que se ha utilizado en la secciones anteriores de este tutorial para abordar
los diferentes problemas de optimizacin que surgen al abordar el problema de clasicacin o
de regresin mediante SVMs.
Referencias
[Boser et al., 1992] Boser, B. E., Guyon, I. M., & Vapnik, V. N. (1992). A training algorithm
Proceedings of the Fifth Annual Workshop on Computational Learning Theory, COLT '92 (pp. 144152). New York, NY, USA: ACM.
[Cortes & Vapnik, 1995] Cortes, C. & Vapnik, V. (1995). Support-vector networks.
25
Machine