Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(2013-Carmona) SVM PDF
(2013-Carmona) SVM PDF
ecarmona@dia.uned.es
Resumen
Este tutorial presenta una introduccin al mundo de las mquinas de vectores soporte
(SVM, del ingls Support Vector Machine ), 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 Support Vector Machines ) 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, mul-
ticlasicacin). 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
1
estos espacios transformados, normalmente de muy alta dimensin, se har de forma implcita
utilizando las denominadas funciones kernel.
Mientras la mayora de los mtodos de aprendizaje se centran en minimizar los errores
cometidos por el modelo generado a partir de los ejemplos de entrenamiento (error emprico),
el sesgo inductivo asociado a las SVMs radica en la minimizacin del denominado riesgo es-
tructural. 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 vectores soporte. Desde un punto de vista prctico, el hiperplano
separador de margen mximo ha demostrado tener una buena capacidad de generalizacin,
evitando en gran medida el problema del sobreajuste a los ejemplos de entrenamiento.
Desde un punto de vista algortmico, el problema de optimizacin del margen geomtrico
representa un problema de optimizacin cuadrtico con restricciones lineales que puede ser
resuelto mediante tcnicas estndar de programacin cuadrtica. La propiedad de convexidad
exigida para su resolucin garantizan una solucin nica, en contraste con la no unicidad de
la solucin producida por una red neuronal articial entrenada con un mismo conjunto de
ejemplos.
Dado el carcter introductorio de este tutorial, los contenidos del mismo slo abarcan una
pequea parcela del extenso campo relacionado con las mquinas vectores soporte. Por ejemplo,
el problema de clasicacin slo se describir para el caso de clases binarias. Concretamente,
en la seccin 2 se abordar el problema de clasicacin binaria para ejemplos perfectamente
separables mediante lo que se conoce como SVMs de "margen duro" ( 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" ( soft margen ). La seccin
4 culmina el problema de clasicacin binaria tratando el caso de la clasicacin de ejemplos
no separables lienalmente mediante lo que se conoce como SVM kernelizadas. Seguidamente,
la seccin 5 aborda el problema de regresin mediante lo que se conoce como SVR (del ingls
Support Vector Regression machines ). En esta seccin, se aborda tanto el caso de regresin
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.
2
(a) (b)
donde w y b son coecientes reales. El hiperplano de separacin cumplir las siguientes res-
tricciones para todo xi del conjunto de ejemplos:
< w, xi > +b 0 si yi = +1
(2)
< w, xi > +b 0 si yi = 1, i = 1, ..., n
o tambin,
yi (< w, xi > +b) 0, 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 de un hiperplano de separacin, denotado por ,
como la mnima distancia entre dicho hiperplano y el ejemplos ms cercano de cualquiera
de las dos clases (ver g. 2a). A partir de esta denicin, un hiperplano de separacin se
denominar ptimo si su margen es de tamao mximo (g. 2b).
Una propiedad inmediata de la denicin de hiperplano de separacin ptimo es que ste
equidista del ejemplo ms cercano de cada clase. La demostracin de esta propiedad se puede
hacer fcilmente por reduccin al absurdo. Supongamos que la distancia del hiperplano ptimo
al ejemplo ms cercano de la clase +1 fuese menor que la correspondiente al ejemplo ms
cercano de la clase 1. Esto signicara que se puede alejar el hiperplano del ejemplo de la
clase +1 una distancia tal que la distancia del hiperplano a dicho ejemplo sea mayor que antes
y, a su vez, siga siendo menor que la distancia al ejemplo ms cercano de la clase 1. Se
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
3
Tmax
T Tmax
o
ptim
l ano
erp
Hip
(a) (b)
caso de suponer que la distancia del hiperplano ptimo al ejemplo ms cercano de la clase 1
fuese menor que la correspondiente al ejemplo ms cercano de la clase +1.
Por geometra, se sabe que la distancia entre un hiperplano de separacin D(x) y un
ejemplo x0 viene dada por
|D(x0 )|
(5)
kwk
siendo || el operador valor absoluto, kk el operador norma de un vector y w el vector que,
junto con el parmetro b, dene el hiperplano D(x) y que, adems, tiene la propiedad de ser
perpendicular al hiperplano considerado. Haciendo uso de la expresiones (4) y (5), todos los
ejemplos de entrenamiento cumplirn que:
yi D(xi )
, i = 1, . . . , n (6)
kwk
1
= (9)
kwk
4
Tmax
Tmax
1 / ||w||
D(x)> +1
|D(xi)| / ||w||
1
)= +
D(x (x)=0
im o, D xi
o p t
lan 1
er p x )= -
Hip 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
yi (< w, xi > +b) 1, i = 1, . . . , n (11)
mn f (w) = 1
2 kwk2 = 1
2 < w, w >
(12)
s.a. yi (< w, xi > +b) 1 0, i = 1, . . . , n
1
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 programa-
cin cuadrtico y es abordable mediante la teora de la optimizacin. Dicha teora establece
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 des-
critos 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 :
2
n
1 X
L (w, b, ) = < w, w > i [yi (< w, xi > +b) 1] (13)
2
i=1
n
L (w , b , ) X
w i yi xi = 0, i = 1, . . . , n (14)
w
i=1
n
L (w , b , ) X
i yi = 0, i = 1, . . . , n (15)
b
i=1
i [1 yi (< w , xi > +b )] = 0, i = 1, . . . , n
(16)
Con las nuevas relaciones obtenidas, se construir el problema dual. As, bastara usar (17)
para expresar la funcin Lagrangiana slo en funcin de i . Antes de ello, se puede reescribir
(13) como
n n n
1 X X X
L (w, b, ) = < w, w > i yi < w, xi > b i yi + i
2
i=1 i=1 i=1
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 .
6
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
n
! n
n
! n
n
1 X X X X X
L () = i yi xi j yj xj i yi xi j yj xj + i
2
i=1 j=1 i=1 j=1 i=1
n
! n
n
1 X X X
L () = i yi xi j yj xj + i
2
i=1 j=1 i=1
n n
X 1 X
L () = i i j yi yj < xi , xj > (19)
2
i=1 i=1
Es decir, hemos transformado el problema de minimizacin primal (12), en el problema dual,
consistente en maximizar (19) sujeto a las restricciones (18), junto a las asociadas originalmente
a los multiplicadores de Lagrange:
Pn 1 Pn
max L () = i=1 i 2 i,j=1 i j yi yj < xi , xj >
Pn (20)
s.a. 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, n, mientras que el problema primal
lo hace con la dimensionalidad, d. Por tanto, aqu radica la ventaja del problema dual, es
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, , nos permitir obtener la solucin del problema pri-
mal. Para ello, bastar sustituir dicha solucin en la expresin (17) y, nalmente, sustituir el
resultado as obtenido en (1), es decir:
n
X
D(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 i > 0 entonces el segundo factor de la parte izquierda de dicha expresin tendr
que ser cero y, por tanto
yi (< w , xi > +b ) = 1 (22)
7
donde (xvs , yvs ) representa la tupla de cualquier vector soporte, junto con su valor de clase, es
decir, la tupla de cualquier ejemplo que tenga asociado un i distinto de cero. En la prctica,
es ms robusto obtener el valor de b promediando a partir de todos los vectores soporte, Nvs .
As, la expresin (23) se transforma en:
Nvs
1 X
b = (yvs < w , xvs >) (24)
Nvs
i=1
Finalmente, haciendo uso de (17) en (23), o en (24), permitir tambin calcular el valor de
b en funcin de la solucin del problema dual.
Obsrvese que tanto la optimizacin de (20) como la evaluacin de (21) dependen del
producto escalar de los vectores ejemplos. Esta propiedad se utilizar ms tarde (seccin 4) para
calcular hiperplanos de separacin ptimos en espacios transformados de alta dimensionalidad.
Por tanto, para un ejemplo (xi , yi ), su variable de holgura, i , representa la desviacin del
caso separable, medida desde el borde del margen que corresponde a la clase yi (ver g. 4). De
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
Pn
holgura, i=1 i , permite, de alguna manera, medir el coste asociado al nmero de ejemplos
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 maxi-
mizar 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
8
xk
k=1+|D(xk)|
D(x)> +1
j=1+|D(xj)|
xj
)= +1
D(x xi
i=1-|D(xi)|
0 xi
)=
D(x 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, no-
separables (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.
n
1 X
f (w, ) = kwk2 + C i (26)
2
i=1
donde C es una constante, sucientemente grande, elegida por el usuario, que permite controlar
en qu grado inuye el trmino del coste de ejemplos no-separables en la minimizacin de la
norma, es decir, permitir regular el compromiso entre el grado de sobreajuste del clasicador
nal y la proporcin del nmero de ejemplos no separables. As, un valor de C muy grande
permitira valores de i muy pequeos. En el lmite (C ), estaramos considerando el
caso de ejemplos perfectamente separables (i 0). Por contra, un valor de C muy pequeo
permitira valores de i muy grandes, es decir, estaramos admitiendo un nmero muy elevado
de ejemplos mal clasicados. En el caso lmite (C 0), se permitira que todos los ejemplos
estuvieran mal clasicados (i ).
En consecuencia, el nuevo problema de optimizacin consistir en encontrar el hiperplano,
denido por w y b, que minimiza el funcional (26) y sujeto a las restricciones dadas por (25),
es decir Pn
1
mn 2 < w, w > +C i=1 i
(27)
s.a. yi (< w, xi > +b) + i 1 0
i 0, i = 1, . . . , n
El hiperplano as denido recibe el nombre de hiperplano de separacin de margen blando
(del ingls soft margen ), en oposicin al obtenido en el caso perfectamente separable, tambin
conocido como hiperplano de separacin de margen duro (del ingls hard margen ). Como en
el caso de la seccin anterior, si el problema de optimizacin a ser resuelto corresponde a un
espacio de caractersticas de muy alta dimensionalidad, entonces, para facilitar su resolucin,
9
puede ser transformado a su forma dual. El procedimiento para obtener el hiperplano de
separacin es similar al all utilizado. Por tanto, aqu slo se reproducirn de forma esquemtica
y secuencial los pasos necesarios para realizar dicha transformacin.
Paso 1: Obtencin de la funcin Lagrangiana
3
n n n
1 X X X
L (w, b, , , ) = < w, w > +C i i [yi (< w, xi > +b) + i 1] i i (28)
2
i=1 i=1 i=1
n
L X
w i yi xi = 0 (29)
w
i=1
n
L X
i yi = 0 (30)
b
i=1
L
C i i = 0 (31)
i
i [1 yi (< w , xi > +b ) i ] = 0, i = 1, . . . , n (32)
i i = 0, i = 1, . . . , n (33)
Paso 3: Establecer las relaciones entre las variables del problema primal (w, b, ) con las
del problema dual (, ). Para ello, hacemos uso de la relacion (29):
n
X
w = 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)
i=1
C = i + i (36)
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:
n n
X 1 X
L () = i i j yi yj < xi , xj >
2
i=1 i,j=1
Pn 1 Pn
max i=1 i 2 i,j=1 i j yi yj < xi , xj >
Pn (37)
s.a. i=1 i yi
=0
0 i C, i = 1, . . . , n
3
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 . Para ello, bastar tener en cuenta dicha solucin y
sustituir la expresin (34) en (1), es decir:
n
X
D(x) = i yi < x, xi > +b (38)
i=1
Antes de obtener una expresin para el clculo del valor de b , se considerarn algunos resul-
tados interesantes. As, de la restriccin (36) es fcil deducir que si i = 0, entonces C = i .
De este ltimo resultado y de la restriccin (33) se deduce que i = 0. Por tanto, se puede
armar que todos los ejemplos xi cuyo i asociado sea igual a cero corresponden a ejemplos
separables (i = 0).
Por otro lado, todo ejemplo no separable, xi , se caracteriza por tener asociado un i > 0
(ver g. 4). En este caso, y de la restriccin (33), se deduce que i = 0. A su vez, de este
ltimo resultado y la restriccin (36), se deduce que i = C . Por tanto, se puede armar que
todos los ejemplos xi cuyo i = C correspondern a ejemplos no-separables (i > 0). Adems,
dado que, en este caso, i 6= 0, de la restriccin (32) se deduce que
1 yi (< w , xi > +b ) i = 0
es decir
1 yi D(xi ) = i
Aqu se pueden considerar dos casos (ver g. 4). En el primero, el ejemplo, xi , aunque no
separable, est bien clasicado, es decir, yi D(xi ) 0, entonces i = 1 |D(xi )|. En el segundo
caso, el ejemplo, xi , es no separable y est mal clasicado, es decir, yi D(xi ) < 0, entonces
i = 1 + |D(xi )|.
Finalmente, consideremos el caso 0 < i < C . As, en esta situacin, la restriccin (36)
permite armar que i 6= 0 y, de este resultado y la restriccin (33), se deduce que i = 0.
Igualmente, si 0 < i < C , de la restriccin (32) y del resultado obtenido anteriormente
(i = 0), se deduce que
1 yi (< w , xi > +b ) = 0
Por tanto, se puede armar que un ejemplo, xi , es vector soporte si y solo si 0 < i < C .
De la expresin anterior, se esta en disposicin de calcular el valor b , es decir
Obsrvese que, a diferencia del caso perfectamente separable, ahora, para el clculo de b , no
es suciente con elegir cualquier ejemplo xi que tenga asociado un i > 0. Ahora, se habr de
elegir cualquier ejemplo xi que tenga asociado un i que cumpla la restriccin 0 < i < C .
Finalmente, haciendo uso de (34), es posible expresar b en trminos de las variables duales:
n
X
b = yi i yi < xj , xi > i t.q. 0 < i < C (40)
j=1
11
Espacio de entradas Espacio de caractersticas
X1
1(x)
X2 2(x)
: X F F
x = (x1,x2) (x) = [ 1(x), 2(x)]
Figura 5: El problema de la bsqueda de una funcin de decisin no lineal en el espacio del conjunto
de ejemplos original (espacio de entradas), se puede transformar en un nuevo problema consistente en
la bsqueda de una funcin de decisin lineal (hiperplano) en un nuevo espacio transformado (espacio
de caractersticas)
Esto ltimos reciben el nombre de vectores soporte acotados (del ingls bounded support
vectors ). Ambos tipos de vectores (ejemplos) intervienen en la construccin del hiperplano
de separacin. El problema dual del caso cuasi-separable (37) y el correspondiente al caso
perfectamente separable, (20), son prcticamente iguales. La nica diferencia radica en la
inclusin de la constante C en las restricciones del primero.
12
i (x), i = 1, ..., m, tal que i (x) es una funcin no lineal. La idea entonces es construir un
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
5
n
X
D(x) = i yi K(x, xi ) (42)
i=1
K(x, x0 ) =< (x), (x0 ) >= 1 (x)1 (x0 ) + ... + m (x)m (x0 )
(43)
donde :XF .
Por tanto, una funcin kernel puede sustituir convenientemente el producto escalar en (38).
As, dado el conjunto de funciones base, = {1 (x), . . . , m (x)}, el problema a resolver en
(42) sigue siendo encontrar el valor de los parmetros i , i = 1, . . . n, que optimiza el problema
dual (37), pero expresado ahora como:
Pn 1 Pn
max i=1 i 2 i,j=1 i j yi yj K(xi , xj )
Pn (44)
s.a. i=1 i yi
=0
0 i C, i = 1, . . . , n
Se est ya en disposicin de describir la metodologa necesaria para resolver un problema
de clasicacin de ejemplos no separables linealmente. Concretamente, la funcin de decisin
vendr dada por la expresin (42), donde el valor de los parmetros 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
de usar un valor grande (recurdese que 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 2 (x1 , x2 ) = x1 3 (x1 , x2 ) = x2
4 (x1 , x2 ) = x1 x2 5 (x1 , x2 ) = x21 6 (x1 , x2 ) = x22
7 (x1 , x2 ) = x21 x2 8 (x1 , x2 ) = x1 x22 9 (x1 , x2 ) = x31
10 (x1 , x2 ) = x32
En este caso, cada entrada de dos dimensiones es transformada en un espacio de caractersticas
de diez dimensiones. La idea es entonces buscar un hiperplano en el espacio de caractersticas
5
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 trans-
forma 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.
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, (x) = (1 (x), . . . , m (x)),
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, an cuando este pudiera estar asociado a un
conjunto innito de funciones base.
Kernel lineal:
K(x, x0 ) =< x, x0 > (46)
kernel gaussiano:
2
K(x, x0 ) = exp
x x0
, > 0
(48)
6
Una funcin K : X X R es simtrica si K(x, x0 ) = K(x 0
Px,
Pn , x) x0 X
7
Una funcin K : X X R es semidenida positiva si i=1 i=1 ci cj K(xi , xj ) 0, para cualesquiera
n
14
2
1.5
0.5
x2
0
0.5
1.5
2
2 1 0 1 2
x1
kernel sigmoidal:
K(x, x0 ) = tanh( < x, x0 > + ) (49)
Ejemplo (x1 , x2 ) y
1 (+1, +1) +1
2 (1, +1) 1
3 (1, 1) +1
4 (+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
SVM, usando un kernel polinmico 47, con p = 2, = 1 y = 1:
2
K2 (x, x0 ) = < x, x0 > +1
(50)
4 4
X 1 X
max i i j yi yj K2 (x, xi )
2
i=1 i,j=1
4
X
s.a. i yi = 0, 0 i C, i = 1, . . . , 4
i=1
15
La solucin a este problema de optimizacin es i = 0,125, i = 1, . . . 4. Dado que no existe
ningn i
para el que i = 0, se puede armar que todos los ejemplos del conjunto de entre-
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:
n
X 4
X
D(x) = i yi K(x, xi ) = 0,125 yi K2 (x, xi ) (51)
i=1 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 =
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 >
1 (x1 , x2 ) = 1 2 (x1 , x2 ) = 2x1 3 (x1 , x2 ) = 2x2 ,
(52)
4 (x1 , x2 ) = 2x1 x2 5 (x1 , x2 ) = x21 6 (x1 , x2 ) = x22
P4 P4
D(x) = 0,125 i=1 yi K2 (x, xi ) = 0,125 i=1 yi < 2 (x), 2 (xi ) >=
0,125 1 (x) + 22 (x) + 23 (x) + 24 (x) + 5 (x) + 6 (x)+
(1 (x)) + 22 (x) 23 (x) + 24 (x) 5 (x) 6 (x)+
(53)
1 (x) 22 (x) 23 (x) + 24 (x) + 5 (x) + 6 (x)+
(1 (x)) 22 (x) + 23 (x) + 24 (x) 5 (x) 6 (x) =
1
0,125 4 24 (x) = 2
4 (x)
Del resultado obtenido, se puede armar que, de las seis dimensiones del espacio de carac-
tersticas, 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 con-
rma 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 D(x)=+1
x2
0
D(x1,x2)= 0
0.5
= 2 = 2
1
1.5
D(x1,x2)= +1 D(x1,x2)= 1
(a) (b)
Figura 7: 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.
1
4 (x) = 0 4 (x) = 0
2
y para obtener las ecuaciones de las fronteras que delimitan el margen, habr que calcular
D(x) = +1 y 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 y aplicar (9). A su vez, el valor de w se puede obtener a partir de (17),
conocidos los valores de i , i = 1, . . . 4, es decir,
4
X 1
w = i yi xi = 0, 0, 0, , 0, 0
i=1
2
donde los valores de xi , i = 1, . . . 4 corresponden a los valores de los ejemplos de entrenamiento
expresados respecto a las coordenadas del espacio de caractersticas. Del resultado anterior,
resulta inmediato obtener el valor del margen mximo:
1
max = = 2
kw k
17
Tambin es fcil obtener la funcin de decisin no lineal en el espacio original de entradas
a partir transformar de la funcin lineal de decisin del espacio de caractersticas (ver g. 7b).
Para ello, basta sustituir el valor de 4 (x), obtenido de (52), en (53), es decir
D(x) = x1 x2
As, las ecuaciones de las fronteras de separacin vendrn dadas por D(x) = 0, es decir
x1 = 0
x1 x2 = 0
x2 = 0
y la de las fronteras que delimitan los mrgenes por D(x) = +1 y D(x) = 1, es decir
x1 x2 = +1 x2 = 1/x1
x1 x2 = 1 x2 = 1/x1
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
funcin de prdida -insensible, L , (ver g. 8) caracterizada por ser una funcin lineal con
una zona insensible, de anchura 2, en la que el error es nulo, y viene denida por:
0 si |y f (x)|
L (y, f (x)) = (55)
|y f (x)|
en otro caso
La principal razn para elegir esta funcin es la de permitir cierta dispersin en la funcin so-
lucin, de tal forma que todos los ejemplos que quedan connados en la regin tubular denida
por no sern considerados vectores soporte. De esta forma se reducir signicativamente el
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
variables de holgura, i+ y i , que permitirn cuanticar la magnitud de dicho error (ver g.
+
8). As, la variable i > 0 cuando la prediccin del ejemplo, f (xi ) es mayor que su valor real,
yi , en una cantidad superior a , es decir, f (xi ) yi > . En otro caso, su valor ser cero. De
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
18
Figura 8: SVR con margen blando: se muestra la relacin entre las variables de holgura, i , j+ ,
asociadas a ejemplos que quedan fuera de la zona tubular -insensible y la funcin de prdida,
L .
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
Pn Pn
L w, b, + , , + , , + , = 1
i+ + i +
2 < w, w > +C i=1 i=1
Pn +
(< w, xi > +b) yi i+ +
i=1 i
(57)
Pn
i
i=1 i yi (< w, xi > +b)
Pn + + Pn
i=1 i i i=1 i i
n n
L X X
w+ i+ xi i xi = 0 (58)
w
i=1 i=1
19
n n
L X + X
i i = 0 (59)
b
i=1 i=1
L
C i+ i+ = 0 (60)
i+
L
C i i = 0 (61)
i
i+ (< w , xi > +b) yi i+ = 0
(62)
i yi (< w , xi > +b ) i = 0
(63)
i+ i+ = 0 (64)
i i = 0 (65)
w, b, + ,
Paso 3: Establecer las relaciones entre las variables del problema primal con
+ , , + , . Para ello, se hace uso de (58):
las del problema dual
n
X
i i+ xi
w= (66)
i=1
Paso 4: Establecer restricciones adicionales de las variables duales. Para ello se hace uso
de (59)-(61), es decir:
n
X
i+ i = 0
(67)
i=1
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:
Pn
L (+ , ) = i i+ yi ni=1 i + i+
P
i=1
(70)
Pn
1
2 i,j=1 i i+ j j+ < xi , xj >
Pn +
ni=1 i + i+
P
max i=1 i i yi
1 Pn +
2 i,j=1 i i j j+ < xi , xj >
(71)
Pn +
s.a. i=1 i i =0
0 i+ , i C, i = 1, . . . , n
n
X
i + < x, xi > +b
f (x) = i (72)
i=1
8
La restriccin de que i+ C se obtiene de (68) y de i+ , i+ 0. Igualmente, la restriccin i C se
obtiene de (69) y de i , i 0
20
La obtencin del valor de b ya no es tan inmediata como en el caso de clasicacin. Para
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
(73)
C i i = 0
(74)
o lo que es lo mismo:
es decir:
b = yi < w , xi > + si 0 < i+ < C (77)
Obsrvese que el valor de b siempre ser nico porque las condiciones asociadas a las expre-
siones (77) y (78) no pueden ser ciertas simultneamente, ya que i+ i = 0. As, si se cumple
la condicin de la primera expresin, es decir, 0< i+ < C , entonces i = 0 y, por tanto, no
se cumplir la de la segunda. De la misma forma, si se cumpliera la condicin de la segunda
expresin (0 < i < C ), entonces i+ = 0 y no podra cumplirse la condicin de la primera.
n
X
i +
f (x) = i K(x, xi ) (79)
i=1
Obsrvese que se prescinde del trmino b puesto que ste puede ser representado mediante
la inclusin de una funcin constante en el conjunto de funciones base como, por ejemplo,
21
(x) = 1. Los coecientes i , +
i se obtienen como resultado de resolver el problema dual,
expresado ahora como:
Pn +
ni=1 i + i+
P
max i=1 i i yi
1 Pn +
2 i,j=1 i i j j+ K(xi , xj )
(80)
Pn +
s.a. i=1 i i =0
+
0 i , i C, 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. Ambos parmetros afectan a la complejidad del modelo. En el caso de problemas
de regresin con ruido, el parmetro debera ser elegido de forma que reeje la varianza del
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 corresponde a la exactitud preestablecida de
interpolacin, de forma que, cuanto mayor sea el valor de , menor nmero de vectores soporte
se necesitarn, y viceversa. Por otro lado, la metodologa usada para seleccionar el valor de C
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 clasica-
cin 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 di-
ferentes 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 para implementar sencillos problemas
de clasicacin y de regresin en dos dimensiones. La gura 9 muestra las soluciones de un
ejemplo de problema de clasicacin binaria (g. 9a) y otro de regresin (g. 9b), construidos
ambos y resueltos mediante dicho applet.
SVMlight
Enlace : http://svmlight.joachims.org/
SVM
light es una implementacin en C de mquinas de vectores soporte. Entre sus princi-
22
(a) (b)
Figura 9: 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.
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
Struct , para la prediccin de salidas estructuradas o
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 problema primal :
mn f (x), x
(81)
s.a. gi (x) 0, i = 1, . . . , n
Si todas las funciones f y gi fueran lineales estaramos ante un problema de optimizacin
de programacin lineal. En cambio, si la funcin a optimizar es cuadrtica y las restricciones
siguen siendo lineales, estaramos ante un problema de optimizacin cuadrtica. La solucin
del problema primal, x , cumplir que gi (x ) 0 y f (x ) f (x), x t.q. gi (x) 0, donde
i = 1, ..., n.
Se dene la funcin de Lagrange como:
n
X
L (x, ) = f (x) + i gi (x) (82)
i=1
23
difcil sera de cumplir su restriccin asociada gi . La funcin lagrangiana tiene la particularidad
de incorporar la funcin objetivo y las funciones restriccin en una nica funcin.
A partir de la funcin de Lagrange se puede denir el problema dual como:
max () = 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 y x son soluciones, respectivamente, del problema dual y primal.
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)| sea ms pequea. La solucin se alcanza cuando la diferencia
es nula. Esta solucin corresponde a un punto silla de la funcin lagrangiana, caracterizado por
ser simultneamente un mnimo de L(x, ) respecto de x y un mximo de L(x, ) respecto
de .
El segundo teorema, denominado teorema de Karush-Kuhn-Tucker establece las condicio-
nes sucientes (tambin conocidas como condiciones KKT) para que un punto x sea solucin
del problema primal.
i gi (x ) = 0 i = 1, . . . , n (85)
24
en la funcin lagrangiana, harn desaparecer todas las variables primales de dicha funcin.
Este paso es equivalente a calcular () = nf x L (x, ). La funcin dual as obtenida,
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 Computatio-
for optimal margin classiers. In
nal Learning Theory, COLT '92 (pp. 144152). New York, NY, USA: ACM.
[Cortes & Vapnik, 1995] Cortes, C. & Vapnik, V. (1995). Support-vector networks. Machine
Learning, 20(3), 273297.
25