SUPPORT VECTOR MACHINE SVM TheoryVladimir Vapnik and Alexey Chervonenkis (1960-1990)

Preview:

Citation preview

SUPPORT VECTOR MACHINE SVM

TheoryVladimir Vapnik and Alexey Chervonenkis

(1960-1990)

INTRODUCCION

• Técnica para clasificación y regresión

• Método de aprendizaje supervisado

• Usa un conjunto de ejemplos para entrenamiento.

• Solución “única”

• Robusto a ruido, multiples dimensiones y redundancia en las dimensiones

INTRODUCCIÓNIntroducción

ContenidoMarco teórico

No linealmente separablesConclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

Posibles fronteras de decisión para datos linealmente separables

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

Objetivo

• Dado un conjunto de ejemplos de entrenamiento• Construir un hiperplano “w” como superficie de

decisión.• De tal forma que la separación de las dos clases

sea máxima (principio de generalización)

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

Margen de decisión

B1b11 b12

B2

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

CONTENIDO

• Marco teórico– Caso linealmente separable– Programación cuadrática– Condiciones Karush Kuhn-Tucker– El problema dual– Ejemplo básico

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

CONTENIDO

• Caso No-linealmente separable– Soft margin– Transformación de atributos– Funciones Kernel– Teorema de Mercer

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

CONTENIDO

• Fortalezas

• Debilidades

• Notas de clasificación

• Referencias

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

Marco Teórico

• Métodos de aprendizaje estadístico.

• Redes de regularización, principio inductivo de penalización

• Implementación aproximada del método de minimización del riesgo estructural [1]

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

CASO: Linealmente separables

• Muestras de entrenamiento {(xi, yi)}Ni=1

• Dos clases yi = +1, yi = -1

• Función de decisión

wx + b = 0wxi + b >= 0 para yi = +1

wxi + b < 0 para yi = -1

El entrenamiento busca estimar los parámetros w, b

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

Frontera de decisión y margen de SVM

d

x1 – x2

x1

w

wx + b = 0

wx + b = 1

wx + b = -1

x2

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

SVM Model• De la gráfica anterior tenemos:

w(x1-x2) = 2||w|| d = 2

d = 2 / ||w||Donde d es el margen de separación a maximizar

• Entonces la función de optimización es: f(w) = ||w||2 / 2

Esta optimización es un problema de programación cuadrática PQ (Bertsekas 1995)

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

Problema de programación cuadrática PQ

• Usando el método de multiplicadores de Lagrange

J(w, b, α) = ½wTw – ΣNαi[yi(wxi + b)-1]

• Resolviendo tenemos que los parámetros óptimos son:

w0 = ΣNα0,i yi xi

b0 = 1- w0x(s) para d(s) = 1

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

Condiciones de Karush Kuhn Tucker KKT

• Si los α >= 0 se permite usar KKT para manejar la restricción de desigualdad

yi(wxi + b) >= 1 • y convertirla en varias ecuaciones de

igualdad para cada ejemplo i:

αi[yi(wxi+b)-1] = 0• Todos los ejemplos donde los αi > 0 son los

vectores de soporte

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

El problema Dual

• Para resolver el problema “primario” de optimización en función de w, b y αi

• Se formula el problema dual, donde remplazamos la función de optimización por:

LD = ΣNαi – ½Σijαi αjyi yj xi xj

• La solución del problema dual es idéntica al primario y solo queda en función de αi y los ejemplos de entrenamiento

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

Ejemplo• Usando PQ obtenemos αi para cada

ejemploX1 X2 Y αi

0.3858

0.4871

0.9218

0.7382

0.1763

0.4057

0.9355

0.2146

0.4687

0.611

0.4103

0.8936

0.0579

0.3529

0.8132

0.0099

1

-1

-1

-1

1

1

-1

1

65.526165.5261

000000

0 0.2 0.4 0.6 0.8 1

1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0

Hallar los parámetros del hiperplano x1

x2

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

Solución

w1 = Σαiyixi1 = 65.5621*1*0.3858 + 65.5621*-1*0.4871 = -6.64

w2 = Σαiyixi2 = 65.5621*1*0.4687 + 65.5621*-1*0.611 = -9.32

b1 = 1-wx1 = 1- (-6.64*0.3858) - (-9.32*0.4687) = 7.93

b2 = 1-wx2 = -1 – (-6.64*0.4871) - (-9.32*0.611) = 7.9289

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

CASO: No linealmente separables

Margen de decisión

B1b11 b12

B2

p

q

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

SOFT MARGIN

• Tolerancia al ruido• SVM debe considerar el equilibrio entre entre el ancho del

margen y errores tolerados en el entrenamiento• Replanteando las ecuaciones:

• wxi + b >= 1- ξi i = 1,2,...,N y ξi > 0

• Donde ξ provee una estimación del error del margen de separación• La optimización para el problema primario

Lp= ½wTw – CΣN ξi – ΣNαi[yi(wxi + b)-1+ ξi] – Σui

ξi

• El dual LD = ΣNαi – ½Σijαi αjyi yj xi xj Idéntica a la anterior

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

Transformación de atributos

• Mapear los puntos de entrada a un espacio de características de orden mayor

0 0.2 0.4 0.6 0.8 1

1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0

x1

-0.25 -0.20 -0.15 -0.10 -0.5

0

-0.3

-0.6

-0.9

-0.12

-0.15

-0.18

-0.21

-0.24

-0.27

-0.3

x1

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

FUNCION KERNEL

• Aplicamos la función de transformación

y(x) = ((x1-0.5)2 + (x2-0.5)2)1/2

φj(x) (x12, x2

2, (2x1)1/2, (2x2)1/2,1)

• Un multidimensional espacio puede ser transformado a un nuevo espacio de características donde los patrones tienen una mayor probabilidad de ser linealmente separables. Teorema de Cover

x {φj(x)} donde j = 1,2,...,m

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

Teorema de Mercer• El principal requerimiento para una función

Kernel es que exista su correspondiente transformación tal que la función kernel calculada para un par de vectores es equivalente a su producto punto en el espacio transformado.

• Algunas funciones kernel para clasificación:K(x, y) = (x y + 1)p

K(x, y) = exp(-||x-y||2/(2s2))K(x, y) = tanh(kx y - d)

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

Fortalezas• El entrenamiento es relativamente fácil.• No hay óptimo local, como en las redes neuronales.• Se escalan relativamente bien para datos en

espacios dimensionales altos.• El compromiso entre la complejidad del clasificador y

el error puede ser controlado explícitamente.• Datos no tradicionales como cadenas de caracteres

y árboles pueden ser usados como entrada a la SVM, en vez de vectores de características.

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

Debilidades

• Se necesita una “buena” función kernel, es decir, se necesitan metodologías eficientes para sintonizar los parámetros de inicialización de la SVM.

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

Notas de clasificación• Las SVM son básicamente clasificadores para

2 clases.• Se puede cambiar la formulación del

algoritmo QP para permitir clasificación multiclase.

• Los datos son divididos “convenientemente” en dos partes de diferentes formas y una SVM es entrenada para cada forma de división.

• La clasificación multiclase es hecha combinando la salida de todos los clasificadores

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

REFERENCIAS1. Vapnik. The nature of statistical learning

theory. New York: Springer-Verlag, 1995.2. J. Mercer. Functions of positive and negative type and

their connection with the theory of integral equations. Philosophical Transactions of the Royal Society, London, A 209:415–446, 1909.

3. Vapnik. Statistical Learning Theory. Wiley, NY, 1998.4. Vapnik and O. Chapelle. Bounds on error expectation for

support vector machines. Neural Computation, 12(9):2013–2036, 2000.

5. Cortes and V. Vapnik. Support vector networks. Machine Learning, 20:273–297, 1995.

IntroducciónContenido

Marco teóricoNo linealmente separables

Conclusiones

MINERÍA DE DATOS | SUPPORT VECTOR MACHINE

Recommended