Support Vector Machines



Documentos relacionados
SISTEMAS INTELIGENTES

MÁQUINA DE VECTORES DE SOPORTE

Support Vector Machine

MÁQUINAS DE VECTORES DE SOPORTE

SVM: Máquinas de Vectores Soporte. Carlos Alonso González Grupo de Sistemas Inteligentes Departamento de Informática Universidad de Valladolid

BREVE MANUAL DE SOLVER

UNIDAD 6. Programación no lineal

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

Optimización, Solemne 2. Semestre Otoño 2012 Profesores: Paul Bosch, Rodrigo López, Fernando Paredes, Pablo Rey Tiempo: 110 min.

INTRODUCCIÓN A LA PROGRAMACIÓN MATEMÁTICA

Práctica 11 SVM. Máquinas de Vectores Soporte

Estudio e Implementación de una Máquina de Soporte Vectorial.

Métodos Iterativos para Resolver Sistemas Lineales

Programación lineal (+ extensiones). Ejemplos.

Listas de vectores y conjuntos de vectores

Dualidad y Análisis de Sensibilidad

Fórmulas. Objetivos y Definición. Definir fórmulas nos brinda una forma clave de compartir conocimiento y obtener código generado optimizado

8.1. Introducción Dependencia/independencia estadística Representación gráfica: diagrama de dispersión Regresión...

Uso de Weka desde un script

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.

Unidad III: Programación no lineal

RELACIÓN DE PROBLEMAS Nº 2 CONJUNTOS Y APLICACIONES

Con el fin de obtener los datos, se procede con las siguientes instrucciones:

Clasificación de métricas.

Tema 2. Espacios Vectoriales Introducción

NUEVA DIRECCIÓN DE LA GESTIÓN COMERCIAL

Anexo 1: Demostraciones

Práctica de Aplicaciones Lineales

LAS máquinas de vectores de soporte (SVM, por sus

Departamento de Matemática Aplicada a la I.T. de Telecomunicación

Fundamentos de Investigación de Operaciones Asignación y Vendedor Viajero

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

Dirección de Evaluación de la Calidad Educativa

Selectividad Junio 2008 JUNIO 2008 PRUEBA A

Variedades Diferenciables. Extremos Condicionados

Análisis de componentes principales

Características de funciones que son inversas de otras

OPTIMIZACIÓN ESCALAR. María Jesús de la Fuente Aparicio Dpto. Ingeniería de Sistemas y Automática

Ahora podemos comparar fácilmente las cantidades de cada tamaño que se vende. Estos valores de la matriz se denominan elementos.

Capítulo VI DESIGUALDADES E INECUACIONES

PROGRAMACIÓN LINEAL Introducción Inecuaciones lineales con 2 variables

Matrices Invertibles y Elementos de Álgebra Matricial

Universidad de Costa Rica Escuela de Matemática CONARE-PROYECTO RAMA. Funciones

Support Vector Machines

PROBLEMA [1.5 puntos] Obtener la ecuación de la recta tangente en el punto ( 2, 1) a la curva dada implícitamente por y 3 +3y 2 = x 4 3x 2.

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Resumen de técnicas para resolver problemas de programación entera Martes, 9 de abril. Enumeración. Un árbol de enumeración

Operaciones Morfológicas en Imágenes Binarias

Matrices. Definiciones básicas de matrices. José de Jesús Angel Angel.

Cómo?: Resolviendo el sistema lineal homógeneo que satisfacen las componentes de cualquier vector de S. x4 = x 1 x 3 = x 2 x 1

Jesús Getán y Eva Boj. Marzo de 2014

Redes de Kohonen y la Determinación Genética de las Clases

RELACIONES DE RECURRENCIA

Curso: Teoría de la Computación. Unidad 2, Sesión 8: Complejidad computacional (2)

1. SOLUCIONES A LOS EJERCICIOS PROPUESTOS

3. Selección y Extracción de características. Selección: Extracción: -PCA -NMF

Las maquinas de vectores de soporte para identificación en línea

APLICACIONES CON SOLVER OPCIONES DE SOLVER

Subespacios vectoriales en R n

Un programa entero de dos variables Jueves, 4 de abril. La región factible. Por qué programación entera? Variables 0-1


Clasificación de grandes conjuntos de datos vía Máquinas de Vectores Soporte y aplicaciones en sistemas biológicos

Medias Móviles: Señales para invertir en la Bolsa

Trabajo Práctico Introductorio Matlab, Simulink y Métodos de Integración Numérica

Función Cuadrática *

MATEMÁTICAS II APUNTES DE TEORÍA CURSO ACADÉMICO Carlos Ivorra

Programación Lineal: Modelos PLE

Optimización de Procesos

Comparación de métodos de clasificación aplicados a textos Científicos y No Científicos

4.1 El espacio dual de un espacio vectorial

Procesos Críticos en el Desarrollo de Software

Módulo 9 Sistema matemático y operaciones binarias

4.3 INTERPRETACIÓN ECONÓMICA DE LA DUALIDAD

Esta es la forma vectorial de la recta. Si desarrollamos las dos posibles ecuaciones, tendremos las ecuaciones paramétricas de la recta:

MATEMÁTICAS BÁSICAS UNIVERSIDAD NACIONAL DE COLOMBIA - SEDE MEDELLÍN CLASES # 13 y #14

Pruebas de acceso a enseñanzas universitarias oficiales de grado Castilla y León

Cálculo científico y técnico con HP49g/49g+/48gII/50g Módulo 3: Aplicaciones Tema 3.7 Polinomio interpolador

Tema 3: Variables aleatorias y vectores aleatorios bidimensionales

Capítulo 2. Las Redes Neuronales Artificiales

UNIVERSIDAD DIEGO PORTALES. FACULTAD DE INGENIERIA. ESCUELA DE INGENIERIA INDUSTRIAL.

Análisis de propuestas de evaluación en las aulas de América Latina

Aplicaciones abiertas y cerradas

OPTIMIZACIÓN Y SIMULACIÓN PARA LA EMPRESA. Tema 2 Programación Lineal

CAPITULO 4 JUSTIFICACION DEL ESTUDIO. En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de

AXIOMAS DE CUERPO (CAMPO) DE LOS NÚMEROS REALES

2) Se ha considerado únicamente la mano de obra, teniéndose en cuenta las horas utilizadas en cada actividad por unidad de página.

Tema 5: Dualidad y sensibilidad de los modelos lineales.

GRAFOS. Prof. Ing. M.Sc. Fulbia Torres

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Tema III. Capítulo 2. Sistemas generadores. Sistemas libres. Bases.

Aplicaciones Lineales

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

ORGANIZACIÓN INDUSTRIAL (16691-ECO) PARTE II: MODELOS DE COMPETENCIA IMPERFECTA TEMA 2: EL MONOPOLIO SOLUCIÓN A LOS PROBLEMAS PROPUESTOS

Métodos de la Minería de Datos

Transcripción:

Support Vector Machines

Separadores lineales Clasificacion binaria puede ser vista como la tarea de separar clases en el espacio de caracteristicas w T x + b > 0 w T x + b = 0 w T x + b < 0 f(x) = sign(w T x + b) 1

Separadores lineales Cual de todos es optimo?

Margen de clasificacion Distancia desde un ejemplo x i al separador es Los ejemplos mas cercanos al hiperplano son los vectores de soporte. Margen ρ del separador es la distancia entre los vectores de soporte ρ r 3

Calsificacion por maximo margen Maximizar el margen es bueno de acuerdo a la intuicion Implica que solo los vectores de soporte importan los otros ejemplos de entrenamiento son ignorables. 4

SVM lineal matematicamente Consideremos training set {(x i, y i )} i=1..n, x i R d, y i {-1, 1} separado por un hiperplano. Entonces para cada ejemplo en entrenamiento (x i, y i ): w T x i + b -1 if y i = -1 w T x i + b 1 if y i = 1 y i (w T x i + b) 1 Para cada vector de soporter x s la distancia entre cada x s y el hyperplano es T y s ( w xs b) 1 r w w Entonces el margen puede expresarse a traves de w y b como: 5 r w

SVM lineal matematicamente Entonces podemos formular el problema de optimizacion cuadratica: Encontrar w y b tales que w se maximiza y para todo (x i, y i ), i=1..n : y i (w T x i + b) 1 6 Reformulado como: Encontrar w y b tal que Φ(w) = w =w T w se minimiza y para todo (x i, y i ), i=1..n : y i (w T x i + b) 1

Resolviendo el problema de optimizacion Encontrar w y b tal que Φ(w) =w T w se minimiza y para todo (x i, y i ), i=1..n : y i (w T x i + b) 1 Se necesita optimizar una funcion cuadratica sujeto a restricciones lineales Problemas de optimizacion cuadratica son problemas de programacion matematica conocidos para los cuales existen muchos algoritmos no triviales que proveen soluciones. La solucion involucra construir un problema dual donde un multiplicador de Lagrange α i se asocia con toda desigualdad que restringe el problema primal (original) : Encontrar α 1 α n tales que Q(α) =Σα i - ½ΣΣα i α j y i y j x it x j ise maximiza y (1) Σα i y i = 0 () α i 0 para todo α i 7

Solucion del problema de optimizacion Dada una solucion α 1 α n del problema dual, una solucion del primal es: w =Σα i y i x i b = y k - Σα i y i x i T x k for any α k > 0 Cada no zero α i indica que su correspondiente x i es un vector de soporte. La funcion de clasificacion es (w no se necesita explicitamente): f(x) = Σα i y i x it x + b Notemos que se basa en el producto interno entre el punto de test x y los vectores de soporte x i Tambien recordar que resolver el problema de optimizacion involucra calcular todos los productos internos x it x j con todos los puntos de entrenamiento. 8

Clasificacion con margen soft Que pasa s el grupo de entrenamiento no es linealmente separable? Se pueden agregar Slack variables ξ i para mejorar la clasificacion de puntos dificiles, lo cual resulta en un soft margin. ξ i ξ i 9

Clasificacion con margen soft matematicamente La formulacion anterior es: Encuentre un w y un b tales que Φ(w) =w T w se minimiza para todo (x i,y i ), i=1..n : y i (w T x i + b) 1 La formulacion modificacda contiene slack variables: Encuentre w y b tal que Φ(w) =w T w + CΣξ i se minimiza para todo (x i,y i ), i=1..n : y i (w T x i + b) 1 ξ i,, ξ i 0 Parametro C con una forma de controlar sobreentrenamiento: maneja la importancia relativa de maximizar el margen y ajustar los datos de entrenamiento 10

Solucion para la clasificacion soft Problema dual es identico al caso separable (no seria indentico si la penalizacion por norma de las slack variables CΣξ i se usara en la funcion objetivo primal, se necesitarian mutiplicadores de Lagrange adicionales para las slack variables): Encontrar α 1 α N tal que Q(α) =Σα i - ½ΣΣα i α j y i y j x it x j se maximiza y (1) Σα i y i = 0 () 0 α i C for all α i Otra vez, x i con non-zero α i serian vectores de soporte. La solucion del problema dual es : w =Σα i y i x i b= y k (1- ξ k ) - Σα i y i x it x k for any k s.t. α k >0 Una vez mas no necesitamos calcular w explicitamente para clasificacion: f(x) = Σα i y i x it x + b 11

Justificacion teorica del ancho del margen Vapnik probo lo siguiente : La clase de separadores lineales optimos tiene dimension VC, h, acotada por arriba D h min, 0 1 m donde ρ es el margen, D es el diametro de la menor esfera que contiene a todas las muestras de entrenamiento y m 0 es la dimension. Intuitivamente esto implica que sin pensar en la dimension m 0 se puede minimizar la dimension VC maximizando el margen ρ. 1 Por lo cual la complejidad del clasificador se mantiene reducida a pesar de la dimension de los vectores.

SVM lineales El clasificador es un hiperplano. Los puntos mas importantes son los vectores de soporte; ellos definen el hiperplano Los algoritmos de optimizacion cuadratica pueden identificar que puntos de entrenamiento x i son vectores de soporte con multiplicadores de Lagrange α i no nulos En la formulacion dual del problema y en la solucion, los puntos de entrenamiento aparecen solo en productos internos: Encontrar α 1 α N tal que Q(α) =Σα i - ½ΣΣα i α j y i y j x it x j es maximizada y (1) Σα i y i = 0 () 0 α i C para todo α i f(x) = Σα i y i x it x + b 13

SVM no lineales Los grupos de datos que son linealmente separables con algun ruido producen buenas soluciones: 0 x Pero que pasa con los que son mas dificiles? 0 x Quizas se prodria proyectar en espacios donde se discrimine mejor: x 14 0 x

SVMs no lineales: espacios de caracteristicas Idea general: el espacio de caracteristicas inicial puede ser mapeado en otro espacio de mayor dimension donde el grupo de entrenamiento es separable: Φ: x φ(x) 15

El truco del Kernel Los clasifcadores lineales se basan en los productos internos K(x i,x j )=x it x j Si cada punto se mapea en otro espacio via alguna transformacion Φ: x φ(x), el producto interno resulta : K(x i,x j )= φ(x i ) T φ(x j ) Una funcion de kernel es una funcion equivalente a un producto interno en algun espacio de caracteristicas. Ejemplo: vectores bidimensionales x=[x 1 x ]; sea K(x i,x j )=(1 + x it x j ), Veamos que K(x i,x j )= φ(x i ) T φ(x j ): K(x i,x j )=(1 + x it x j ),= 1+ x i1 x j1 + x i1 x j1 x i x j + x i x j + x i1 x j1 + x i x j = = [1 x i1 x i1 x i x i x i1 x i ] T [1 x j1 x j1 x j x j x j1 x j ] = = φ(x i ) T φ(x j ), donde φ(x) = [1 x 1 x 1 x x x 1 x ] 16 Por lo cual una funcion de kernel mapea implicitamente datos a un espacio de mayor dimension (sin necesidad de calcular cada φ(x) explicitamente).

Que funciones son kernels? Para algunas funciones K(x i,x j ), chequear que K(x i,x j )= φ(x i ) T φ(x j ) puede ser problematico. Mercer s theorem: Cada funcion simetrica es un kernel Funciones simetricas definidas semi-positivas corresponden a una matriz Gram simetrica definida semipositiva : K(x 1,x 1 ) K(x 1,x ) K(x 1,x 3 ) K(x 1,x n ) K(x,x 1 ) K(x,x ) K(x,x 3 ) K(x,x n ) K= K(x n,x 1 ) K(x n,x ) K(x n,x 3 ) K(x n,x n ) 17

Ejemplos Lineal: K(x i,x j )= x it x j MapeoΦ: x φ(x), donde φ(x) es x Polynomial de grado p: K(x i,x j )= (1+ x it x j ) p Mapeo Φ: x φ(x), donde φ(x) tiene dimensiones Gaussian (radial-basis function): K(x i,x j ) = d p p Mapeo Φ: x φ(x), donde φ(x) es de dimension infiinita: todo punto se mapea en una funcion (una Gaussiana); la combinacion de funciones de vectores de soporte es el separador. Un espacio de dimension mayor tiene su dimensionalidad intrinsica d (el mapeo no es sobreyectivo ), pero los separadores lineales en el, corresponden a separadores nolineales en el espacio original. e x x i j 18

SVM no lineal matematicamente Formulacion dual: Find α 1 α n such that Q(α) =Σα i - ½ΣΣα i α j y i y j K(x i, x j ) is maximized and (1) Σα i y i = 0 () α i 0 for all α i Solucion: f(x) = Σα i y i K(x i, x j )+ b Tecnicas de optimizacion para α i s son las mismas! 19

Aplicaciones de SVM SVMs fueron propuestos por Boser, Guyon and Vapnik en 199 y ganaron mas popularidad al final de los 90s. SVMs son actualmente uno de los mejores clasificadores para un gran numero de problemas que van desde clasificacion de textos a datos genomicos. SVMs pueden ser aplicados a datos muy complejos mas alla de los vectores reales (e.g. grafos, secuencias, datos relacionales) si se diseñan kernels para esos datos. las tecnicas de SVM han sido extendidos a otros problemas como regresion [Vapnik et al. 97], y componentes principales [Schölkopf et al. 99], etc. Los algoritmos mas populares de SVMs usan descomposicion para mejorar un subconjunto de α i s en cada paso, e.g. SMO [Platt 99] y [Joachims 99] Ajustar SVMs es un arte: seleccionar un kernel especifico y parametros es usualmente realizado manualmente observando los resultados. 0