Maquinas de Soporte Vectorial
Short Description
Download Maquinas de Soporte Vectorial...
Description
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales
Maquinas de Soporte Vectorial
Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel
Juan David Bolaños Aguilar Universidad de Pamplona
SVMs
2 de junio de 2015
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
1 Introducción 2 Clasificadores lineales 3 Margen maximo y vectores de soporte 4 Forma dual 5 Margen maximo con holgura 6 El ”truco” del kernel 7 SVMs .
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Introduccion Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
Las máquinas de soporte vectorial o máquinas de vectores de soporte (Support Vector Machines, en ingles) son un conjunto de algoritmos de aprendizaje supervisado desarrollados por Vladimir Vapnik y su equipo en los laboratorios AT&T.
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial
Las maquinas de soporte vectorial:
Juan David Bolaños Aguilar Introducción
1
Se utilizan en problemas de clasificacion y regresion
Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial
Las maquinas de soporte vectorial:
Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte
1 2
Se utilizan en problemas de clasificacion y regresion construye un hiperplano o conjunto de hiperplanos en un espacio de dimensionalidad muy alta (o incluso infinita).
Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial
Las maquinas de soporte vectorial:
Juan David Bolaños Aguilar Introducción Clasificadores lineales
1 2
Margen maximo y vectores de soporte Forma dual Margen maximo con holgura
3
Se utilizan en problemas de clasificacion y regresion construye un hiperplano o conjunto de hiperplanos en un espacio de dimensionalidad muy alta (o incluso infinita). Entre mayor sea la distancia entre hiperplanos, mejor la clasificacion (Uso de clasificadores lineales de ”margen máximo”)
El ”truco” del kernel SVMs
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial
Las maquinas de soporte vectorial:
Juan David Bolaños Aguilar Introducción Clasificadores lineales
1 2
Margen maximo y vectores de soporte Forma dual
3
Margen maximo con holgura El ”truco” del kernel SVMs
4
Se utilizan en problemas de clasificacion y regresion construye un hiperplano o conjunto de hiperplanos en un espacio de dimensionalidad muy alta (o incluso infinita). Entre mayor sea la distancia entre hiperplanos, mejor la clasificacion (Uso de clasificadores lineales de ”margen máximo”) Emplea funciones kernel: Describen el problema en un espacio de caracteristicas de mayor dimension. Permiten aplicar algoritmos lineales sobre problemas no lineales. .
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Clasificadores lineales Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción
Espacio de entrada: X = ℜn , n dimensional Espacio de Salida: Y = {−1, +1}
Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel
Cada ejemplo de entrenamiento sera un par (⃗xi , { ⃗xi ∈ X donde y ∈ Y i
yi )
Conjunto de entrenamiento
SVMs
L = {(⃗x1 , y1 ), (⃗x2 , y2 ), ..., (⃗xn , yn )}
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción
Objetivo Encontrar un hiperplano h de dimensión (n − 1) que separe los ejemplos etiquetados con -1 de los etiquetados con +1 con un ”margen máximo”
Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción
Objetivo Encontrar un hiperplano h de dimensión (n − 1) que separe los ejemplos etiquetados con -1 de los etiquetados con +1 con un ”margen máximo”
Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel
Espacio de hipotesis (H) Conjunto de hiperplanos de decision definidos por { ⃗ (Vector de pesos) w H = b (Umbral)
SVMs
h (⃗x) = signo
( n ∑
donde H : ℜ → Y ) wi xi + b
i=1
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar
+1
Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
+1
-1 -1 b ∥⃗ w∥
+1
-1 -1
⃗ w ⃗ · ⃗x + b = 0 w .
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Margen maximo y vectores de soporte Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel
Si el problema (definido por el conjunto de ejemplos L) es linealmente separable existen infinitos hiperplanos que separan los ejemplos de entrenamiento. Existen algoritmos para encontrar/construir esos hiperplanos (algoritmo de aprendiza de perceptrones simples, por ejemplo). El objetivo es hallar el hiperplano que mejor separe los elementos de entrenamiento, minimizando las posibilidades de sobre ajuste.
SVMs
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar
+1
d d
Margen: +1
Introducción
2 ∥⃗ w∥
+1
+1
-1
Clasificadores lineales Margen maximo y vectores de soporte
+1 -1 -1
Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
+1 -1
b ∥⃗ w∥ -1
+1
⃗ w -1
-1
⃗ · ⃗x + b = 1 h2 : w ⃗ · ⃗x + b = 0 h:w ⃗ · ⃗x + b = −1 h1 : w
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar
+1
d d
Margen: +1
Introducción
2 ∥⃗ w∥
+1
+1
-1
Clasificadores lineales Margen maximo y vectores de soporte
+1 -1 -1
Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
+1 -1
b ∥⃗ w∥ -1
+1
⃗ w -1
-1
⃗ · ⃗x + b = 1 h2 : w ⃗ · ⃗x + b = 0 h:w ⃗ · ⃗x + b = −1 h1 : w
Objetivo Buscar, construir el hiperplano de margen maximo .
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar
Recordatorio
Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
En geometría, un hiperplano es una extensión del concepto de plano. En un espacio unidimensional (como una recta), un hiperplano es un punto: divide una línea en dos líneas. En un espacio bidimensional (como el plano xy), un hiperplano es una recta: divide el plano en dos mitades. En un espacio tridimensional, un hiperplano es un plano corriente: divide el espacio en dos mitades. Este concepto también puede ser aplicado a espacios de cuatro dimensiones y más, donde estos objetos divisores se llaman simplemente hiperplanos, ya que la finalidad de esta nomenclatura es la de relacionar la geometría con el plano.
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte
Donde tenemos: ⃗ · ⃗x + b = +1 (Delimita ejemplos + 1) h1 : w ⃗ · ⃗x + b = −1 (Delimita ejemplos − 1) h2 : w y el hiperplano de margen maximo definido por la ecuacion:
Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
⃗ · ⃗x + b = 0 h:w Los vectores de soporte son aquellos ejemplos de entrenamiento definen los hiperplanos de separacion h1 y h2 señalados con un circulo en la figura anterior.
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
Como Y = −1, +1 , el ejemplo de entrenamiento (⃗xi , yi ) ∈ L estará bien clasificado si se verifica: ⃗ · ⃗x ≥ +1 para yi = +1 w ⃗ · ⃗x ≥ −1 w
para yi = −1
Ambas expresiones pueden combinarse de la forma yi (⃗ w · ⃗x + b) ≥ 1∀ (⃗xi , yi ) ∈ L Este sera el conjunto de restriccion que debera cumplir el hiperplano objetivo h.
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
Puede demostrarse que la distancia entre el hiperplano objetivo h y cada hiperplano ”Separador”, h1 y h2 , es 1 ∥⃗ w∥ Por lo que el margen es 2 ∥⃗ w∥ .
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial
⃗ y de b que: Objetivo: Buscar los valores de w
Juan David Bolaños Aguilar
1
Maximicen el margen (Distancia entre h1 y h2 , es decir 2 ∥⃗ w∥ )
2
Garanticen que se clasifiquen correctamente todos los ejemplos del conjunto de entrenamiento L = {(⃗x1 , y1 ), (⃗x2 , y2 ), ..., (⃗xn , yn )}
Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
Por conveniencia matematica, en los clasificadores SVM se utiliza la siguiente equivalencia. 2 1 2 MAXIMIZAR ≡ MINIMIZAR ∥⃗ w∥ ∥⃗ w∥ 2 .
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales
Enunciado (forma primal) Dado un conjunto de ejemplos de entrenamiento previamente clasificados L = {(⃗x1 , y1 ), (⃗x2 , y2 ), ..., (⃗xn , yn )} encontrar valores ⃗ que: para b y w
Margen maximo y vectores de soporte Forma dual
MINIMICEN :
Margen maximo con holgura El ”truco” del kernel SVMs
SUJETO A :
1 2 ∥⃗ w∥ 2
(Equivalente a maximizar el margen) y1 (⃗ w · ⃗x1 + b) ≥ 1 y2 (⃗ w · ⃗x2 + b) ≥ 1 ... yl (⃗ w · ⃗xl + b) ≥ 1
(Todos los ejemplos debidamente clasificados)
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel
Es un problema de optimizacion cuadratica (Quadratic Programming) Se trata de identificar los parametros que optimicen (maximicen o minimicen) una ecuacion de segundo grado sujetos a una serie de restricciones lineales sobre dichos parametros. Existen algoritmos razonablemente eficientes para resolverlos, tanto de forma exacta como aproximada: Weka usa el metodo SMO Sequential Minimal Optimization
SVMs
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Forma dual Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
En la práctica se usa la forma dual del problema de optimización anterior. Permite expresar el problema de optimización en función de productos escalares entre los vectores de entrenamiento (necesario para poder aplicar funciones kernel).
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
Reformulacion ⃗ puede expresarse como una combinacion lineal de los w ejemplos de entrenamiento [(⃗xi , yi ) ∈ L] en la forma ∑ ⃗ = li=1 αi yi⃗xi w Cada ejemplo de entrenamiento (xi , yi ) ∈ L tiene asociada una variable αi que describe su ”influencia” en el hiperplano de margen maximo. Solo los vectores soporte participan en la definicion ⃗: del vector w αi > 0 para los ⃗xi que sean vectores soporte αi = 0 para los ⃗xi que no sean vectores soporte
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar
Reformulacion
Introducción Clasificadores lineales Margen maximo y vectores de soporte
El hiperplano de margen maximo quedaria definido por la ecuacion:
Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
⃗ · ⃗x + b = h:w
l ∑
αi yi (⃗xi · ⃗x)
i=1
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte
Enunciado (forma dual) Dado un conjunto de ejemplos de entrenamiento previamente clasificados L = {(⃗x1 , y1 ), (⃗x2 , y2 ), ..., (⃗xl , yl )} encontrar valores para {α1 , α2 , α3 , ..., αl } de modo que:
Forma dual Margen maximo con holgura El ”truco” del kernel
MAXIMICEN
l ∑
1 ∑∑ αi αj yi yj (⃗xi · ⃗xj ) 2 i=1 j=1 l
αi −
i=1
{∑l
SVMs
SUJETO A :
i=1
l
αi yi = 0
αi ≥ 0∀i ∈ {1, ..., l} .
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
Nota: La unica operación donde intervienen los vectores de entrenamientoes el producto escalar (⃗xi · ⃗xj ) presente en la expresión a maximizar. Esto permitirá posteriormente ”kernelizar” el algoritmo sustituyendo ese producto escalar por una función kernel adecuada.
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Margen maximo con holgura Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
Para mitigar aún más las posibilidades de sobreajuste, es decir, permitir cierto grado de error en el hiperplano de separación de margen máximo. Admite problemas que no son linealmente separables en su totalidad. ξi : perdida/holgura admitida para el ejemplo (⃗xi , yi ) ∈ L .
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar
ξi
+1 αi = 0
αi = C +1
+1 αi = 0
Introducción
+1 αi = 0
Clasificadores lineales Margen maximo y vectores de soporte
-1 0 < αi < C
0 < αi < C
+1 -1 αi = 0
-1
Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
-1 αi = 0
ξi
αi = C
+1 αi = 0
+1 αi = 0
ξi
+1 αi = C -1 αi = 0
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
Se relajan las restricciones de lo que es considerado un ”ejemplo bien clasificado” El ejemplo de entrenamiento (⃗xi , yi ) ∈ L se le considera ”bien clasificado” si se verifica: ⃗ · ⃗xi + b ≥ +1 − ξi w
para yi = +1
⃗ · ⃗xi + b ≤ −1 + ξi w
para yi = −1
con ξi ≥ 0∀ i ∈ {1, ..., l} La cantidad maxima de ”perdidas” admitidas sobre el conjunto de entrenamiento se acota mediante el parametro C
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial
Enunciado(forma primal)
Juan David Bolaños Aguilar
Dado un conjunto de ejemplos de entrenamiento previamente clasificados L = {(⃗x1 , y1 ), (⃗x2 , y2 ), ..., (⃗xn , yn )} y una cota maxima ⃗ que: de perdidas permitidas C, encontrar valores para b y w
Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual
MINIMICEN :
Margen maximo con holgura El ”truco” del kernel SVMs
SUJETO A :
l ∑ 1 2 ∥⃗ w∥ + C ξi 2 i=1
y1 (⃗ w · ⃗x1 + b) ≥ 1 − ξ1 y2 (⃗ w · ⃗x2 + b) ≥ 1 − ξ2 ... yl (⃗ w · ⃗xl + b) ≥ 1 − ξl con ξi ≥ 0∀ i ∈ {1, 2, ..., l} .
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura
Enunciado (forma dual) Dado un conjunto de ejemplos de entrenamiento previamente clasificados L = {(⃗x1 , y1 ), (⃗x2 , y2 ), ..., (⃗xl , yl )} y una cota maxima de perdidas permitidas C, encontrar valores para {α1 , α2 , α3 , ..., αl } de modo que: MAXIMICEN
l ∑
El ”truco” del kernel
i=1
SVMs
{∑l SUJETO A :
1 ∑∑ αi αj yi yj (⃗xi · ⃗xj ) 2 i=1 j=1 l
αi −
i=1
l
αi yi = 0
0 ≤ αi ≤ C ∀i ∈ {1, ..., l}
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel
Los vectores de soporte estan asociados a valores de αi que verifiquen 0 ≤ αi ≤ C Los vectores correspondientes a los errores de clasificacion admitidos tienen asociado un αi = C
SVMs
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
El ”truco” del kernel Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción
Problema La mayoria de las situaciones problema en la vida real no son linealmente separables.
Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura
Idea Transformar los ejemplos de entrenamiento a un espacio vectorial de alta dimension (N ≫ n) (denominado Espacio de caracteristicas) donde si sea posible la separacion lineal.
El ”truco” del kernel SVMs
Φ (x) : X → 𝟋 donde
{ Φ : Funcion de transformacion |X| = n, |𝟋| = N N≫n
ϕ recibe vectores del espacio de entrada, X, y los transforma en vectores del espacio de caracteristicas, 𝟋 .
.
.
.
.
.
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
Maquinas de Soporte Vectorial ϕ (⃗x)
Juan David Bolaños Aguilar
ϕ (⃗x)
Introducción
-1
+1
Clasificadores lineales
+1 +1
Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
+1
+1 +1
-1 -1
-1
+1
+1 +1
+1
+1
-1 -1
+1 -1
-1
-1
+1
+1
-1
+1 -1
-1
-1 -1
-1 ϕ (⃗x)
Espacio de entrada X (No Lineal)
Espacio de características F (Lineal)
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual
Inconvenientes potenciales Dificil encontrar/definir una funcion de transformacion ϕ (⃗x) adecuada. Costoso convertir vectores de X en vectores de 𝟋 (vectores muy grandes). Costoso calcular productos escalares en 𝟋 sobre vectores tan grandes.
Margen maximo con holgura El ”truco” del kernel SVMs
Solucion: uso de funciones kernel Se aplican sobre vectores de X y su resultado es un producto escalar sobre ”algun” de caracteristicas 𝟋 Definen una funcion de transformacion ϕ (⃗x) implicita (No es necesario construirla ni calcularla) .
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial
Definicion (Funcion kernel)
Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel
Una funcion kernel κ (x, y) : χ × χ → ℜ asigna a cada par de objetos de entrada, x e y, un valor real que se corresponde con el producto escalar de sus respectivas imagenes en el espacio de caracteristicas 𝟋.
SVMs
Es decir, κ (x, y) = ϕ (⃗ χ)·ϕ (⃗u) para alguna funcion de transformacion implicita, ϕ (⃗x) : χ → 𝟋. .
.
.
.
.
.
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
Las funciones kernel permiten: Calcular productos escalares en 𝟋 (espacio de caracteristicas) aplicando la respectiva funcion kernel sobre χ (espacio de entrada). No es necesarios que los objetos de entrada esten definidos en un espacio de vectorial. Las entradas no tienen porque ser necesariamente vectores numericos. Ejemplo: funciones kernel aplicables sobre cadenas de texto (string kernels)
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
Conclusion (truco del kernel/ kernel trick) Con una funcion kernel adecuada cualquier algoritmo que pueda expresarse en funcion de productos escalares sobre su espacio de entrada puede ser kernelizado. El ”truco del kernel” permite que algoritmos ”lineales” se apliquen sobre problemas ”no lineales”. En el algoritmo, se sustituye el producto escalar ”original” por la funcion kernel Implicitamente, se consigue que el algoritmo ”original” pase a aplicarse sobre el espacio de caracteristicas 𝟋
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
Definiciones previas κ : χ × χ → ℜ es simetrica si κ (x, y) = κ (y, x) ∀x, y ∈ χ κ : χ × χ → ℜ es semidefinida positiva si se verifica que κ : χ × χ → ℜ para cualquier conjunto de objetos x1 , x2 , ..., xn de χ y cualquier conjunto de valores reales c1 , c2 , ..., cn . .
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
Teorema de Mercer (Caracterizacion de funciones kernel) Para cualquier funcion κ : χ × χ → ℜ que sea simetrica y semidefinida positiva existe un espacio de Hilbert 𝟋 y una funcion ϕ : χ → 𝟋 tal que: κ (x, y) = Φ (x) · Φ (y) ∀ (x, y) ∈ χ
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar
Recordatorio
Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
En matemáticas, el concepto de espacio de Hilbert es una generalización del concepto de espacio euclídeo. Esta generalización permite que nociones y técnicas algebraicas y geométricas aplicables a espacios de dimensión dos y tres se extiendan a espacios de dimensión arbitraria, incluyendo a espacios de dimensión infinita. Ejemplos de tales nociones y técnicas son la de ángulo entre vectores, ortogonalidad de vectores, el teorema de Pitágoras, proyección ortogonal, distancia entre vectores y convergencia de una sucesión. El nombre dado a estos espacios es en honor al matemático David Hilbert quien los utilizó en su estudio de las ecuaciones integrales.
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
Funciones kernel tipicas: Kernel identidad: κ (⃗x,⃗y) = ⃗x · ⃗y Kernel polinomico: κ (⃗x,⃗y) = (⃗x · ⃗y + r)p Kernel gaussiano (RBF): ( ) κ (⃗x,⃗y) = e
−∥⃗x−⃗y∥2 2σ 2
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
Combinacion de kernels: Si k1 y k2 son funciones kernel, tambien lo seran: k1 (x, y) + k2 (x, y) αk1 (x, y) k1 (x, y) k2 (x, y)
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
SVMs Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel SVMs
El metodo de aprendizaje en el que se basan las Support Vector Machines (SVMs) no es mas que la kernelizacion de un clasificador lineal de margen maximo con holgura. En resumen Se aplica un algoritmo para aprender un clasificador lineal de margen maximo con holgura de forma implicita sobre el espacio de caracteristicas 𝟋 inducido por la funcion kernel empleada, en lugar de aplicarlo sobre el espacio de entrada original χ.
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura
Enunciado (forma dual kernelizada) Dado un conjunto de ejemplos de entrenamiento previamente clasificados L = {(⃗x1 , y1 ), (⃗x2 , y2 ), ..., (⃗xl , yl )}, una cota maxima de perdidas permitidas C y una funcion kernel κ (x, y). Encontrar valores para {α1 , α2 , α3 , ..., αl } de modo que: MAXIMICEN
l ∑ i=1
El ”truco” del kernel
{∑l
SVMs
SUJETO A :
1 ∑∑ αi αj yi yj κ (⃗xi ,⃗xj ) 2 i=1 j=1 l
αi −
i=1
l
αi yi = 0
0 ≤ αi ≤ C ∀i ∈ {1, ..., l}
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Introducción Clasificadores lineales Margen maximo y vectores de soporte Forma dual Margen maximo con holgura El ”truco” del kernel
NOTA: κ (⃗xi ,⃗xj ) equivale al producto escalar ϕ (⃗xi ) · ϕ (⃗xi ) en 𝟋. Es decir, la optimizacion ∑l ∑l ∑l 1 α − xi ,⃗xj ) se i i=1 i=1 j=1 αi αj yi yj κ (⃗ 2 aplica implicita sobre ∑forma ∑l realmente ∑l de l 1 xi ) · ϕ (⃗xi ) i=1 αi − 2 i=1 j=1 αi αj yi yj ϕ (⃗
SVMs
.
.
.
.
.
.
. . . . . . . .
. . . . . . . .
. . . . . . . .
. .
.
. .
.
.
.
.
.
View more...
Comments