Você está na página 1de 31

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Support Vector Machine


Juan Carlos Caicedo Juan Carlos Mendivelso
Maestria en Ingenieria de Sistemas y Computacion Universidad Nacional de Colombia

20 de marzo de 2007

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Agenda

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Outline

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Introduccion

Clasicador lineal que utiliza la siguiente metodolog a Mapear puntos de entrenamiento a un espacio dimensional mayor Construir un hiperplano que separa los puntos en las clases respectivas Clasicar un punto nuevo de acuerdo a su ubicaci on con respecto al hiperplano de separaci on

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Outline

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Preliminares

Para el caso de 2 clases: Los xk son los patrones de entrenamiento en zk {1, 1} Los patrones xk son transformados a yk = (xk ) Los yk est an en
d, j,

k = 1, ..., n

Los patrones xk tienen un atributo zk que determina la clase

con d > j

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Discriminador lineal

Se construye un discriminador lineal en el espacio aumentado de la forma g (y ) =< w , y >= w t y

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Hiperplano de Separaci on
Este discriminador es una familia de hiperplanos y el hiperplano de separaci on es: wty = 0

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Escala del vector w


El vector w puede tener cualquier escala y sigue generando el mismo hiperplano. Aunque el plano y los patrones permanezcan est aticos la distancia entre ellos depende de la norma de w :

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Escala del vector w


Un patr on y puede expresarse como: y = yp + r Teniendo en cuenta que g (yp ) = 0 : g (y ) = w t y = w t yp + r g (y ) = r w w
2

w w

w w w

=r

Entonces, la distancia del patr on yk al plano es: r=


Juan Carlos Caicedo Juan Carlos Mendivelso

g (yk ) w
Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Denici on

Como hay varios vectores w que generan el mismo plano, seleccionaremos uno con el siguiente criterio: El vector de pesos w es llamado forma canonica del hiperplano w t y = 0 con respecto a los patrones y1 , y2 , ..., yn , si se escala de manera que: mini =1,...,n |< w , yi >|= 1 Este plano asegura que: zk g (yk ) 1

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Hiperplano

Figura: Forma can onica del hiperplano. La margen medida 1 perpendicularmente al hiperplano es w
Juan Carlos Caicedo Juan Carlos Mendivelso Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Outline

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Funcion

El conocimiento del dise nador en dominio de aplicaci on Funciones polinomiales o gausianas Otras funciones base (kernel trick )

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Prop osito

El prop osito del entrenamiento de un SVM es maximizar la distancia entre los patrones yk y el hiperplano de separaci on. max : r = zk g (yk ) w

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Optimizaci on

Esto se logra minimzando proporcional a r :

dado que es inversamente 1 2

minimizar : (w ) = sujeto a la restricci on:

| g (yk ) |= zk w t yk 1

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Optimizaci on

Se utilizan los multiplicadores de Lagrange para minimizar w : 1 L(w , ) = 2


n

k =1

k (zk w t yk 1)

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Encontrando el m nimo
Si existe un m nimo local, entonces: L(w , ) = 0 w w 1 ( w 2 1 2 w
n

k =1 n

k (zk w t yk 1)

=0

)
k =1 n

(zk w t yk 1) = 0 w

w
k =1

k zk yk = 0

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Condiciones KKT

Seg un las condiciones de KKT, k = 0: k [zk w t yk 1] = 0, k = 0, ..., n Esto signica que los vectores de soporte est an en la margen. Los dem as vectores de entrenamiento son irrelevantes, porque zk g (tk ) 1 y no satisfacen la condici on

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Problema Dual
Al reemplazar la soluci on de w en la f ormula de Lagrange se obtiene la forma dual del problema de optimizaci on, que es el que se resuelve en la pr actica:
m

max : W () =
k =1

1 k 2

i j zi zj < yi , yj >
i =1 j =1

Sujeto a: k 0, k = 1, ..., m
m

i zi = 0
i =0

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Funcion de Decisi on

Utilizando la soluci on para w tenemos que:


m

f (x ) = sng
k =1

zk k < x , xk >

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Outline

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Problema XOR

Figura: Este problema no puede resolverse con un clasicador lineal


Juan Carlos Caicedo Juan Carlos Mendivelso Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Formulacion

Los vectores de entrenamiento son los siguientes: k 1 2 3 4 x1 1 1 -1 -1 x2 1 -1 -1 1 zk 1 2 1 2

En primer lugar se mapean a otro espacio.

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Funcion

Existen varias funciones que pueden aplicarse, se eligi o la siguiente expansi on de segundo orden: : 2 6 2 2 , x2 ) (x1 , x2 ) (1, 2x1 , 2x2 , 2x1 x2 , x1

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Optimizacion

Se requiere maximizar:
4 k =1

1 k 2

n i

i j zi zj yit yj
j

Sujeto a: 1 2 + 3 4 = 0 k 0, k = 1, 2, 3, 4

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Optimizacion

La soluci on puede encontrarse mediante alg un procedimiento de optimizaci on como el descenso del gradiente En este problema peque no se puede encontrar anal ticamente La soluci on optima es w = (1/8, 1/8, 1/8, 1/8) Todos los patrones se utilizan como vectores de soporte, debido a la simetr a del problema, algo que es inusual

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Discriminante Lineal

La funci on lineal es g (x1 , x2 ) = x1 x2 y el hiperplano de separaci on es g = 0 1 La longitud de la margen es r = = 2 w La soluci on se puede visualizar en un sub-espacio 2d proyectado

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Solucion

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Software

El m etodo m as utilizado para entrenar SVM solucionando el problema dual es SMO (Sequential Minimal Optimization) Est a implementado en: SVM-JAVA: http://idis.hwanjoyu.org/svm-java/ Weka: http://www.cs.waikato.ac.nz/ml/weka/

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Introduccion Formalizacion Entrenamiento de SVM Ejemplo

Fin

Gracias.

Juan Carlos Caicedo Juan Carlos Mendivelso

Support Vector Machine

Você também pode gostar