Support Vector Machines
Vocabulario básico: ◦ Repositorio de datos ◦ Atributos y Instancias ◦ Aprendizaje supervisado Clasificación (Clase) ◦ Aprendizaje no supervisado Agrupación (Clustering) Asociación (relaciones entre atributos) ◦ KDD y Data Mining
Introducción Marco Teórico Extensiones Ejemplos Conclusiones
Introducción Marco Teórico Extensiones Ejemplos Conclusiones
Desarrolladas por Vapnik en los laboratorios AT&T (90s) Sólidas bases teóricas: teoría VC, que caracteriza las propiedades del aprendizaje automático (60s) Inicialmente desarrolladas para clasificación (aplicación práctica original: reconocimiento óptico de caracteres, OCR)
Introducción Marco Teórico Extensiones Ejemplos Conclusiones
Dado el espacio H en el que hay definido un producto escalar se define un hiperplano en el mismo Se construye un clasificador basado en la función de decisión
Entre todos los posibles se escoge aquel tenga distancia mínima de unidad a los puntos de entrenamiento Es un problema de optimización con restricciones, que se puede resolver mediante el método de los multiplicadores de Lagrange.
No tenemos por que calcular w explícitamente, el clasificador puede construirse como: El problema depende únicamente del producto escalar entre los puntos de entrenamiento en el espacio de características H
El hiperplano queda definido por un subconjunto de los vectores de entrenamiento, los Vectores de Soporte (SV), que son aquellos con α > 0.
Introducción Marco Teórico Extensiones Ejemplos Conclusiones
Con el clasificador hiperplanar se trabaja en exclusiva con productos escalares sobre el espacio de características, si se hace la sustitución (kernel trick): Se puede suponer que la función k encierra tanto un producto escalar como una traslación de los vectores (Φ-image) a un nuevo espacio de características, tal vez de mayor dimensionalidad que el original.
Φ’’ Φ’Φ’ Φ’’’
Modificación de la función objetivo de SVC. One Vs Rest. M clases, se obtienen M clasificadores que distinguen una clase de las demás. Pairwise Classification. Un clasificador por cada par de clases, M clases implican (M- 1)M/2 clasificadores.
Error-Correcting Output Coding. Se basa en dividir el conjunto de clases en grupos que se clasifican, con una adecuada partición se puede llegar a determinar la clase. SVM-Tree.
En la práctica, puede no haber hiperplano separador (ej.: consecuencia del ruido) Se tolera una cierta cantidad de clasificación errónea, es decir, de ejemplos mal clasificados mediante 'variables de holgura' (slack variables, ξ)
Hay dos tipos: ◦ C-SVM donde C (0,∞) representa el compromiso (trade-off) entre maximización del margen y minimización del error de entrenamiento. ◦ V-SVM donde ν (0,1] es tanto proporcional a la fracción de errores como de vectores de soporte Se ha demostrado que ambos tipos de clasificadores son equivalentes.
Introducción Marco Teórico Extensiones Ejemplos Conclusiones
Kernel lineal Vectores de Soporte= 256 error medio= 0.5 C=100000
Kernel Gaussiano Vectores de soporte = 210 error medio = C = 1
Kernel polinomial Vectores de soporte = 13 error medio = 0 C = 1
Kernel Gaussiano Vectores de soporte = 433 error medio = 0.05 C = 1
Kernel polinomial Vectores de soporte = 665 error medio = 0.09 C = 1
Kernel polinomial Vectores de soporte = 14 error medio = 0 C = 1
Kernel Gaussiano Vectores de soporte = 140 error medio = 0.02 C = 1
Introducción Marco Teórico Extensiones Hiperplano de marco relajado Ejemplos Conclusiones
La elección del kernel, incluyendo el valor de sus parámetros,para un problema es crítica para el rendimiento del método También es crítica la adecuada elección del parámetro C (o ν su caso) De ahí se deduce que aunque el método se vende como convexo, sólo lo es para un kernel fijado, sus parámetros y parámetro del SVC (sea C-SVC o ν-SVC)
Incorporación de selección de características en el algoritmo (p.e.: “Bayesian approach to SVM”) o mediante filtros Sistematización de selección y creación de kernels para un problema dado Optimización de parámetros automática (C, ν, y específicos del kernel)
Mejora de rendimiento: algoritmos de aproximación para ciertos cálculos, heurísticas (cacheado de resultados, descarte de ejemplos, etc...) Aprendizaje “on line” de SVMs
Teoría VC: desarrollada por Vapnik y Chervonenkis, su concepto más conocido es el de dimensión VC Dimensión VC: para una función de clasificación da su capacidad máxima de discriminación. Su interés radica en que a partir de ésta se puede evaluar una cota al error esperado de un clasificador
Margen de clasificador hiperplanar: ancho de separación entre cualquier punto de entrenamiento y el hiperplano Vector de soporte (Support Vector, SV): puntos de entrenamiento con α > 0, únicos influyentes en el hiperplano solución Kernel trick: sustitución del producto escalar en la formulación del clasificador hiperplanar por una función kernel que lo generaliza a problemas no lineales
V. Vapnik and A. Chervonenkis, Theory of Pattern Recognition, Nauka, Moscow, N. Cristianini and J. Shawe-Taylor, An Introduction to Support Vector Machines, Cambridge University Press, Cambridge, J. Shawe-Taylor and N. Cristianini, Kernel Methods for Pattern Analysis, Cambridge University Press, Cambridge, 2004.