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
), 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.

Support Vector Machine

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, multiclasicacin). Tambin son diversos los campos en los que han sido utilizadas con xito,
tales como visin articial, reconocimiento de caracteres, categorizacin de texto e hipertexto,
clasicacin de protenas, procesamiento de lenguaje natural, anlisis de series temporales.
De hecho, desde su introduccin, han ido ganando un merecido reconocimiento gracias a sus
slidos fundamentos tericos.
Dentro de la tarea de clasicacin, las SVMs pertenecen a la categora de los clasicadores
lineales, puesto que inducen separadores lineales o hiperplanos, ya sea en el espacio original
de los ejemplos de entrada, si stos son separables o cuasi-separables (ruido), o en un espacio
transformado (espacio de caractersticas), si los ejemplos no son separables linealmente en el
espacio original. Como se ver ms adelante, la bsqueda del hiperplano de separacin en

estos espacios transformados, normalmente de muy alta dimensin, se har de forma implcita
utilizando las denominadas funciones

kernel.

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),

riesgo estructural. La idea es seleccionar un hiperplano de separacin que equidista de los ejemplos ms
cercanos de cada clase para, de esta forma, conseguir lo que se denomina un margen mximo

el sesgo inductivo asociado a las SVMs radica en la minimizacin del denominado

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 linealmente


Dado un conjunto separable de ejemplos

yi {+1, 1},

S = {(x1 , y1 ) , . . . , (xn , yn )},

donde

xi Rd

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)

(a)

(b)

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.
Figura 1:

donde

son coecientes reales. El hiperplano de separacin cumplir las siguientes res-

tricciones para todo

xi

del conjunto de ejemplos:

< w, xi > +b 0
< w, xi > +b 0

si
si

yi = +1
yi = 1, i = 1, ..., n

(2)

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

1. Esto signicara que se puede alejar el hiperplano del ejemplo de la


+1 una distancia tal que la distancia del hiperplano a dicho ejemplo sea mayor que antes
su vez, siga siendo menor que la distancia al ejemplo ms cercano de la clase 1. Se

cercano de la clase
clase
y, a

llega as al absurdo de poder aumentar el tamao del margen cuando, de partida, habamos

supuesto que ste era mximo (hiperplano ptimo). Se aplica un razonamiento similar en el

Tmax

Tmax

erp

Hip

ptim

ano

(a)

(b)

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).
Figura 2:

caso de suponer que la distancia del hiperplano ptimo al ejemplo ms cercano de la clase
fuese menor que la correspondiente al ejemplo ms cercano de la clase

+1.

Por geometra, se sabe que la distancia entre un hiperplano de separacin


ejemplo

siendo

x0

||

viene dada por

el operador valor absoluto,

junto con el parmetro

b,

kk

|D(x0 )|
kwk
D(x)

y un

(5)

el operador norma de un vector y

dene el hiperplano

D(x)

el vector que,

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 )
,
kwk

i = 1, . . . , n

(6)

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


encontrar el valor de

que maximiza el margen. Sin embargo, existen innitas soluciones que

dieren solo en la escala de


con

R,

w.

As, por ejemplo, todas las funciones lineales

(< w, x > +b),

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 ,
la escala del producto de

y la norma de

i = 1, . . . , n

(7)

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
kwk
4

(9)

Tmax
Tmax

1 / ||w||

D(x)> +1
|D(xi)| / ||w||

1
)= +

D(x

o
lan

er p

Hip

)=0

(x
o, D

im

p t

xi

1
)= x
(
D

D(x)< -1
Figura 3: La distancia de cualquier ejemplo,xi , al hiperplano de separacin ptimo viene dada por
|D(xi )| / kwk. En particular, si dicho ejemplo pertenece al conjunto de vectores soporte (identicados
por siluetas slidas), la distancia a dicho hiperplano ser siempre 1/ kwk. Adems, los vectores soporte
aplicados a la funcin de decisin siempre cumplen que |D(x)| = 1.
Por tanto, de acuerdo a su denicin, un hiperplano de separacin ptimo (ver g. 3) ser
aquel que posee un margen mximo y, por tanto, un valor mnimo de

kwk

y, adems, est

sujeto a la restriccin dada por (7), junto con el criterio expresado por (8), es decir,

yi D(xi ) 1,

i = 1, . . . , n

(10)

o lo que es lo mismo

yi (< w, xi > +b) 1,

i = 1, . . . , n

(11)

El concepto de margen mximo est relacionado directamente con la capacidad de generalizacin del hiperplano de separacin, de tal forma que, a mayor margen, mayor distancia
de separacin existir entre las dos clases. Los ejemplos que estn situados a ambos lados del
hiperplano ptimo y que denen el margen o, lo que es lo mismo, aquellos para los que la
restriccin (11) es una igualdad, reciben el nombre de

vectores soporte

(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

que minimiza el funcional

restricciones (11), o de forma equivalente

mn f (w) =
s.a.
1

1
2

kwk2 =

1
2

f (w) = kwk

sujeto a las

< w, w >
(12)

yi (< w, xi > +b) 1 0,

i = 1, . . . , n

Obsrvese que es equivalente minimizar f (w) = kwk o el funcional propuesto en (12). El proceso de
minimizacin de este funcional equivalente, en lugar del original, permitir simplicar la notacin posterior,
obteniendo expresiones ms compactas.
5

Este problema de optimizacin con restricciones corresponde a un problema de programacin cuadrtico y es abordable mediante la

teora de la optimizacin.

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 descritos en el anexo, al nal de este tutorial, se pueden enumerar los siguientes pasos encaminados
a resolver el problema primal:
En el primer paso, se construye un problema de optimizacin sin restricciones utilizando

la funcin Lagrangiana :

X
1
L (w, b, ) = < w, w >
i [yi (< w, xi > +b) 1]
2

(13)

i=1

donde los

i 0

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:

X
L (w , b , )
w
i yi xi = 0, i = 1, . . . , n
w

(14)

i=1

L (w , b , ) X

i yi = 0, i = 1, . . . , n
b

(15)

i=1

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

(16)

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

en trminos de

i :
w =

n
X

i yi xi , i = 1, . . . , n

(17)

i=1
y, adems, establecen restricciones adicionales para los coecientes

n
X

i :

i yi = 0, i = 1, . . . , n

(18)

i=1
Con las nuevas relaciones obtenidas, se construir el problema dual. As, bastara usar (17)
para expresar la funcin Lagrangiana slo en funcin de

i .

Antes de ello, se puede reescribir

(13) como

L (w, b, ) =

i=1

i=1

i=1

X
X
X
1
< w, w >
i yi < w, xi > b
i yi +
i
2

El signo menos del segundo sumando es debido a que las restricciones de (12) estn expresadas como
restricciones del tipo g(x) 0 en lugar de g(x) 0 .

Teniendo en cuenta que, segn la condicin (18), el tercer trmino de la expresin anterior es
nulo, la substitucin de (17) en dicha expresin resulta ser

1
L () =
2

n
X

!
i yi xi

n
X

j=1

i=1

i=1

!
i yi xi

n
X

j yj xj +

j=1

i=1

n
X

i=1

! n
n
X
X
i yi xi
j yj xj +
i

i=1
n
X

n
X

j yj xj

n
X

1
L () =
2
L () =

j=1

1
2

n
X

i=1

i j yi yj < xi , xj >

(19)

i=1

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:

m
ax L () =
s.a.

Pn

i=1 i

1
2

Pn

i,j=1 i j yi yj

< xi , xj >
(20)

Pn

i=1 i yi

=0
i 0, i = 1, . . . , n

Al igual que el problema primal, este problema es abordable mediante tcnicas estndar de
programacin cuadrtica. Sin embargo, como se puede comprobar, el tamao del problema
de optimizacin dual escala con el nmero de muestras,
lo hace con la dimensionalidad,

d.

n,

mientras que el problema primal

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:

D(x) =

n
X

i yi < x, xi > +b

(21)

i=1
Volviendo a las restricciones (16), resultantes de aplicar la segunda condicin KKT, se puede
armar que si

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
es decir, el correspondiente ejemplo,

(xi , yi ),

(22)

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 vectores soporte y, por consiguiente, se puede armar que slo los ejemplos que tengan asociado un

i > 0

sern vectores soporte. De este resultado, tambin puede armarse que el hiperplano

de separacin (21) se construir como una combinacin lineal de slo los vectores soporte del
conjunto de ejemplos, ya que el resto de ejemplos tendrn asociado un

j = 0.

Para que la denicin del hiperplano (21) sea completa, es preciso determinar el valor del
parmetro

b .

Su valor se calcula despejando

de (22):

b = yvs < w , xvs >


7

(23)

(xvs , yvs ) representa la tupla de cualquier vector soporte, junto con su valor de clase, es
i distinto de cero. En la prctica,

es ms robusto obtener el valor de b promediando a partir de todos los vectores soporte, Nvs .

donde

decir, la tupla de cualquier ejemplo que tenga asociado un


As, la expresin (23) se transforma en:

Nvs
1 X
b =
(yvs < w , xvs >)
Nvs

(24)

i=1

Finalmente, haciendo uso de (17) en (23), o en (24), permitir tambin calcular el valor de

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 problemas 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 ,


Por tanto, para un ejemplo

(xi , yi ),

i 0, i = 1, . . . , n

su variable de holgura,

i ,

(25)

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
holgura,

Pn

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 maximizar el margen, ya que podramos lograrlo a costa de clasicar errneamente muchos ejemplos.
Por tanto, la funcin a optimizar debe incluir, de alguna forma, los errores de clasicacin que

xk
k=1+|D(xk)|

D(x)> +1
j=1+|D(xj)|

)=
D(x

xj

+1
xi

i=1-|D(xi)|

)=
D(x

xi

1
)= x
(
D

D(x)< -1
Figura 4: En el caso de ejemplos no-separables, las variables de holgura miden la desviacin desde
el borde del margen de la clase respectiva. As, los ejemplos xi , xj y xk son, cada uno de ellos, noseparables (i , j , k > 0. Sin embargo, xi est correctamente clasicado, mientras que xj y xk estn
en el lado incorrecto de la frontera de decisin y, por tanto, mal clasicados.

est cometiendo el hiperplano de separacin, es decir:

X
1
f (w, ) = kwk2 + C
i
2

(26)

i=1

donde

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
permitira valores de

muy pequeos. En el lmite (C

caso de ejemplos perfectamente separables (i


permitira valores de

0).

),

muy grande

estaramos considerando el

Por contra, un valor de

muy pequeo

muy grandes, es decir, estaramos admitiendo un nmero muy elevado

de ejemplos mal clasicados. En el caso lmite (C


estuvieran mal clasicados (i

).

0),

se permitira que todos los ejemplos

En consecuencia, el nuevo problema de optimizacin consistir en encontrar el hiperplano,


denido por

es decir

b,

que minimiza el funcional (26) y sujeto a las restricciones dadas por (25),

1
2

s.a.

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


i 0, i = 1, . . . , n

< w, w > +C

El hiperplano as denido recibe el nombre de


(del ingls

Pn

mn

i=1 i
(27)

hiperplano de separacin de margen blando

soft margen ), en oposicin al obtenido en el caso perfectamente separable, tambin


hiperplano de separacin de margen duro (del ingls hard margen ). Como en

conocido como

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,

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

i=1

i=1

i=1

X
X
X
1
L (w, b, , , ) = < w, w > +C
i
i [yi (< w, xi > +b) + i 1]
i i
2

(28)

Paso 2: Aplicacin de las condiciones de KKT:

X
L
w
i yi xi = 0
w

(29)

i=1

L X

i yi = 0
b

(30)

L
C i i = 0
i

(31)

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

(32)

i=1

i i = 0, i = 1, . . . , n

(33)

Paso 3: Establecer las relaciones entre las variables del problema primal
del problema dual

(, ).

(w, b, )

con las

Para ello, hacemos uso de la relacion (29):

w =

n
X

i yi xi

(34)

i=1
Paso 4: Establecer restricciones adicionales de las variables duales. Para ello se hace uso
de las relaciones (30-31):

n
X

i yi = 0

(35)

C = i + i

(36)

i=1

Paso 5: Del resultado obtenido en el paso 3, eliminar las variables primales de la funcin
Lagrangiana para obtener as el problema dual que queremos maximizar:

L () =

n
X
i=1

n
1 X
i j yi yj < xi , xj >
2
i,j=1

Finalmente, se obtiene la formalizacin buscada del problema dual :

m
ax
s.a.

Pn

i=1 i

1
2

Pn

i,j=1 i j yi yj

Pn

i=1 i yi

=0
0 i C, i = 1, . . . , n

< xi , xj >
(37)

Obsrvese que, en este caso, aparecen dos familias de multiplicadores de Lagrange, i 0 y i 0, con
i = 1, . . . , n, como consecuencia de las dos familias de restricciones que aparecen en (27). Nuevamente, el signo

menos del tercer y cuarto sumando obedece a que las dos familias de restricciones en (27) estn expresadas
como restricciones del tipo g(x) 0 en lugar de g(x) 0 .
4
La restriccin de que i C se obtiene de (36) y de las condiciones i , i 0
10

Como en el caso anterior, la solucin del problema dual nos permitir expresar el hiperplano
de separacin ptima en trminos de

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-

i = 0, entonces C = i .
i = 0. Por tanto, se puede

tados interesantes. As, de la restriccin (36) es fcil deducir que si


De este ltimo resultado y de la restriccin (33) se deduce que
armar que todos los ejemplos
separables (i

xi

cuyo

asociado sea igual a cero corresponden a ejemplos

= 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


ltimo resultado y la restriccin (36), se deduce que
todos los ejemplos

xi

i = C
i 6= 0, de

cuyo

dado que, en este caso,

i = C .

i > 0

A su vez, de este

Por tanto, se puede armar que

correspondern a ejemplos no-separables (i

> 0). Adems,

la restriccin (32) se deduce que

1 yi (< w , xi > +b ) i = 0
es decir

1 yi D(xi ) = i
xi , aunque no
yi D(xi ) 0, entonces i = 1 |D(xi )|. En el segundo
est mal clasicado, es decir, yi D(xi ) < 0, entonces

Aqu se pueden considerar dos casos (ver g. 4). En el primero, el ejemplo,
separable, est bien clasicado, es decir,
caso, el ejemplo,

xi ,

es no separable y

i = 1 + |D(xi )|.

0 < i < C . As, en esta situacin, la restriccin (36)


i 6= 0 y, de este resultado y la restriccin (33), se deduce que i = 0.
0 < i < C , de la restriccin (32) y del resultado obtenido anteriormente

Finalmente, consideremos el caso

permite armar que


Igualmente, si
(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

De la expresin anterior, se esta en disposicin de calcular el valor

b = yi < w , xi >

b ,

0 < i < C .

es decir

i t.q. 0 < i < C

(39)

Obsrvese que, a diferencia del caso perfectamente separable, ahora, para el clculo de
es suciente con elegir cualquier ejemplo
elegir cualquier ejemplo

xi

xi

que tenga asociado un

que tenga asociado un

b = yi
donde los coecientes

n
X

i yi < xj , xi >

j=1

i , i = 1, . . . , n,

no

Ahora, se habr de

0 < i < C .
b en trminos de las variables duales:

que cumpla la restriccin

Finalmente, haciendo uso de (34), es posible expresar

i > 0.

b ,

i t.q. 0 < i < C

(40)

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.

0 < i < C , que


i = C , asociados

Aquellos, para los que

soporte normales y, aquellos para los que

11

corresponderan a vectores
a ejemplos no separables.

Espacio de caractersticas

Espacio de entradas
X1

1(x)

2(x)

X2

: X

x = (x1,x2)

(x) = [ 1(x), 2(x)]

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)

Figura 5:

Esto ltimos reciben el nombre de vectores soporte acotados (del ingls

vectors ).

bounded support

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

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 buenos 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 resolver. 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 hiperplanos 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 ptimos en dichos espacios transformados. A cada uno de estos espacios se le denomina

de caractersticas, para diferenciarlo del espacio de ejemplos de entrada (espacio-x).


Sea
trada

: X F

espacio

la funcin de transformacin que hace corresponder cada vector de en-

con un punto en el espacio de caractersticas

12

F,

donde

(x) = [1 (x), . . . , m (x)]

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

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:

D(x) =

n
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


elementos del espacio de entrada,

X,

K : XX R

que asigna a cada par de

un valor real correspondiente al producto escalar de las

imgenes de dichos elementos en un nuevo espacio

(espacio de caractersticas), es decir,


K(x, x0 ) =< (x), (x0 ) >= 1 (x)1 (x0 ) + ... + m (x)m (x0 )
donde

:XF

(43)

Por tanto, una funcin kernel puede sustituir convenientemente el producto escalar en (38).
As, dado el conjunto de funciones base,

= {1 (x), . . . , m (x)}, el problema a resolver en


i , i = 1, . . . n, que optimiza el problema

(42) sigue siendo encontrar el valor de los parmetros


dual (37), pero expresado ahora como:

m
ax
s.a.

Pn

i=1 i

1
2

Pn

i,j=1 i j yi yj K(xi , xj )
(44)

Pn

i=1 i yi

=0
0 i C, i = 1, . . . , n

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

de usar un valor grande (recurdese que

decir,

1 (x1 , x2 ) = 1
4 (x1 , x2 ) = x1 x2
7 (x1 , x2 ) = x21 x2
10 (x1 , x2 ) = x32

2 (x1 , x2 ) = x1
5 (x1 , x2 ) = x21
8 (x1 , x2 ) = x1 x22

3 (x1 , x2 ) = x2
6 (x1 , x2 ) = x22
9 (x1 , x2 ) = x31

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

Obsrvese que se ha prescindido del termino b puesto que ste puede ser representado incluyendo en la
base de funciones de transformacin la funcin constante 1 (x) = 1
13

que sea capaz de separar los ejemplos. La frontera de decisin lineal asociada a dicho hiperplano
se transformar en un lmite de decisin polinomial de grado tres en el espacio de entradas.
Obsrvese tambin que si, en este ejemplo, un problema de tan solo dos dimensiones se transforma en uno de diez dimensiones, un pequeo aumento en la dimensionalidad del espacio de
entrada puede provocar un gran aumento en la dimensionalidad del espacio de caractersticas.
En el caso lmite, existen incluso espacios de caractersticas de dimensin innita. Es por esta
razn por la que, ahora, el problema de optimizacin se expresa slo en su forma dual, ya que,
como se ha visto en las dos secciones anteriores, la solucin de este problema no depende de
la dimensionalidad del espacio sino de la cardinalidad del conjunto de vectores soporte.
Si la transformacin del espacio de entradas al espacio de caractersticas puede denirse
a partir de un conjunto innito de funciones base, surge la pregunta de cmo transformar los
ejemplos de entrada, de dimension nita, en otro espacio de dimensin innita. El siguiente
teorema responde a esta pregunta.

Teorema de Aronszajn. Para cualquier funcin K


semidenida positiva 7 , existe un espacio de Hilbert y una

: X X R que sea simtrica 6 y


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)


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

(47)



2 
K(x, x0 ) = exp x x0 , > 0

(48)

-p:

kernel polinmico de grado

kernel gaussiano:

0
Una funcin K : X X R es simtrica si K(x, x0 ) = K(x
x0 X
Pn , x)
Px,
n
Una funcin K : X X R es semidenida positiva si i=1 i=1 ci cj K(xi , xj ) 0, para cualesquiera
conjuntos x1 , . . . , xn X y c1 , . . . cn R, siendo n > 0.

14

2
1.5
1

x2

0.5
0
0.5
1
1.5
2
2

Figura 6:

0
x1

Representacin del conjunto de datos perteneciente al problema XOR.

kernel sigmoidal:

K(x, x0 ) = tanh( < x, x0 > + )


A los parmetros

(49)

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

1
2
3
4

(x1 , x2 )
(+1, +1)
(1, +1)
(1, 1)
(+1, 1)

y
+1
1
+1
1

De la g. 6, resulta obvio que es imposible resolver este problema con un lmite de decisin
lineal en el espacio original de entradas. La solucin que se propone es crear un clasicador

p = 2, = 1 y = 1:

2
K2 (x, x0 ) = < x, x0 > +1

SVM, usando un kernel polinmico 47, con

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
X

m
ax

i=1

s.a.

4
X
i=1

(50)

i yi = 0,

4
1 X
i j yi yj K2 (x, xi )
2
i,j=1

0 i C, i = 1, . . . , 4

15

La solucin a este problema de optimizacin es


ningn

para el que i

= 0,

i = 0,125, i = 1, . . . 4.

Dado que no existe

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:

D(x) =

n
X

i yi K(x, xi ) = 0,125

i=1

4
X

yi K2 (x, xi )

(51)

i=1

Obsrvese que con esta expresin habramos resuelto el problema de clasicacin planteado
inicialmente, es decir, bastara evaluarla con cualquier ejemplo (de clasicacin conocida o
desconocida) y asignarle la clase correspondiente, de acuerdo a lo indicado en (2). Sin embargo,
aprovecharemos el problema XOR para obtener otros resultados relacionados con diferentes
conceptos descritos anteriormente. As, por ejemplo, de la denicin de funcin kernel (43) y del
kernel aqu empleado (50), es posible obtener el conjunto base de funciones de transformacin:


2
K(x, x0 ) =< (x), (x0 ) >= < x, x0 > +1 =



< (x1 , x2 ) , x01 , x02 > +1 =
2
2
x21 x01 + x22 x02 + 2x1 x2 x01 x02 + 2x1 x01 + 2x2 x02 + 1 =

 

2
2 
< 1, 2x1 , 2x2 , 2x1 x2 , x21 , x22 , 1, 2x01 , 2x02 , , 2x01 x02 , x01 , x02
>
es decir,

2 = {1 (x), . . . , 6 (x)},

donde

2 (x1 , x2 ) = 2x1
5 (x1 , x2 ) = x21

1 (x1 , x2 ) = 1
4 (x1 , x2 ) = 2x1 x2

3 (x1 , x2 ) = 2x2 ,
6 (x1 , x2 ) = x22

(52)

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:

D(x) = 0,125

P4

i=1 yi K2 (x, xi )

= 0,125

P4

i=1 yi

< 2 (x), 2 (xi ) >=


0,125 1 (x) + 22 (x) + 23 (x) + 24 (x) + 5 (x) + 6 (x)+
(1 (x)) +
1 (x)

(1 (x))

22 (x)

22 (x)

22 (x) +

23 (x) +

23 (x) +

23 (x) +

24 (x) 5 (x) 6 (x)+

(53)

24 (x) + 5 (x) + 6 (x)+



0,125 4 24 (x) =


24 (x) 5 (x) 6 (x) =
1
2

4 (x)

Del resultado obtenido, se puede armar que, de las seis dimensiones del espacio de caractersticas, la funcin lineal de decisin en dicho espacio se expresa en trminos de slo una
de ellas,

4 (x).

Es decir, slo se necesita una dimensin del espacio transformado para poder

separar los ejemplos del conjunto de entrenamiento original (ver g. 7a). Este hecho se conrma al calcular los ejemplos transformados de los ejemplos originales en el nuevo espacio de
caractersticas, mostrados en la siguiente tabla:

16

2
D(x1,x2)= 1

D(x1,x2)= +1

1.5
1

D(x)=0

0.5
D(x)=+1
x2

D(x)= 1

D(x1,x2)= 0

0.5
=

1
1.5

1.5

0.5

0
4(x)

0.5

1.5

D(x1,x2)= +1

2
2

1.5

D(x1,x2)= 1

0.5

(a)

0
x1

0.5

1.5

(b)

Solucin al problema XOR: (a) hiperplano de separacin en el espacio de caractersticas, junto con
su margen asociado (los cuatro ejemplos son vectores soporte) (b) funcin de decisin no lineal en el espacio de
ejemplos original resultante de transformar el hiperplano obtenido en (a) en coordenadas del espacio original.
Figura 7:

Ejemplo

Espacio de entradas

Espacio de caractersticas

Clase

#
1
2
3
4

(x1 , x2 )
(+1, +1)
(1, +1)
(1, 1)
(+1, 1)

(1 (x), 2 (x), . . . , 6 (x))




1, 2, 2,
2, 1, 1

1, 2,
2, 2, 1, 1

1,
2,

2,
2,
1,
1


1, 2, 2, 2, 1, 1

y
+1
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
2

4 (x) = 0

y para obtener las ecuaciones de las fronteras que delimitan el margen, habr que calcular

D(x) = +1

D(x) = 1,

es decir:

4 (x) = +2
4 (x) = 2

De la g. 7a, resulta fcil deducir que el valor del margen mximo es

2. No obstante, el

valor de dicho margen mximo se puede calcular matemticamente. Para ello, bastar calcular
el valor de

kw k

y aplicar (9). A su vez, el valor de

conocidos los valores de i ,

i = 1, . . . 4,

w =

4
X

se puede obtener a partir de (17),

es decir,

i yi xi

i=1
donde los valores de



1
= 0, 0, 0, , 0, 0
2

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:

max =

1
=
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

x1 x2 = 0

D(x) = 0,

es decir

x1 = 0

x2 = 0

y la de las fronteras que delimitan los mrgenes por

D(x) = +1

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-

Support Vector Regression ). As, dado un conjunto de ejemplos de entrenamiento S = {(x1 , y1 ) , . . . , (xn , yn )},
gresin. En estos casos, es muy comn designarlas por el acrnimo SVR (del ingls
donde

x i Rd

yi R ,

en el que se asume que los valores

yi

de todos los ejemplos de

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 ,


una zona insensible, de anchura

2,

L (y, f (x)) =

(ver g. 8) caracterizada por ser una funcin lineal con


en la que el error es nulo, y viene denida por:

si

|y f (x)| 

|y f (x)| 

(55)

en otro caso

La principal razn para elegir esta funcin es la de permitir cierta dispersin en la funcin solucin, de tal forma que todos los ejemplos que quedan connados en la regin
por

tubular

denida

 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

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
variables de holgura,

18

Figura 8: SVR con margen blando: se muestra la relacin entre las variables de holgura,
asociadas a ejemplos que quedan fuera de la zona tubular

-insensible

i , j+ ,

y la funcin de prdida,

L .
que no puede ocurrir simultneamente que la prediccin de un ejemplo sea simultneamente

mayor (i > 0) y menor (i > 0) que su valor real, se puede armar que i i = 0.
Tal y como ocurra en el problema de clasicacin con margen blando, aqu tambin la
suma de todas las variables de holgura permitir, de alguna manera, medir el coste asociado
al nmero de ejemplos con un error de prediccin no nulo. Por tanto, la funcin a optimizar
ser la misma que la del problema de clasicacin con margen blando (26), con la salvedad de
que aqu tenemos dos tipos de variables de holgura. En denitiva, el problema primal, en el
caso de regresin, queda denido como:

Pn

i+ + i

mn

1
2

s.a.

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


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

< w, w > +C

i=1


(56)

La transformacin al problema dual requiere los mismos pasos que se han seguido hasta ahora
en secciones anteriores, es decir:
Paso 1: Obtencin de la funcin Lagrangiana


L w, b, + , , + , , + , =

1
2

< w, w > +C

Pn

+
i=1 i

i=1 i

Pn
Pn

Pn Pn
i=1

i=1


i+ + i +


(< w, xi > +b) yi  i+ +
yi (< w, xi > +b) 

+ +
i=1 i i

(57)


i=1 i i

Pn

Paso 2: Aplicacin de las condiciones de KKT:

i=1

i=1

X
X
L
w+
i+ xi
i xi = 0
w
19

(58)

i=1

i=1

L X + X

i
i = 0
b

(59)

L
C i+ i+ = 0
i+

(60)

L
C i i = 0
i

(61)



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


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

(62)
(63)

i+ i+ = 0

(64)

i i = 0

(65)

Paso 3: Establecer las relaciones entre las variables del problema primal
las del problema dual

w, b, + ,

con

+ , , + , . Para ello, se hace uso de (58):




n
X

w=


i i+ xi

i=1

(66)

Paso 4: Establecer restricciones adicionales de las variables duales. Para ello se hace uso
de (59)-(61), es decir:

n
X


i+ i = 0

i=1

(67)

i+ = C i+

(68)

i = C i

(69)

Paso 5: Del resultado obtenido en el paso 3, eliminar las variables primales de la funcin
Lagrangiana:

L (+ , ) =

Pn

i=1

1
2

Pn



P
i i+ yi  ni=1 i + i+

i,j=1

i i+




j j+ < xi , xj >

(70)

Finalmente, se obtiene la formalizacin buscada del problema dual :

m
ax

s.a.

+
 ni=1 i + i+
i=1 i i yi



+
1 Pn
j j+ < xi , xj >
i,j=1 i i
2

Pn

i=1 i i
i+ , i C,

Pn
0

(71)

=0
i = 1, . . . , n

El regresor asociado a la funcin lineal buscada resulta ser

f (x) =

n
X
i=1


i +
< x, xi > +b
i

(72)

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

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

C i i = 0

De (62)-(63), se deduce que

i+ i = 0,

(73)
(74)

es decir, ambas variables no pueden ser simultnea-

mente distintas de cero. De lo contrario, se obtendran dos valores diferentes de

para cada

una de las ecuaciones (62)-(63). Por otro lado, a partir de (73)-(74), se puede armar que si
un ejemplo

>0

+
y i

(xi , yi ) esta fuera de la zona tubular -insensible, es decir, i = 0 y i+ > 0 o


= 0, entonces i+ = C (primer caso) o i = C (segundo caso). Estas deducciones

permiten, a su vez, concluir que:

(< w , xi > +b ) yi  0
(<

w , xi

>

+b )

i+ = 0

si

i+ < C
(75)

+
si i

yi  0

>0

o lo que es lo mismo:

yi < w , xi > + b yi < w , xi > +

si

0 < i+ C

(76)

es decir:

b = yi < w , xi > +
Trabajando de forma anloga para

i ,

0 < i+ < C

(77)

se puede obtener que

b = yi < w , xi > 
Obsrvese que el valor de

si

si

0 < i < C

(78)

siempre ser nico porque las condiciones asociadas a las expre-

i+ i = 0. As, si se cumple
< C , entonces i = 0 y, por tanto, no

siones (77) y (78) no pueden ser ciertas simultneamente, ya que


la condicin de la primera expresin, es decir,

0<

i+

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:

f (x) =

n
X
i=1

Obsrvese que se prescinde del trmino


i +
i K(x, xi )

(79)

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:

m
ax

s.a.

+
 ni=1 i + i+
i=1 i i yi



+
1 Pn
j j+ K(xi , xj )
i,j=1 i i
2

Pn

i=1 i i
+

i , i C,

Pn
0

(80)

=0
i = 1, . . . , n

que no es ms que el problema dual (71), en el que los productos escalares se sustituyen por
funciones kernel.
A modo de resumen, puede decirse que para resolver problemas de regresin mediante SVRs
hay que seleccionar, adems del kernel ms adecuado (en el caso de regresin no lineal), tanto

como

C.

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


C

se necesitarn, y viceversa. Por otro lado, la metodologa usada para seleccionar el valor de
ms adecuado, se basa normalmente en tcnicas de validacin cruzada.

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 clasicacin y regresin mediante mquinas de vectores soporte. Entre sus principales caractersticas,
cabe citar que es un software de cdigo abierto (disponible en C++ y Java); implementa diferentes formulaciones SVM con la posibilidad de usar diferentes tipos de kernels; permite la
clasicacin multiclase y la posibilidad de usar tcnicas de validacin cruzada para la seleccin
de modelos. Tambin ofrece interfaces para una gran cantidad de lenguajes de programacin
(Python, R, MATLAB, Perl, Ruby, Weka, Common LISP, CLISP, Haskell, OCaml, LabVIEW,
y PHP). Adems, en su pgina web dispone de un

applet

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)

Ejemplos de salida del applet de la pgina web del software LIBSVM: (a) frontera de decisin
no-lineal en un problema de clasicacin binaria; (b) regresor no-lineal del conjunto de ejemplos mostrado en
la gura.
Figura 9:

sino tambin problemas de ranking; permite manejar varios cientos de miles de ejemplos de
entrenamiento, junto con muchos miles de vectores soporte; soporta funciones kernel estndar
y, adems, permite al usuario denir sus propias funciones kernel. Como novedad presenta una
implementacin SVM, denominada SVM

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

mn f (x),
s.a.
Si todas las funciones

gi

problema primal :

gi (x) 0,

(81)

i = 1, . . . , n

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

i = 1, ..., n.

gi (x ) 0

f (x ) f (x), x

t.q.

gi (x) 0,

donde

Se dene la funcin de Lagrange como:

L (x, ) = f (x) +

n
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

23

i ,

ms

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:

m
ax () = nf L (x, )
x

(83)
s.a.

i (x) 0,

i = 1, . . . , n

El inters del problema dual es que, bajo determinadas condiciones, al resolverlo, obtenemos
tambin la solucin del problema primal asociado. La ventaja de esta transformacin es que
normalmente el problema dual es ms fcil de resolver que el primal. Los dos siguiente teoremas
ayudan a entender la relacin existente entre las soluciones de los dos problemas.

Teorema 1. Sean x y vectores tales que satisfacen las restricciones respectivas del
problema primal y dual, es decir,gi (x) 0 y i 0, con i = 1, ..., n, entonces () f (x).
Del teorema anterior se pueden extraer dos corolarios. El primero establece que el problema
dual est acotado superiormente por el problema primal. El segundo permite armar que si

() = f (x),

entonces

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
de

L(x, )

respecto de

y un mximo de

L(x, )

respecto

.
El segundo teorema, denominado teorema de Karush-Kuhn-Tucker establece las condicio-

nes sucientes (tambin conocidas como condiciones KKT) para que un punto

sea solucin

del problema primal.

Rd

Teorema de Karush-Kuhn-Tucker. Si en el
R y gi : Rd R, i = 1, . . . , n son todas ellas

i 0, i = 1, . . . , n tales que:

problema primal (81), las funciones f :


funciones convexas, y existen constantes

f (x ) X gi (x )
+
i
=0
xj
xj

j = 1, . . . , d

(84)

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

()

nmo de la funcin Lagrangiana, punto en el que las derivadas parciales respecto de


ser cero. La segunda condicin, denominada

condicin complementaria,

que los ptimos del problema primal y dual coincidan ((

= f (x )),

como el

deben

es la que garantizar
ya que, de ser cierta

la condicin, todos los sumandos del sumatorio de la funcin Lagrangiana (82) seran nulos.
El inters de este teorema es que establece las condiciones que han de cumplirse para
poder resolver el problema primal gracias al dual. As, partiendo del problema primal, se
construye la funcin lagrangiana. Seguidamente, se aplica la primera condicin del teorema
de KKT a dicha funcin y esto permite obtener un conjunto de relaciones que, sustituidas

24

en la funcin lagrangiana, harn desaparecer todas las variables primales de dicha funcin.
Este paso es equivalente a calcular

() = nf x L (x, ).

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 Computational Learning Theory, COLT '92 (pp. 144152). New York, NY, USA: ACM.

for optimal margin classiers. In

[Cortes & Vapnik, 1995] Cortes, C. & Vapnik, V. (1995). Support-vector networks.

Learning, 20(3), 273297.

25

Machine

También podría gustarte