taller svm

10
Taller de M´aquinas de Soporte Vectorial (SVM): Clasificaci´ on y Regresi´on Juli´ an D. Arias Londo˜ no, Juan Felipe P´ erez Departamento de Ingenier´ ıa de Sistemas Universidad de Antioquia, Medell´ ın, Colombia [email protected] 12 de julio de 2015 1. Marcote´orico Hasta este momento se han estudiado varias t´ ecnicas enfocadas en los dos problemas fundamentales del aprendizaje de m´aquina, clasificaci´ on y regresi´ on. La utilizaci´on de estas t´ ecnicas genera una frontera de decisi´on que separa los datos de forma correcta, pero surge la siguiente pregunta ¿La frontera de decisi´ on obtenida es la mejor frontera posible que separa los datos?. Una t´ ecnica que se encarga de crear esta frontera es llamada aquina de Soporte Vectorial o SVM por sus siglas en ingl´ es. 1.1. Clasificasi´ on Las M´aquinas de Soporte Vectorial son un tipo de modelos de aprendizaje que buscan encontrar la mejor frontera de decisi´on, la cual se encuentra en un punto medio entre las dos clases a clasificar, utilizando como criterio de ajuste la m´ aximizaci´ on del margen, entendiendo margen como la distancia m´as corta entre la frontera de decisi´on y cualquiera de las muestras [1]. Para realizar el entrenamiento del modelo se usa como par´ ametros X y t, donde el primero son la muestras de entrenamiento y el ultimo las clases a clasificar, y t ∈-1, 1. Si t n = -1 para y(x n ) < 0y t n = 1 para y(x n ) > 0, entonces en una soluci´on en la que todos los puntos se encuentran bien clasificados se cumple que t n y(x n ) > 0 (x n ,t n ). Teniendo en cuenta que la distancia perpendicular de un punto x a un hiperplano definido por y(x) = 0 est´ a dado por |y(x)|/kwk, lo que es equivalente a: t n y(x n ) kwk = t n (w T x + b) kwk (1) por lo tanto la soluci´on de m´aximo margen se encuentra resolviendo: arg max w,b 1 kwk min n (t n (w T x n + b (2) 1

Upload: diulioz

Post on 05-Jan-2016

13 views

Category:

Documents


0 download

DESCRIPTION

Maquinas de soporte vectorial

TRANSCRIPT

Page 1: Taller SVM

Taller de Maquinas de Soporte Vectorial (SVM):Clasificacion y Regresion

Julian D. Arias Londono, Juan Felipe PerezDepartamento de Ingenierıa de Sistemas

Universidad de Antioquia, Medellın, [email protected]

12 de julio de 2015

1. Marco teorico

Hasta este momento se han estudiado varias tecnicas enfocadas en los dos problemasfundamentales del aprendizaje de maquina, clasificacion y regresion. La utilizacion deestas tecnicas genera una frontera de decision que separa los datos de forma correcta,pero surge la siguiente pregunta ¿La frontera de decision obtenida es la mejor fronteraposible que separa los datos?. Una tecnica que se encarga de crear esta frontera es llamadaMaquina de Soporte Vectorial o SVM por sus siglas en ingles.

1.1. Clasificasion

Las Maquinas de Soporte Vectorial son un tipo de modelos de aprendizaje que buscanencontrar la mejor frontera de decision, la cual se encuentra en un punto medio entrelas dos clases a clasificar, utilizando como criterio de ajuste la maximizacion del margen,entendiendo margen como la distancia mas corta entre la frontera de decision y cualquierade las muestras [1].

Para realizar el entrenamiento del modelo se usa como parametros X y t, donde elprimero son la muestras de entrenamiento y el ultimo las clases a clasificar, y t ∈ −1, 1.Si tn = −1 para y(xn) < 0 y tn = 1 para y(xn) > 0, entonces en una solucion en laque todos los puntos se encuentran bien clasificados se cumple que tny(xn) > 0 ∀(xn, tn).Teniendo en cuenta que la distancia perpendicular de un punto x a un hiperplano definidopor y(x) = 0 esta dado por |y(x)|/‖w‖, lo que es equivalente a:

tny(xn)

‖w‖=tn(wTx+ b)

‖w‖(1)

por lo tanto la solucion de maximo margen se encuentra resolviendo:

arg maxw,b

{1

‖w‖minn

[(tn(wTxn + b

]}(2)

1

Page 2: Taller SVM

Aunque la funcion anterior corresponde a un criterio de entrenamiento de maximiza-cion del margen, el proceso de optimizacion allı planteado es muy complejo. Por esa razonse debe encontrar una forma alternativa.

Teniendo en cuenta que si se reescala el vector w como kw y b como kb, siendo k unvalor real, la distancia tny(xn)/‖w‖ sigue sin cambiar, se puede asumir que para el puntomas cercano a la superficie tn(wTx+ b) = 1, por consiguiente todos los puntos cumpliranla condicion:

tn(wTx+ b) >= 1, n = 1, ..., N

Entonces el termino a minimizar en la funcion criterio anterior es igual a 1, por lotanto ahora solo se requiere maximizar 1/‖w‖ o lo que es equivalente a minimizar ‖w‖2,entonces:

arg maxw,b

1

2‖w‖2 Sujeto a tn(wTxn + b) >= 1 (3)

Para solucionar el problema se introducen multiplicadores de Lagrange an >= 0, paracada restriccion

L(w, b, a) =1

2‖w‖2 −

N∑n=1

an{tn(wTxn + b)− 1

}(4)

Derivando con respecto a w y a b e igualando a cero se obtienen las siguientes expre-siones:

w =N∑n=1

antnxn

0 =N∑n=1

antn

Reemplazando las dos expresiones anteriores, en la funcion criterio original y usandola equivalencia 1

2‖w‖2 = 1

2wwT y reescribiendo:

L(a) =N∑n=1

an −1

2

N∑n=1

N∑m=1

anamtntmxTnxm (5)

Sujeto a an >= 0,N∑n=1

antn = 0

Como se puede ver la funcion objetivo que se quiere optimizar no depende del vectorde pesos w sino unicamente del producto xTnxm. La gran fortaleza de las SVM radica enque el producto punto anterior se puede reemplazar por cualquier funcion k(xn, xm) quecumpla las condiciones de Mercer.

2

Page 3: Taller SVM

Usando la formulacion anterior y resolviendo el problema de optimizacion cuadratico,la funcion de decision se convierte en:

y(x) =N∑n=1

antnk(xn, xm) + b (6)

Y se satisfacen las siguientes condiciones:

an >= 0

tny(xn)− 1 >= 0

an {tny(xn)− 1} = 0

Los puntos con an = 0, no aparecen en la sumatoria y pueden descartarse, los demasse conocen como vectores de soporte. Estos vectores son los individuos mas cercanosa la frontera, permitiendo utilizar solo estas muestras para realizar la clasificacion, consi-derando que los vectores de soporte son suficientes para determinar la pertenencia a unaclase o a otra, puesto que las muestras que estan mas lejanas a la lınea de decision son lasque tienen menor incertidumbre y se consideran perfectamente clasificadas, sin aportarmucha informacion a la decision tomada acerca de las nuevas muestras que se encuentrencerca de la frontera [1].

1.1.1. Clases no separables linealmente

La formulacion del modelo SVM hecho hasta ahora asume que las clases son separables,al menos en un espacio de alta dimension. Sin embargo, las distribuciones de las clasespueden estar traslapadas y por consiguiente es necesario modificar la SVM para quepermita que algunas muestras queden mal clasificadas [1]. Las muestras que pertenecen auna clase y quedan al lado contrario de la frontera se consideran como mal clasificadas,por lo cual se hace uso de un margen, el cual permite que estas muestras sean clasificadasde forma correcta haciendo el calculo de la menor distancia a la frontera y a los lımites delmargen. Esta margen es llamada imagen de relajacion, porque le da al modelo un ciertogrado de libertad. El modelo tiene un parametro C el cual es el encargado de controlar elsobreajuste en terminos de los vectores de soporte. Si C →∞, no hay valor que regulariceel modelo, obteniendo el modelo original. La condicion que se debe cumplir es:

0 <= an <= C

1.1.2. Estrategia One vs All

El modelo SVM esta disenado para resolver problemas de clasificacion biclase, es decir,el modelo solo funciona para problemas de no mas de dos clases, por este motivo se hacenecesario usar alguna tecnica que permita aplicar la SVM en un problema multiclase.Una de la tecnicas utilizadas es la estrategia One vs All, la cual consiste en entrenar unclasificador por cada clase y haciendo al resto de las clases como si fueran de una solaclase, lo que hace el problema biclase. Esto se clase por cada clase, obteniendo un modelodiferente por cada clase que tenga el problema.

3

Page 4: Taller SVM

Al momento de hacer la prediccion sobre una muestra nueva se debe evaluar estamuestra en cada uno de los clasificadores, obteniendo que la muestra pertenece a una delas clases, es decir un 1 en uno de los clasificadores y 0 en el resto. En el caso de las SVMel resultado es un 1 en un clasificador y -1 en el resto. Otro resultado que se puede obteneres que varios clasificadores devuelvan un 1 en la respuesta, esto significa que la muestrafue clasificada en varias clases. Para solucionar este problema se debe evaluar la muestracon los datos obtenidos en los modelos en conflicto, y dependiendo del modelo empleadoevalua y se determina a cual de las clases pertenece de forma diferente, en el caso de lasmaquinas de soporte vectorial se utiliza la ecuacion 6, utilizando los vectores de soportey la b de cada modelo, y la funcion en la cual se obtenga el mayor valor se considera quela muestra hace parte de esa clase.

Un ejemplo seria en un problema de tres clases clase 1, clase 2 y clase 3. Se entrenaun clasificador para la clase 1, considerando a las clases 2 y 3 como si hicieran parte dela misma clase, poniendo un 1 de etiqueta en la clase 1, y un -1 a las clases 2 y 3, y seentrena el modelo. Este mismo procedimiento se repite con las otras dos clases. Al evaluaruna muestra nueva x se obtiene un -1 con el clasificador para la primera clase y un 1en los clasificadores de las otras dos clases, lo que significa que esta muestra se clasificocomo si hiera parte de la clase 2 y de la clase 3. Lo siguiente es evaluar la muestra con laecuacion 6 y usando los vectores de soporte y la b obtenidos en el entrenamiento de cadamodelo, de la siguiente manera:

y2(x) =N∑

n2=1

an2tn2k(xn2, xm) + b2

y3(x) =N∑

n3=1

an3tn3k(xn3, xm) + b3

Despues de evaluar estas dos funciones se considera que la muestra x hace parte de laclase en el cual el valor y sea el menor, en el ejemplo si y2 es menor que y3 se concluyeque la muestra x pertenece a la clase 2.

1.2. Regresion

Ahora expandamos las maquinas de soporte vectorial a problemas de regresion. Enregresion lineal, se minimiza una funcion de error minimizada:

1

2

N∑n=1

{yn − tn}2 +λ

2‖w‖ (7)

En SVM esta funcion es reemplazada por una funcion de error insensible a ε, la cualadquiere un error igual a 0 si el valor absoluto de la diferencia entre y(x) y el objetivo tes menor que ε, donde ε > 0.

Eε(y(x)− t) =

{0, si |y(x)− t| < ε;|y(x)− t| − ε, en otro caso

4

Page 5: Taller SVM

Se puede expresar el problema de optimizacion introduciendo variables de de relaja-cion. Por cada punto xn, se necesitan dos variables ξ >= 0 y ξ >= 0, donde ξ > 0corresponde a un punto para el que tn > y(xn) + ε y ξ > 0 corresponde a un punto parael que tn < y(xn)− ε.

La condicion para que un punto este dentro de el margen de ε es que yn− ε <= tn <=yn+ε, donde yn = y(xn). Introduciendo las variables de relajacion permite a ciertos puntosestar fuera del margen, estas condiciones son

tn <= y(xn) + ε+ ξn

tn >= y(xn)− ε− ξ

La funcion de error esta dada por:

C

N∑n=1

(ξn + ξn) +1

2‖w‖2 (8)

Esta funcion debe ser minimizada sujeta a las restricciones ξn >= 0 y ξn >= 0.Esto se puede lograr introduciendo los multiplicadores de Lagrange an >= 0, an >=0, µn >= 0, µn >= 0 y se optimiza la funcion. Luego substituyendo por y(n) usando

y(x) = wTφ(x) + b y obteniendo las derivadas con respecto a w, b, ξN y ξn e igualando acero se eliminan las variables correspondientes del Lagrangeciano, se obtiene:

L(a, a) = −1

2

N∑n=1

N∑m=1

(an − an)(am − am)k(xn, xm)− εN∑n=1

(an + an) +N∑n=1

(an − an)tn (9)

Esta funcion se debe maximizar con respecto a a y an, donde se ha introducido el kernelk(x, x′) = φ(x)Tφ(x′). De nuevo, esta es una maximizacion restringida, y para encontrarlase evidencia que an >= 0 y an >= 0 ambas restricciones son requeridas porque estos sonmultiplicadores de Lagrange. Otra vez se tienen las restricciones:

0 <= an <= C

0 <= an <= C

Ademas deN∑n=1

(an − an) = 0

Por ultimo remplazando y reacomodando se tiene que

y(x) =N∑n=1

(an − an)k(x, xn) + b (10)

Esta ecuacion es expresada en terminos de la funcion kernel [1].

5

Page 6: Taller SVM

2. Ejercicios

1. Adjunto a este taller encontrara los archivos: Main.m, entrenarSVM.m, testSVM.m,evaluarFuncioSVM.m y kernelmat.m. El archivo Main.m es el script principal, elcual lleva a cabo un experimento de clasificacion y de regresion. Una vez corra elScript principal se le solicitara ingresar el numeral del punto que desea resolver (pararegresion ingrese 1 o ingrese 2 para clasificacion). Analice con cuidado el script ycomprenda como esta construido.

Descargue la librerıa LS-SVMlab del link: http://www.esat.kuleuven.be/sista/lssvmlab/. Use los comandos trainlssvm, para entrenar el modelo, y simlssvm, paraevaluarlo. La funcion trainlssvm retorna el modelo para evaluar la SVM y recibecomo parametro un modelo el cual debe tener: la matriz X con los datos de entre-namiento, el vector Y con los valores de las muestras, el tipo de modelo que se deseaimplementar, ’f’ si es una regresion y ’c’ si es clasificacion, el valor del parametrode regularizacion, el valor de la desviacion estandar γ, y el tipo de kernel, que pordefecto es un kernel Gaussiano.

2. Realice un modelo de regresion usando maquinas de soporte vectorial con un kernelGaussiano. Cambie los valores del box constraint y gamma variando desde 0.01 hasta100 en potencias de 10, y complete la siguiente tabla. La primera tabla completelacon el resultado de Y1 y la segunda tabla completela con los resultados de Y2. Hagalas modificaciones necesarias para completarlas de forma correcta.

Responda las siguientes preguntas:

Explique en sus palabras que son los vectores de soporte.

R:/

Explique en sus palabras en que se diferencian las maquinas de soporte vecto-rial para clasificacion con las maquinas de soporte para regresion.

R:/

6

Page 7: Taller SVM

Box Constraint Gamma ECM Intervalo de Confianza

0.01

0.01

0.1

1

10

100

0.1

0.01

0.1

1

10

100

1

0.01

0.1

1

10

100

10

0.01

0.1

1

10

100

100

0.01

0.1

1

10

100

7

Page 8: Taller SVM

Box Constraint Gamma ECM Intervalo de Confianza

0.01

0.01

0.1

1

10

100

0.1

0.01

0.1

1

10

100

1

0.01

0.1

1

10

100

10

0.01

0.1

1

10

100

100

0.01

0.1

1

10

100

3. Implemente un modelo de SVM con un kernel Gaussiano y la estrategia One vsAll para realizar la clasificacion. Cambie los valores del box constraint y gammavariando desde 0.01 hasta 100 en potencias de 10, y complete la siguiente tabla:

8

Page 9: Taller SVM

Box Constraint Gamma Eficiencia Intervalo de Confianza

0.01

0.01

0.1

1

10

100

0.1

0.01

0.1

1

10

100

1

0.01

0.1

1

10

100

10

0.01

0.1

1

10

100

100

0.01

0.1

1

10

100

9

Page 10: Taller SVM

Responda las siguientes preguntas:

¿Por que es necesario utilizar la estrategia One vs All en este problema?

R:/

Explique porque el valor del box constraint controla el numero de vectores desoporte.

R:/

Explique la metodologıa de validacion crossvalidation.

R:/

Referencias

[1] Bishop, C.M. Pattern Recognition and Machine Learning. Springer, 2006.

10