Está en la página 1de 25

Tutorial sobre Mquinas de Vectores Soporte (SVM)

Enrique J. Carmona Surez

ecarmona@dia.uned.es

Versin inicial: 2013 ltima versin: 11 Julio 2014

Dpto. de Inteligencia Articial, ETS de Ingeniera Informtica, Universidad Nacional de Educacin a


Distancia (UNED), C/Juan del Rosal, 16, 28040-Madrid (Spain)

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. SVM para clasicacin binaria de ejemplos separables lineal-


mente
Dado un conjunto separable de ejemplos S = {(x1 , y1 ) , . . . , (xn , yn )}, donde xi Rd e
yi {+1, 1}, se puede denir un hiperplano de separacin (ver g. 1a) como una funcin
lineal que es capaz de separar dicho conjunto sin error:

D(x) = (w1 x1 + ... + wd xd ) + b =< w, x > +b (1)

2
(a) (b)

Figura 1: Hiperplanos de separacin en un espacio bidimensional de un conjunto de ejemplos separables


en dos clases: (a) ejemplo de hiperplano de separacin (b) otros ejemplos de hiperplanos de separacin,
de entre los innitos posibles.

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)

Figura 2: Margen de un hiperplano de separacin: (a) hiperplano de separacin no-ptimo y su margen


asociado (no mximo) (b) hiperplano de separacin ptimo y su margen asociado (mximo).

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

De la expresin anterior, se deduce que encontrar el hiperplano ptimo es equivalente a


encontrar el valor de w que maximiza el margen. Sin embargo, existen innitas soluciones que
dieren solo en la escala de w. As, por ejemplo, todas las funciones lineales (< w, x > +b),
con R, representan el mismo hiperplano. Para limitar, por tanto, el nmero de soluciones
a una sola, y teniendo en cuenta que (6) se puede expresar tambin como

yi D(xi ) kwk , i = 1, . . . , n (7)

la escala del producto de y la norma de w se ja, de forma arbitraria, a la unidad, es


decir
kwk = 1 (8)

Llegando a la conclusin nal de que aumentar el margen es equivalente a disminuir la norma


de w, ya que la expresin anterior se puede expresar como

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)

El concepto de margen mximo est relacionado directamente con la capacidad de gene-


ralizacin 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 (ver g. 3). Puesto
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 w y b que minimiza el funcional f (w) = kwk sujeto a las
restricciones (11), o de forma equivalente
1

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

donde los i 0 son los denomiandos multiplicadores de Lagrange.


El segundo paso consiste en aplicar las condiciones de Karush-Kuhn-Tucker (ver anexo al
nal de este tutorial), tambin conocidas como condiciones KKT:

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)

Las restricciones representadas por (14-15) corresponden al resultado de aplicar la primera


condicin KKT, y las expresadas en (16), al resultado de aplicar la denominada condicin
complementaria (segunda condicin KKT). Las primeras permiten expresar los parmetros de
w y b en trminos de i :
n
X
w = i yi xi , i = 1, . . . , n (17)
i=1

y, adems, establecen restricciones adicionales para los coecientes i :


n
X
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 . 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)

es decir, el correspondiente ejemplo, (xi , yi ), satisface la correspondiente restriccin del pro-


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 vecto-
res 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 . Su valor se calcula despejando b de (22):

b = yvs < w , xvs > (23)

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.

3. SVM para clasicacin binaria de ejemplos cuasi-separables


linealmente
El problema planteado en la seccin anterior tiene escaso inters prctico porque los pro-
blemas reales se caracterizan normalmente por poseer ejemplos ruidosos y no ser perfecta y
linealmente separables. La estrategia para este tipo de problemas reales es relajar el grado
de separabilidad del conjunto de ejemplos, permitiendo que haya errores de clasicacin en
algunos de los ejemplos del conjunto de entrenamiento.Sin embargo, sigue siendo un objetivo
el encontrar un hiperplano ptimo para el resto de ejemplos que s son separables.
Desde el punto de vista de la formulacin vista en la seccin anterior, un ejemplo es
no-separable si no cumple la condicin (11). Aqu se pueden dar dos casos. En el primero, el
ejemplo cae dentro del margen asociado a la clase correcta, de acuerdo a la frontera de decisin
que dene el hiperplano de separacin. En el otro caso, el ejemplo cae al otro lado de dicho
hiperplano. En ambos casos se dice que el ejemplo es no-separable, pero en el primer caso es
clasicado de forma correcta y, en el segundo, no lo es (ver g. 4).
La idea para abordar este nuevo problema es introducir, en la condicin (11), que dene
al hiperplano de separacin, un conjunto de variables reales positivas, denominadas variables
de holgura, i , i = 1, . . . n, que permitirn cuanticar el nmero de ejemplos no-separables que
se est dispuesto a admitir, es decir:

yi (< w, xi > +b) 1 i , i 0, i = 1, . . . , n (25)

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.

est cometiendo el hiperplano de separacin, es decir:

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

Paso 2: Aplicacin de las condiciones de KKT:

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

Finalmente, se obtiene la formalizacin buscada del problema dual :


4

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

b = yi < w , xi > i t.q. 0 < i < C (39)

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

donde los coecientes i , i = 1, . . . , n, corresponden a la solucin del problema dual.


A modo de resumen, en el caso de ejemplos cuasi-separables, hay dos tipos de ejemplos
para los que los i 6= 0. Aquellos, para los que 0 < i < C , que corresponderan a vectores
soporte normales y, aquellos para los que i = C , asociados a ejemplos no separables.

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.

4. SVM para clasicacin binaria de ejemplos no separables


linealmente
En las dos secciones anteriores se ha mostrado que los hiperplanos de separacin son bue-
nos clasicadores cuando los ejemplos son perfectamente separables o cuasi-perfectamente
separables. Tambin se vio que el proceso de bsqueda de los parmetros que denen dichos
hiperplanos se puede hacer independientemente de la dimensionalidad del problema a resol-
ver. As, si sta es baja, basta con resolver directamente el problema de optimizacin primal
asociado. En cambio, si la dimensionalidad es muy alta, basta con transformar el problema
primal en su problema dual equivalente y resolver este ltimo. Sin embargo, hasta ahora, se ha
asumido la idea de que los ejemplos eran separables o cuasi-separables y, por tanto, los hiper-
planos se denan como funciones lineales en el espacio-x de los ejemplos. En esta seccin se
describir cmo usar de forma eciente conjuntos de funciones base, no lineales, para denir
espacios transformados de alta dimensionalidad y cmo buscar hiperplanos de separacin p-
timos en dichos espacios transformados. A cada uno de estos espacios se le denomina espacio
de caractersticas, para diferenciarlo del espacio de ejemplos de entrada (espacio-x).
Sea : X F la funcin de transformacin que hace corresponder cada vector de en-
trada x con un punto en el espacio de caractersticas F, donde (x) = [1 (x), . . . , m (x)] y

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

D(x) = (w1 1 (x) + ... + wm m (x)) =< w, (x) > (41)

y, en su forma dual, la funcin de decisin se obtiene transformando convenientemente la


expresin de la frontera de decisin (38) en:

n
X
D(x) = i yi K(x, xi ) (42)
i=1

donde K(x, x0 ) se denomina funcin kernel.


Por denicin, una funcin kernel es una funcin K : XX R que asigna a cada par de
elementos del espacio de entrada, X, un valor real correspondiente al producto escalar de las
imgenes de dichos elementos en un nuevo espacio F (espacio de caractersticas), es decir,

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.

Teorema de Aronszajn. Para cualquier funcin K : X X R que sea simtrica 6 y


semidenida positiva 7 , existe un espacio de Hilbert y una funcin : X F tal que

K(x, x0 ) =< (x), (x0 ) > x, x0 X (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, (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.

Ejemplos de funciones kernel

Se presentan aqu algunos ejemplos de funciones kernel:

Kernel lineal:
K(x, x0 ) =< x, x0 > (46)

kernel polinmico de grado -p:


p
Kp (x, x0 ) = < x, x0 > +

(47)

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

conjuntos x1 , . . . , xn X y c1 , . . . cn R, siendo n > 0.

14
2

1.5

0.5

x2
0

0.5

1.5

2
2 1 0 1 2
x1

Figura 6: Representacin del conjunto de datos perteneciente al problema XOR.

kernel sigmoidal:
K(x, x0 ) = tanh( < x, x0 > + ) (49)

A los parmetros , y p se les denomina parmetros del kernel.

Ejemplo: Solucin del problema OR-exclusivo mediante SVMs

El problema or-exclusivo pertenece al caso de problemas separables no-linealmente (C =


) y se dene como el problema de encontrar un hiperplano de separacin que clasique sin
error los ejemplos de la tabla siguiente:

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)

Los valores de i , i = 1, . . . n, correspondern a la solucin del problema dual (44), parti-


cularizado para el problema que queremos resolver, es decir

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 =


< (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


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

Utilizando este resultado y el obtenido en (53), la funcin de decisin lineal en el espacio


transformado puede expresarse en funcin del conjunto de funciones base:

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

2 1.5 1 0.5 0 0.5 1 1.5 2 2


2 1.5 1 0.5 0 0.5 1 1.5 2
4(x) x1

(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.

Ejemplo Espacio de entradas Espacio de caractersticas Clase


# (x1 , x2 ) (1 (x), 2 (x), . . . , 6 (x)) y

1 (+1, +1) 1, 2, 2, 2, 1, 1 +1

2 (1, +1) 1, 2, 2, 2, 1, 1 1

3 (1, 1) 1,
2,
2, 2, 1, 1 +1

4 (+1, 1) 1, 2, 2, 2, 1, 1 1
Para obtener la ecuacin del hiperplano de separacin en el espacio de caractersticas,
bastar hacer D(x) = 0 en (53), es decir:

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

5. SVM para regresin


Las mquinas de vectores soporte pueden tambin adaptarse para resolver problemas de re-
gresin. En estos casos, es muy comn designarlas por el acrnimo SVR (del ingls Support Vec-
tor Regression ). As, dado un conjunto de ejemplos de entrenamiento S = {(x1 , y1 ) , . . . , (xn , yn )},
donde x i Rd e yi R , en el que se asume que los valores yi de todos los ejemplos de S
se pueden ajustar (o cuasi-ajustar) mediante una funcin lineal, el objetivo de la tarea de
regresin es encontrar los parmetros w = (w1 , . . . , wd ) que permitan denir dicha funcin
lineal:
f (x) = (w1 x1 + ... + wd xd ) + b =< w, x > +b (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
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 .

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
1
i+ + i

mn 2 < w, w > +C i=1

s.a. (< w, xi > +b) yi  i+ 0 (56)


yi (< w, xi > +b)  i 0
i+ , i 0, i = 1, . . . , n

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

Paso 2: Aplicacin de las condiciones de KKT:

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 >

Finalmente, se obtiene la formalizacin buscada del problema dual :


8

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

El regresor asociado a la funcin lineal buscada resulta ser

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)

De (62)-(63), se deduce que i+ i = 0, es decir, ambas variables no pueden ser simultnea-


mente distintas de cero. De lo contrario, se obtendran dos valores diferentes de b para cada
una de las ecuaciones (62)-(63). Por otro lado, a partir de (73)-(74), se puede armar que si
un ejemplo (xi , yi ) esta fuera de la zona tubular -insensible, es decir, i = 0 y i+ > 0 o
i >0 +
y i = 0, entonces i+ = C (primer caso) o i = C (segundo caso). Estas deducciones
permiten, a su vez, concluir que:

(< w , xi > +b ) yi  0 y i+ = 0 si i+ < C


(75)
+
(< w , xi > +b ) yi  0 si i >0

o lo que es lo mismo:

yi < w , xi > + b yi < w , xi > + si 0 < i+ C (76)

es decir:
b = yi < w , xi > + si 0 < i+ < C (77)

Trabajando de forma anloga para i , se puede obtener que

b = yi < w , xi >  si 0 < i < C (78)

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.

Kernelizacin de las SVR


En el caso de que los ejemplos no puedan ajustarse por una funcin lineal, se recurre a una
metodologa similar a la utilizada en el problema de clasicacin para ejemplos no separables
linealmente. Es decir, los ejemplos pertenecientes al espacio original de entradas se transforman
en un nuevo espacio, denominado tambin espacio de caractersticas, en el que s es posible
ajustar los ejemplos transformados mediante un regresor lineal. El tipo de transformacin
depender del kernel utilizado. El regresor asociado a la funcin lineal en el nuevo espacio es:

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.

6. Software sobre SVMs


En la actualidad existe un nmero importante de repositorios web y de paquetes software
de libre distribucin dedicados a la implementacin de SVMs y muchas de sus variantes. En
esta seccin vamos a describir algunos de estos paquetes software.

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-

pales caractersticas destaca permitir resolver no slo problemas de clasicacin y de regresin,

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

multivariable, tales como conjuntos, secuencias y rboles.

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

donde los coecientes i 0 reciben el nombre de multiplicadores de Lagrange y, de forma


intuitiva, indican la dicultad de cumplir cada restriccin, es decir, a mayor valor de i , ms

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.

Teorema de Karush-Kuhn-Tucker. Si en el problema primal (81), las funciones f :


Rd R y gi : Rd R, i = 1, . . . , n son todas ellas funciones convexas, y existen constantes
i 0, i = 1, . . . , n tales que:
n
f (x ) X gi (x )
+ i =0 j = 1, . . . , d (84)
xj xj
i=1

i gi (x ) = 0 i = 1, . . . , n (85)

entonces el punto x es un mnimo global del problema primal.

La primera condicin surge como consecuencia de la denicin de la funcin () como el


nmo de la funcin Lagrangiana, punto en el que las derivadas parciales respecto de x deben
ser cero. La segunda condicin, denominada condicin complementaria, es la que garantizar
que los ptimos del problema primal y dual coincidan ((
) = f (x )), 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, ). 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

También podría gustarte