Máquinas de Vectores de Soporte



Documentos relacionados
Máquinas de Vectores de Soporte

Introducción a los métodos Kernel

Support Vector Machines

Elementos de máquinas de vectores de soporte

Métodos basados en Kernels para el Procesamiento de Lenguaje Natural

PROGRAMACIÓN LINEAL ENTERA

Tema 6 Extensiones y aplicaciones (Máquinas de vectores soporte, SVM)

Instituto tecnológico de Minatitlán. Investigación de operaciones Ing. Erika Lissette Minaya mortera Unidad 3: programación no lineal

Sistemas de Ecuaciones Lineales

Polinomios. 1.- Funciones cuadráticas

Support Vector Machines

Santiago, Abril 2009

PROGRAMACIÓN LINEAL. 1. Introducción

Si el objetivo es maximizar, entonces se tiene la forma estándar de maximización y, si el objetivo es minimizar, la forma estándar de minimización.

TEMA 6. SVM Support Vector Machines (Máquinas de Vectores Soporte)

Uso de Weka desde un script

Modelos de Scoring para Riesgo de Crédito

Práctica 2 Métodos de búsqueda para funciones de una variable

P. A. U. LAS PALMAS 2005

Definición de problemas de programación lineal. Método gráfico. Método del SIMPLEX. Método de las dos fases. Análisis de sensibilidad y problema dual

Cristián Bravo R.

Eduardo Morales, Jesús González, Hugo Jair Escalante

Luego, en el punto crítico

Ejemplo : PROGRAMACIÓN LINEAL

CÁLCULO DIFERENCIAL Muestras de examen

Aprendizaje Supervisado Máquinas Vectoriales de Soporte

Computación Científica

Aprendizaje Automático. Segundo Cuatrimestre de Clasificadores: Naive Bayes, Vecinos Más Cercanos, SVM

DUALIDAD EN PROGRAMACION LINEAL

Support Vector Machine

315 M/R Versión 1 Integral 1/ /1 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA

Métodos Numéricos: Resumen y ejemplos Tema 5: Resolución aproximada de ecuaciones

Aplicaciones de las Derivadas

Métodos basados en instancias. K-vecinos, variantes

Predicción de la relación entre el género, la cantidad de cigarrillos y enfermedades usando Máquinas de Vector Soporte

TEMA 4: Espacios y subespacios vectoriales

Optimización lineal con R José R. Berrendero

Análisis de Datos. Análisis lineal discriminante. Profesor: Dr. Wilfrido Gómez Flores

1. DIFERENCIABILIDAD EN VARIAS VARIABLES

Tema 4.2: FUNCIONES DISCRIMINANTES LINEALES y SV

Introducción a la optimización con algoritmos. Ejercicios. 0 2 f(x + t(y x))(y x)dt. J(x + t(y x))(y x)dt siendo J la matriz Jacobiana de F.

Análisis de Datos. Máquinas de vectores de soporte. Profesor: Dr. Wilfrido Gómez Flores

Resolución. Resolución gráfica de problemas de optimización

Tema 1. Cálculo diferencial

APRENDIZAJE BASADO EN INSTANCIAS. Eduardo Morales y Jesús González

3. Métodos clásicos de optimización lineal

Aprendizaje Basado en Instancias

TEMA 11. Autovalores y autovectores. Diagonalización y formas canónicas.

Complementos de Matemáticas, ITT Telemática

Segmentación de una cartera de clientes usando aprendizaje de máquina

1. PRODUCTO ESCALAR. ESPACIO EUCLÍDEO

Pasos en el Método Simplex

Capítulo 6. Análisis bivariante de variables

1.4 SISTEMAS HOMOGÉNEOS DE ECUACIONES. 36 CAPÍTULO 1 Sistemas de ecuaciones lineales y matrices

1. Mínimos Cuadrados.

UNIVERSIDAD NACIONAL DE INGENIERÍA UNI RUACS ESTELI

May 4, 2012 CAPÍTULO 5: OPTIMIZACIÓN

40 Matemáticas I. Parte II. Álgebra Lineal. I.T.I. en Electricidad. Prof: José Antonio Abia Vian

La programación lineal hace referencia al uso eficiente o distribución de recursos limitados, para alcanzar unos objetivos determinados.

Dirección de Operaciones. SESIÓN # 5: El método simplex. Segunda parte.

Ejemplo 1. Ejemplo introductorio

SISTEMAS INTELIGENTES

TEST IO-I T1. CONCEPTOS PREVIOS. C1.1. Cualquier conjunto convexo tiene al menos un punto extremo?

El Método Simplex. H. R. Alvarez A., Ph. D. 1

Ecuaciones de segundo grado

Distribución normal. Cajón de Ciencias. Qué es una variable estadística?

OPTIMIZACIÓN Y SIMULACIÓN PARA LA EMPRESA. Tema 4 Optimización no Lineal

En este capítulo obtendremos los resultados básicos del cálculo diferencial para funciones reales definidas sobre R o sobre intervalos.

Espacios de Hilbert: problemas propuestos

Práctico de Optimización

Métodos kernel para clasificación

Forman base cuando p 0 y 1.

1. RESOLVER el siguiente problema de programación lineal. max z =15x x 2 suj.a : 2x 1 + x x 1 + x x 1 500

Análisis de Datos. Clasificación Bayesiana para distribuciones normales. Profesor: Dr. Wilfrido Gómez Flores

Curso Propedéutico de Cálculo Sesión 2: Límites y Continuidad

Universidad Tec Milenio: Profesional IO04001 Investigación de Operaciones I. Tema # 6. revisado

PROBLEMAS DE HOMOTECIAS Y SEMEJANZAS EN EL ESPACIO

Sistemas de ecuaciones lineales

Ecuaciones diferenciales de orden superior

Matrices, determinantes, sistemas de ecuaciones lineales.

DOCUMENTO 3: DISTRIBUCIÓN DE PROBABILIDAD DE V. A. CONTINUA: LA DISTRIBUCIÓN NORMAL

Qué es la programación lineal?

2.1. Objetivo de la Planeación Agregada

Función descriptiva. Función descriptiva p.1/20

Universidad de Jaén Departamento de Matemáticas Ingeniería Técnica en Informática de Gestión.

Clasificación Mediante Modelos Lineales

Por Sustitución: y= 2x+6 x + 3 (2x+6) = 4 x + 6x + 18 = 4 7x = -14 x= -2 y=2 (-2)+6 y=2. Por Igualación: 6x+18=4-x 7x=-14 x= -2 y=2 (-2)+6 y=2

Formulación de un Modelo de Programación Lineal

Tema 5: Sistemas de Ecuaciones Lineales

Tema 9. Espacio de Estados : Representación y propiedades importantes

Matrices. p ij = a ik b kj = a i1 b 1j + a i2 b 2j + + a in b nj.

Cada grupo de alumnos entregará un guión con los resultados. Preparación de la práctica

Algoritmos. Diseño de algoritmos por inducción. Alberto Valderruten. Dept. de Computación, Universidade da Coruña

7. Forma de Lagrange para el polinomio interpolador. 9. Forma de Newton para el polinomio interpolador

4. Métodos de Solución PPL : Solución Algebraica: METODO SIMPLEX Primera Parte

Tema # 7. método simplex matricial o revisado

Vectores y Matrices. Tema 3: Repaso de Álgebra Lineal Parte I. Contenidos

En el siguiente capítulo se hará un repaso de algunas propiedades básicas de conjuntos convexos, para después explicar el método simplex.

Transcripción:

Máquinas de Vectores de Soporte Support Vector Machines (SVM) Introducción al Reconocimiento de Patrones IIE - FING - UdelaR 2015 Bishop, Cap. 7 Schölkopf & Smola, Cap 7

Motivación Limitantes del perceptrón: Sólo contempla el caso linealmente separable No hay unicidad de la solución Limitantes de los métodos de Kernel: En training: irrealizable si se requiere evaluar k(x n, x m ) para todo par de muestras de entrenamiento En testing o clasificación de nuevo x: costo computacional de evaluar k(x, x n ) para todo x n de entrenamiento puede ser excesivo.

Cualidades de SVM Veremos que: Además: SVM busca el hiperplano separador (en el espacio transformado) que maximiza el margen SVM permite contemplar el caso no linealmente separable SVM permite controlar trade-off entre margen y errores en training Los parámetros del clasificador se determinan fácilmente, resolviendo un problema de optimización convexa En SVM la clasificación de nuevas muestras x depende de las k(x, x n ) sólo para un subconjunto extremadamente reducido del conjunto de entrenamiento

Problema de dos clases {(x 1, t 1 ), (x 2, t 2 ),..., (x N, t N )} conjunto de entrenamiento, x n X espacio de características, t n { 1, +1} etiqueta de clase. φ : X Y mapeo no lineal a un espacio de dimensión mayor, dim(y) > dim(x ). Superficie de decisión: g(x) = w T φ(x) + b, S = {x : g(x) = 0}. w b En el espacio Y: hiperplano de normal w y sesgo w. Clasificación: nueva muestra x se clasifica según signo(g(x)).

Conjunto de aprendizaje linealmente separables Problema linealmente separable Existe al menos un par (w, b) para el cual todas las muestras están bien clasificadas, i.e. n = 1,..., N, t n g(x n ) > 0. SVM: entre los (w, b) posibles, elegir aquél que corresponde al hiperplano separador de margen máximo. y g= 1 y g= 0 y g= 1

Clasificador de máximo margen Por qué? Maximizar el margen minimiza el error de generalización del clasificador (es intuitivo y se puede demostrar [Vapnik, 1996]) Tenemos: Distancia de un punto y = φ(x) al plano {g(x) = 0}: g(x) w. para cualquier hiperplano separador, g(x n ) = t n g(x n ), n = 1,..., N. Solución de máximo margen: { ( tn w T φ(x n ) + b ) } (P ) max w,b min n {1,...,N} w

Optimización del clasificador de máximo margen (P ) problema de optimización complejo. Se puede transformar en un problema equivalente (P ) sencillo de optimizar, observando que f n (w, b) = tn(wt φ(x n)+b) w es invariante ante escalados: λ > 0, f n (λw, λb) = f n (w, b). Podemos re-escalar para que t k (w T φ(x k ) + b) = 1 para el (o los) x k que realizan el margen. Con esa normalización, n = 1,..., N, t n (w T φ(x n ) + b) 1.

Optimización del clasificador de máximo margen Problema equivalente para clasificador de máximo margen: (P ) { minw,b 1 2 w 2 sujeto a t n (w T φ(x n ) + b) 1, n = 1,..., N. Puntos activos/inactivos: { = 1 si t n (w T xn punto activo φ(x n ) + b) > 1 x n punto inactivo. Al maximizar el margen habrá al menos dos puntos activos. (P ) es un problema de programación cuadrática fácil de resolver (e.g. solvers de Matlab, CVX, etc). (P ) (problema primal) admite una formulación aún más sencilla (problema dual) via las condiciones de KKT.

Paréntesis: condiciones de Karush-Kuhn-Tucker Consideramos el problema Dos posibilidades para la solución: { min f(x) s.t. g(x) 0 (i) x {g > 0}: entonces x mínimo local de f f(x) = 0. (ii) x {g = 0}: entonces debe ser f(x) {g = 0}, de lo contrario existiría x {g = 0} vecino de x con f(x ) < f(x). Como g(x) {g = 0}, λ 0 t.q. f(x) = λ g(x). Además debe ser λ > 0, de lo contrario existiría x {g > 0} vecino de x con f(x ) < f(x).

Paréntesis: condiciones de Karush-Kuhn-Tucker Definimos el Lagrangeano L(x, λ) = f(x) λg(x). Las dos situaciones de solución se resumen en una única (KKT): L = 0, λ 0, λg(x) = 0 x Obs.1: La solución (x, λ ) es un punto silla de L(x, λ): Ejercicio Demostrar (x, λ), L(x, λ) L(x, λ ) L(x, λ ). Obs.2: De Obs.1, la optimización correspondiente es (x, λ ) = arg min x max L(x, λ). λ 0

Vuelta al clasificador de máximo margen (caso separable) Teníamos (P ) { minw,b 1 2 w 2 sujeto a t n (w T φ(x n ) + b) 1, n = 1,..., N. Llamamos a = (a 1, a 2,..., a N ) a los multiplicadores de Lagrange: L(w, b, a) = 1 N ( 2 w 2 a n tn (w T φ(x n ) + b) 1 ). L N w = 0 w = a n t n φ(x n ) ( ) L b = 0 N a n t n = 0 ( ) Prob. equivalente: { minw,b max a L(w, b, a) s.t. N a nt n = 0, a n 0, n = 1,..., N

Optimización del clasificador de máximo margen (separable) Ejercicio Demostrar que L(w, b, a) = L(a) = N a n 1 2 N N m=1 El nuevo problema (llamado problema dual) queda: a n a m t n t m φ T (x n )φ ( x m ) } {{ } k(x n,x m) (D ) { maxa L(a) sujeto a N a nt n = 0, a n 0, n = 1,..., N. Problema de programación cuadrática más sencillo (involucra únicamente a los multiplicadores)

Clasificador de máximo margen (caso separable) Clasificación de una nueva muestra x: se evalúa el signo de g(x) = w T φ(x n ) + b ( ) = N a n t n k(x n, x) + b (veremos luego cómo calcular el margen b). Vectores de soporte: De las condiciones KKT, a n 0, t n g(x n ) 1 = 0, a n (t n g(x n ) 1) = 0. Dos tipos de muestra: (i) a n = 0 No influyen en la clasificación de una nueva muestra: g(x) = a n 0 a nt n k(x n, x) + b (ii) t n g(x n ) = 1 muestras que caen sobre los hiperplanos de máximo margen. Se llaman vectores de soporte (SV).

Clasificador de máximo margen (caso separable) Obs: en general #SV N etapa de testing muy rápida. Cuánto vale el margen b? Ejercicio Usando la def. de SV, mostrar que ( b = 1 t n ) a m t m k(x n, x m ). #SV x nsv x msv

Ejemplo XOR Ejercicio Queremos diseñar un clasificador para el problema XOR, en donde los puntos ( 1, 1) y (1, 1) son de la clase ω 1, y ( 1, 1) y (1, 1) son de la clase ω 2. Considerando el mapeo φ : R 2 R 6, y = φ(x 1, x 2 ) = [1, 2x 1, 2x 2, 2x 1 x 2, x 2 1, x2 2 ]T, demostrar que el problema se vuelve separable en el espacio transformado. Diseñar un clasificador de máximo margen para el problem. Especificar los hiperplanos (separador, y de márgenes) y el margen.

Ejemplo XOR Maximizar: L(a) = 4 a k 1 2 4 4 a n a m t n t m (x T n x m + 1) 2, m=1 sujeto a: a 1 a 2 + a 3 a 4 = 0, a n 0, n {1, 2, 3, 4}. La solución es a 1 = a 2 = a 3 = a 4 = 1/8 y b = 2. La función discriminante es g(x) = x 1 x 2.

Motivación Problema de dos clases Extensión multi-clase Caso no separable linealmente Caso no separable linealmente Idea: modificar la formulación anterior para autorizar algunos puntos mal clasificados en entrenamiento. Obs.: Definiendo una penalización para los errores, habrá un compromiso entre mayor margen (mejor generalización) y mayor cantidad de errores en entrenamiento. 0 si xn bien clasificado Penalización: ξn = tn g(xn ) si no Puntos en la frontera: g(xn ) = 0 ξn = 1 Puntos mal clasificados: ξn > 1

Caso no separable linealmente Caso no separable linealmente: C-SVM Remplazamos la condición de clasificación perfecta (hard margin): t n (w T φ(x n ) + b) 1, n = 1,..., N por la condición relajada (soft margin): t n (w T φ(x n ) + b) 1 ξ n, ξ n 0, n = 1,..., N Objetivo: maximizar el margen penalizando errores: { min 1 w,b 2 w 2 + C } N ξ n, C > 0 { tn (w s.t. T φ(x n ) + b) 1 ξ n, ξ n 0, n = 1,..., N. Pregunta Qué representa C? C?, C?

Caso no separable linealmente Optimización de C-SVM Ejercicio Demostrar que el Lagrangeano para C-SVM se escribe: L(w, b, a, µ) = 1 N 2 w 2 + C ξ n N ( a n tn (w T ) N φ(x n ) + b) 1 + ξ n µ n ξ n. Escribir las condiciones de optimalidad y KKT. Demostrar que el Lagrangeano del problema dual es: N L(a) = a n 1 N N a n a m t n t m k(x n, x m ), 2 con m=1 N a n t n, 0 a n C, n = 1,..., N.

Caso no separable linealmente C-SVM Clasificación de una nueva muestra x: se evalúa el signo de g(x) = N a n t n k(x n, x) + b. Vectores de soporte: verifican a n > 0, t n g(x n ) = 1 ξ n. Dos casos: (i) a n < C µ n > 0 µnξn=0 ξ n = 0: SV del lado correcto, fuera del margen (ii) a n = C Puede ser µ n = 0 si ξ n 1 bien clasificado; si ξ n > 1 mal clasificado.

Caso no separable linealmente C-SVM Margen: 0 < a n < C ξ n = 0 t n g(x n ) = 1 Idem que para hard margin, ( b = 1 t n ) a m t m k(x n, x m ), #SV x nsv x msv con SV = {x n : 0 < a n < C, n = 1,..., N}. Elección de parámetros: usualmente C y los parámetros del kernel se estiman conjuntamente usando Grid Search y validación cruzada, sobre el conjunto de entrenamiento.

Extensión multi-clase No hay una única forma de extender SVM. 1 Uno contra el resto: M clasificadores binarios, una clase y el resto para cada clase, g j (x) = w j T x + w j 0, j = 1,..., c. Luego una muestra nueva x se asigna a la clase con mayor discriminante, arg max j=1,...,c g j (x). Poco simétrico o balanceado. Regiones indefinidas. 2 Clasificación por pares: se consideran los c(c 1)/2 pares de clases, y para cada una se diseña un clasificador. Nueva muestra: se pasa por todos los clasificadores, y se asigna a la clase más votada. Hay que resolver más problemas, pero con menos muestras. Regiones indefinidas. 3 Error Correcting Output Coding: se generan L = log 2 c particiones binarias del conjunto de clases. A cada clase le corresponde un único código binario d = (d 1, d 2,..., d L) { 1, 1} L. Para cada partición se entrena un clasificador g 1,..., g L. Clasificación de nueva muestra x: a la clase más cercana a (g 1 (x),..., g L (x)) en distancia de Hamming.

Extensión multi-clase Ejemplo para Error Correcting Output Coding Ejercicio Aplicar esta metodología para clasificar los dígitos de la base USPS en 0, 1, 2,..., 9.