Download sistemas inteligentes - Centro de Inteligencia Artificial

Document related concepts

Máquinas de vectores de soporte wikipedia , lookup

Aprendizaje automático cuántico wikipedia , lookup

Agrupamiento espectral wikipedia , lookup

Reducción de dimensionalidad wikipedia , lookup

Algoritmo de Lanczos wikipedia , lookup

Transcript
Universidad
de Oviedo
Centro de
Inteligencia Artificial
SISTEMAS INTELIGENTES
T11: Métodos Kernel:
Máquinas de vectores soporte
{jdiez, juanjo} @ aic.uniovi.es
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Índice
•  Funciones y métodos kernel
° 
° 
° 
° 
Concepto: representación de datos
Características y ventajas
Funciones más usadas
Kernelización de algoritmos
•  Máquinas Vectores Soporte (SVM)
° 
° 
° 
° 
Concepto de Margen: maximización
Teoría: Optimización de funciones
Clasificación: caso separable y margen blando
Regresión
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Kernels (I)
•  Constituyen un forma estándar de representar
los datos
•  Hay datos que no se pueden representar
mediante vectores
° 
Ejemplo: cadenas genéticas
•  Sustituyen las representaciones vectoriales por
otra genérica aplicable a datos no vectoriales
•  Permiten construir algoritmos de aprendizaje
genéricos que pueden utilizarse sobre cualquier
tipo de dato (vectorial o no)
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Kernels (II)
Representamos los datos mediante un
matriz cuadrada donde cada elemento
mide la similitud entre dos ejemplos
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Kernels (III)
Atributos
Atr-1
…
Clase(opcional)
ejemplo 1
clase ej-1
…
…
ejemplo n
clase ej-n
Ej 1
Ej 1 k(x1,x1)
K
Atr-n
…
Ej j
…
Ej n
k(x1,xj)
k(x1,xn)
k(xi,xj)
k(xi,xn)
k(xn,xj)
k(xn,xn)
…
Ej i k(xi,x1)
…
Ej n k(xn,x1)
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Funciones kernel: idea
•  Representar la similitud entre dos objetos
Aproximación
General
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Producto escalar
Induce una métrica:
(1) norma
(2) distancia
Interpretación geométrica:
Salvo escala de los vectores, el producto escalar mide la separación
geométrica de sus direcciones. Esta medida está comprendida entre
-1 y +1:
– Es máxima (+1) cuando coinciden y
– Mínima (-1) cuando son opuestos
– Es 0 cuando son perpendiculares
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Funciones kernel (I)
Simétrica
Semidefinida positiva
Si
es simétrica y semidefinida
positiva, entonces existe un espacio de Hilbert
y una función
tal que
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Funciones Kernel (II)
Si
son kernels en
entonces también son kernels
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Ejemplos de Funciones Kernel
Kernel Lineal
Kernel Polinómico
Kernel Gaussiano
Kernel string, kernel booleano,…
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Métodos Kernel
•  Son los métodos de aprendizaje que usan para
representar los ejemplos de entrenamiento a
través de matrices calculadas mediante la
aplicación de funciones kernel
•  Son métodos genéricos
•  Kernelización: siempre que un algoritmo se
puede expresar en términos de productos
escalares en el espacio de entrada, se pueden
reemplazar por productos escalares en un
cierto espacio de características mediante una
función kernel
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Clasificación por mínima distancia
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Perceptrón (versión sin kernels)
No es kernelizable, no aparecen productos escalares
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Perceptrón (versión dual, kernelizable)
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
El espacio de características (I)
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
El espacio de características (II)
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Ejemplo (I)
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Ejemplo (II)
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Máquinas de Vectores Soporte
“No hay nada más práctico que una buena teoría”
•  Introducidas en los 90 por Vapnik
•  Se basan en la Minimización del Riesgo
Estructural (SRM)
•  92: maximización del margen y uso de kernels
•  95: margen blando
•  Rápido desarrollo: algoritmos más eficientes,
diseño de kernels
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Centro de
Inteligencia Artificial
Universidad
de Oviedo
General/Específico: más gráficamente
Atributo 2
Específica
General
Atributo 1
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Planteamiento
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Minimización del Riesgo Estructural
•  Minimización del Riesgo Empírico (ERM): podemos interpretarlos
como sistemas que tratan de reducir el error empírico
•  Minimización del Riesgo Estructural (SRM): estudian el riesgo
estructural en el espacio de hipótesis
+ + +
+ +
+ + +
_ _
+
_
_
_
+
_
_
_
_ _
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Maximización del Margen
+
+ +
+ +
+ +
+
+
_
_
_
_
_
_
_
_
_
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
¿Por qué maximizar el margen?
•  Resistencia al ruido
en los datos de
entrada
•  Resistencia al error
en el cálculo de la
función de
clasificación
•  Propiedades
matemáticas que
permiten acotar de
manera razonable el
error de
generalización
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Margen funcional y geométrico
•  Margen funcional: la menor diferencia entre aplicar la función
a los ejemplos de la clase positiva y negativa
•  Margen geométrico: distancia entre los ejemplos de ambas
clases, ed, la suma de la distancia del hiperplano al ejemplo
más próximo de cada clase
• 
definen el mismo hiperplano. Para maximizar uno
de ellos debemos mantener fijo el otro. Si mantenemos fijo el
funcional (
), podemos maximizar el geométrico
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Maximizando el margen geométrico
+
+ +
+ +
+ + +
+
_
_ _
_
_
_
_
_
_
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Maximizar el margen: minimizar la norma
•  Resolviendo este problema obtendremos el hiperplano
de margen geométrico máximo que clasifica
correctamente todos los ejemplos. Para resolverlo
aplicaremos métodos conocidos de optimización de
funciones
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Optimización de funciones
•  Problema primal
el objetivo es obtener los valores de las variables primales w que
minimizan la función objetivo f. Las solución está sujeta a que
dichos valores respeten las restricciones de desigualdad gi.
•  Programación lineal:
f y gi
•  Programación cuadrática:
lineales
f cuadrática y gi
lineales
•  Conjunto admisible: todos los puntos del dominio que cumplen
las restricciones
•  Óptimo
w*:
para otro
w del cjto admisible
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Convexidad: óptimos globales (I)
•  Def #1. Un dominio es convexo si y solo si el segmento de la
recta que une cualquier par de puntos del dominio también está
incluido en el dominio
si el dominio es convexo, las restricciones lineales no eliminan la
convexidad del cjto admisible
•  Def #2. Una función es convexa si
•  Def #3. Una función doblemente diferenciable es convexa si su
matriz Hessiana es semidefinida positiva
•  Def #4. Si tanto el dominio, como la función objetivo y las
restricciones son convexas, entonces el problema se dice que es
convexo
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Convexidad: óptimos globales (II)
•  Prop #1. Si una función es convexa, entonces
cualquier mínimo local es también global
Demostración: Para cualquier v ≠ w*, por
definición de mínimo local, existirá un θ
suficientemente cerca de 1 tal que,
global
para cualquier
v y por tanto w* mínimo
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Teoría de Lagrange: función lagrangiana
Dado el problema de optimización:
se define la función langragiana como
donde los αi se denominan multiplicadores de Lagrange (o
variables duales) y deben tener un valor no negativo. Indican
la importancia de cada restricción
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Dualidad (I)
•  Def #5. El problema dual del problema primal
planteado es:
bajo ciertas condiciones, al resolver el
problema dual (restricciones más simples)
obtenemos también la solución del problema
primal asociado.
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Dualidad (II)
•  Teorema. sea w una solución admisible del problema primal y α
del dual, entonces W(α) ≤ f(w)
•  El valor del problema dual está acotado superiormente por el
primal
•  Si f(w*)=W(α*) respetándose las restricciones, entonces w* y α*
son, respectivamente, las soluciones del primal y dual.
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Condiciones de Karush-Kuhn-Tucker (KKT)
•  Teorema. Dado el problema de optimización
primal planteado, si es convexo, las condiciones
necesarias y suficientes para que w* sea
óptimo es que exista α* tal que
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Lectura de las condiciones KKT
Los valores de las variables primales y duales que alcanzan los
óptimos están relacionadas por las ecuaciones de las condiciones
KKT
–  Las derivadas parciales de la lagrangiana respecto a las variables
primarias han de ser cero
–  Condición complementaria: las restricciones activas, aquellas que
valen exactamente cero, su multiplicador de Lagrange podrá ser
mayor o igual que cero. Sin embargo, para las condiciones
inactivas, las que valgan estrictamente menos que cero, el
multiplicador asociado debe ser cero (dispersión de la solución)
–  Estos valores han de cumplir las restricciones del primal y el dual
Consecuencia (KKT). Se puede solucionar el problema primal a
través de una solución del problema dual. Este punto de vista es a
veces interesante cuando el problema dual es más fácil de
resolver que el primal
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Clasificación: problema primal
dado que
podemos cambiar esta versión directa
por otra equivalente más operativa para calcular sus derivadas
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Clasificación: lagrangiana
Todas las funciones que intervienen son convexas y
diferenciables. Se puede aplicar las condiciones de KKT
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Clasificación: problema dual
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Clasificación: análisis
•  La solución w* es una combinación lineal de los ejemplos de
entrenamiento
•  No intervienen todos (dispersión), sólo los que tienen un
multiplicador de Lagrange distinto de cero (vectores soporte)
•  En el caso separable, los vectores soporte son los ejemplos
que estén justo en el margen de cada clase (condición KKT)
•  La variable primal b no aparece en el problema dual, se
debe calcular a partir de w*
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Clasificación: conclusiones
•  Margen: Obtenemos la solución que, desde un punto de vista
estructural, tiene menor posibilidad de cometer errores futuros
•  Convexidad: la solución se obtiene resolviendo un programa de
optimización cuadrática, convexo, sin mínimos locales y resoluble
en tiempo polinomial
•  Dualidad y kernels: el problema dual depende de productos
escalares entre los ejemplos. Podremos sustituirlo por el producto
escalar en un espacio de características mediante un kernel
•  Dispersión: la solución depende de los vectores soporte
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Margen blando: primal
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Margen blando: lagrangiana
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Margen blando: dual
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Regularización
•  Las SVMs seleccionan la función que cumple la siguiente
condición:
•  El primero sumando representa la complejidad de la
hipótesis elegida, se prefiere la más simple (Ockham)
•  El segundo sumando sirve para controlar el coste de la
hipótesis elegida, medido sobre los datos de entrenamiento
utilizados
•  La constante C es la que nos permite regular la solución de
compromiso entre ambos términos, complejidad y coste
•  La determinación del valor adecuado para C en una
aplicación real es quizás más difícil que decidir el kernel a
emplear, ya que éste en muchos casos puede venir dado
por los datos
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Regularización (II)
más bajo
intermedio
valor de C
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
más alto
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Regresión
Necesitamos una función de coste para el término regularizador
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Regresión: problema primal
Necesitamos dos variables
de holgura para cada
ejemplo
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Regresión: lagrangiana
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Regresión: problema dual
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Resumen
•  Maximización del margen
•  Problema de Optimización cuadrática:
° 
° 
° 
° 
convexidad
no hay mínimos locales
resoluble en tiempo polinomial
sequiential minimal optimization (smo) para cjtos
grandes
•  Dualidad: permite el uso de kernels
° 
Podemos transformar el espacio de entrada original en
un espacio de mayor dimensión
•  Dispersión: sólo son necesarios los puntos cerca del
margen (vectores soporte)
•  Las SVM se pueden emplear para: clasificación,
regresión, clustering, aprendizaje de preferencias…
Sistemas Inteligentes - T11: Métodos Kernel: Máquinas de vectores soporte