280 likes | 404 Views
SUPPORT VECTOR MACHINE SVM. TheoryVladimir Vapnik and Alexey Chervonenkis (1960-1990). Introducción Contenido Marco teórico No linealmente separables Conclusiones. INTRODUCCIÓN. INTRODUCCION. Técnica para clasificación y regresión Método de aprendizaje supervisado
E N D
SUPPORT VECTOR MACHINE SVM TheoryVladimir Vapnik and Alexey Chervonenkis (1960-1990)
Introducción Contenido Marco teórico No linealmente separables Conclusiones INTRODUCCIÓN 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 MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones Posibles fronteras de decisión para datos linealmente separables MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones 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) MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones b11 b12 B1 B2 Margen de decisión MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones CONTENIDO • Marco teórico • Caso linealmente separable • Programación cuadrática • Condiciones Karush Kuhn-Tucker • El problema dual • Ejemplo básico MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones CONTENIDO • Caso No-linealmente separable • Soft margin • Transformación de atributos • Funciones Kernel • Teorema de Mercer MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones CONTENIDO • Fortalezas • Debilidades • Notas de clasificación • Referencias MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones 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] MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones CASO: Linealmente separables • Muestras de entrenamiento {(xi, yi)}Ni=1 • Dos clases yi = +1, yi = -1 • Función de decisión wx + b = 0 wxi + b >= 0 para yi = +1 wxi + b < 0 para yi = -1 El entrenamiento busca estimar los parámetros w, b MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones wx + b = 0 x1 – x2 d x1 x2 w wx + b = 1 wx + b = -1 Frontera de decisión y margen de SVM MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones 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) MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones 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 MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones 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 MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones 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 MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones Ejemplo • Usando PQ obtenemos αi para cada ejemplo 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 x2 0 0.2 0.4 0.6 0.8 1 Hallar los parámetros del hiperplano x1 MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones 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 MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones CASO: No linealmente separables b11 b12 B1 B2 q p Margen de decisión MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones 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 MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones Transformación de atributos • Mapear los puntos de entrada a un espacio de características de orden mayor 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 -0.3 -0.6 -0.9 -0.12 -0.15 -0.18 -0.21 -0.24 -0.27 -0.3 0 0.2 0.4 0.6 0.8 1 -0.25 -0.20 -0.15 -0.10 -0.5 x1 x1 MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones FUNCION KERNEL • Aplicamos la función de transformación y(x) = ((x1-0.5)2 + (x2-0.5)2)1/2 φj(x) (x12, x22, (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 MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones 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) MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones 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. MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones 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. MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones 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 MINERÍA DE DATOS | SUPPORT VECTOR MACHINE
Introducción Contenido Marco teórico No linealmente separables Conclusiones REFERENCIAS • Vapnik. The nature of statistical learning theory. New York: Springer-Verlag, 1995. • 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. • Vapnik. Statistical Learning Theory. Wiley, NY, 1998. • Vapnik and O. Chapelle. Bounds on error expectation for support vector machines. Neural Computation, 12(9):2013–2036, 2000. • Cortes and V. Vapnik. Support vector networks. Machine Learning, 20:273–297, 1995. MINERÍA DE DATOS | SUPPORT VECTOR MACHINE