maquinas de soporte vectorial
TRANSCRIPT
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Maquinas de Soporte Vectorial
Juan David Bolaños AguilarUniversidad de Pamplona
2 de junio de 2015
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
1 Introducción2 Clasificadores lineales3 Margen maximo y vectores de soporte4 Forma dual5 Margen maximo con holgura6 El ”truco” del kernel7 SVMs
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Introduccion
Las máquinas de soporte vectorial o máquinasde vectores de soporte (Support Vector Machi-nes, en ingles) son un conjunto de algoritmos deaprendizaje supervisado desarrollados por Vla-dimir Vapnik y su equipo en los laboratoriosAT&T.
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Las maquinas de soporte vectorial:
1 Se utilizan en problemas de clasificacion y regresion
2 construye un hiperplano o conjunto de hiperplanos en unespacio de dimensionalidad muy alta (o incluso infinita).
3 Entre mayor sea la distancia entre hiperplanos, mejor laclasificacion (Uso de clasificadores lineales de ”margenmáximo”)
4 Emplea funciones kernel:Describen el problema en un espacio decaracteristicas de mayor dimension.Permiten aplicar algoritmos lineales sobre problemasno lineales.
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Las maquinas de soporte vectorial:
1 Se utilizan en problemas de clasificacion y regresion2 construye un hiperplano o conjunto de hiperplanos en un
espacio de dimensionalidad muy alta (o incluso infinita).
3 Entre mayor sea la distancia entre hiperplanos, mejor laclasificacion (Uso de clasificadores lineales de ”margenmáximo”)
4 Emplea funciones kernel:Describen el problema en un espacio decaracteristicas de mayor dimension.Permiten aplicar algoritmos lineales sobre problemasno lineales.
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Las maquinas de soporte vectorial:
1 Se utilizan en problemas de clasificacion y regresion2 construye un hiperplano o conjunto de hiperplanos en un
espacio de dimensionalidad muy alta (o incluso infinita).3 Entre mayor sea la distancia entre hiperplanos, mejor la
clasificacion (Uso de clasificadores lineales de ”margenmáximo”)
4 Emplea funciones kernel:Describen el problema en un espacio decaracteristicas de mayor dimension.Permiten aplicar algoritmos lineales sobre problemasno lineales.
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Las maquinas de soporte vectorial:
1 Se utilizan en problemas de clasificacion y regresion2 construye un hiperplano o conjunto de hiperplanos en un
espacio de dimensionalidad muy alta (o incluso infinita).3 Entre mayor sea la distancia entre hiperplanos, mejor la
clasificacion (Uso de clasificadores lineales de ”margenmáximo”)
4 Emplea funciones kernel:Describen el problema en un espacio decaracteristicas de mayor dimension.Permiten aplicar algoritmos lineales sobre problemasno lineales.
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Clasificadores lineales
Espacio de entrada: X = ℜn, n dimensional
Espacio de Salida: Y = {−1, +1}
Cada ejemplo de entrenamiento sera un par (⃗xi, yi)
donde{x⃗i ∈ X
yi ∈ Y
Conjunto de entrenamiento
L = {(⃗x1, y1), (⃗x2, y2), ..., (⃗xn, yn)}
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
ObjetivoEncontrar un hiperplano h de dimensión (n − 1) que separe losejemplos etiquetados con -1 de los etiquetados con +1 con un”margen máximo”
Espacio de hipotesis (H)Conjunto de hiperplanos de decision definidos por
H =
{w⃗ (Vector de pesos)b (Umbral) donde H : ℜ → Y
h (⃗x) = signo( n∑
i=1
wixi + b)
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
ObjetivoEncontrar un hiperplano h de dimensión (n − 1) que separe losejemplos etiquetados con -1 de los etiquetados con +1 con un”margen máximo”
Espacio de hipotesis (H)Conjunto de hiperplanos de decision definidos por
H =
{w⃗ (Vector de pesos)b (Umbral) donde H : ℜ → Y
h (⃗x) = signo( n∑
i=1
wixi + b)
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
-1-1
-1-1
+1
+1+1
w⃗b∥w⃗∥
w⃗ · x⃗ + b = 0
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Margen maximo y vectores desoporte
Si el problema (definido por el conjunto de ejemplos L) eslinealmente separable existen infinitos hiperplanos que separanlos ejemplos de entrenamiento.
Existen algoritmos para encontrar/construir esoshiperplanos (algoritmo de aprendiza de perceptronessimples, por ejemplo). El objetivo es hallar el hiperplanoque mejor separe los elementos de entrenamiento,minimizando las posibilidades de sobre ajuste.
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Margen: 2∥w⃗∥
-1 +1
w⃗b∥w⃗∥
h : w⃗ · x⃗ + b = 0
dd
h2 : w⃗ · x⃗ + b = 1
h1 : w⃗ · x⃗ + b = −1
+1
+1+1
+1+1
+1
-1
-1
-1
-1
-1
-1
ObjetivoBuscar, construir el hiperplano de margen maximo
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Margen: 2∥w⃗∥
-1 +1
w⃗b∥w⃗∥
h : w⃗ · x⃗ + b = 0
dd
h2 : w⃗ · x⃗ + b = 1
h1 : w⃗ · x⃗ + b = −1
+1
+1+1
+1+1
+1
-1
-1
-1
-1
-1
-1
ObjetivoBuscar, construir el hiperplano de margen maximo
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Recordatorio
En geometría, un hiperplano es una extensión del concepto deplano. En un espacio unidimensional (como una recta), un hiper-plano es un punto: divide una línea en dos líneas. En un espaciobidimensional (como el plano xy), un hiperplano es una recta: di-vide el plano en dos mitades. En un espacio tridimensional, unhiperplano es un plano corriente: divide el espacio en dos mitades.Este concepto también puede ser aplicado a espacios de cuatrodimensiones y más, donde estos objetos divisores se llaman sim-plemente hiperplanos, ya que la finalidad de esta nomenclatura esla de relacionar la geometría con el plano.
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Donde tenemos:h1 : w⃗ · x⃗ + b = +1 (Delimita ejemplos + 1)
h2 : w⃗ · x⃗ + b = −1 (Delimita ejemplos − 1)
y el hiperplano de margen maximo definido por la ecuacion:
h : w⃗ · x⃗ + b = 0
Los vectores de soporte son aquellos ejemplos de entrenamientodefinen los hiperplanos de separacion h1 y h2 señalados con uncirculo en la figura anterior.
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Como Y = −1,+1 , el ejemplo de entrenamiento (⃗xi, yi) ∈ L estarábien clasificado si se verifica:
w⃗ · x⃗ ≥ +1 para yi = +1
w⃗ · x⃗ ≥ −1 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 hiper-plano objetivo h.
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Puede demostrarse que la distancia entre el hi-perplano objetivo h y cada hiperplano ”Separa-dor”, h1 y h2, es
1
∥w⃗∥
Por lo que el margen es
2
∥w⃗∥
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Objetivo: Buscar los valores de w⃗ y de b que:
1 Maximicen el margen (Distancia entre h1 y h2, es decir2
∥w⃗∥ )2 Garanticen que se clasifiquen correctamente todos los
ejemplos del conjunto de entrenamientoL = {(⃗x1, y1), (⃗x2, y2), ..., (⃗xn, yn)}
Por conveniencia matematica, en los clasificadores SVM se utilizala siguiente equivalencia.
MAXIMIZAR 2
∥w⃗∥ ≡ MINIMIZAR 1
2∥w⃗∥2
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Enunciado (forma primal)Dado un conjunto de ejemplos de entrenamiento previamente
clasificados L = {(⃗x1, y1), (⃗x2, y2), ..., (⃗xn, yn)} encontrar valorespara b y w⃗ que:
MINIMICEN :1
2∥w⃗∥2 (Equivalente a maximizar el margen)
SUJETO A :
y1 (w⃗ · x⃗1 + b) ≥ 1y2 (w⃗ · x⃗2 + b) ≥ 1
...yl (w⃗ · x⃗l + b) ≥ 1
(Todos los ejemplos debidamente clasificados)
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Es un problema de optimizacion cuadratica (QuadraticProgramming)
Se trata de identificar los parametros que optimicen(maximicen o minimicen) una ecuacion de segundo gradosujetos a una serie de restricciones lineales sobre dichosparametros.Existen algoritmos razonablemente eficientes pararesolverlos, tanto de forma exacta como aproximada: Wekausa el metodo SMO Sequential Minimal Optimization
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Forma dual
En la práctica se usa la forma dual del proble-ma de optimización anterior. Permite expresarel problema de optimización en función de pro-ductos escalares entre los vectores de entrena-miento (necesario para poder aplicar funcioneskernel).
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Reformulacionw⃗ puede expresarse como una combinacion lineal de losejemplos de entrenamiento [(⃗xi, yi) ∈ L] en la formaw⃗ =
∑li=1 αiyi⃗xi
Cada ejemplo de entrenamiento (xi, yi) ∈ L tieneasociada una variable αi que describe su”influencia” en el hiperplano de margen maximo.Solo los vectores soporte participan en la definiciondel vector w⃗:
αi > 0 para los x⃗i que sean vectores soporteαi = 0 para los x⃗i que no sean vectoressoporte
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Reformulacion
El hiperplano de margen maximoquedaria definido por la ecuacion:
h : w⃗ · x⃗ + b =l∑
i=1
αiyi (⃗xi · x⃗)
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Enunciado (forma dual)
Dado un conjunto de ejemplos de entrenamiento previamente cla-sificados L = {(⃗x1, y1), (⃗x2, y2), ..., (⃗xl, yl)} encontrar valores para{α1, α2, α3, ..., αl} de modo que:
MAXIMICENl∑
i=1
αi −1
2
l∑i=1
l∑j=1
αiαjyiyj (⃗xi · x⃗j)
SUJETO A :
{∑li=1 αiyi = 0
αi ≥ 0∀i ∈ {1, ..., l}
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Nota: La unica operación donde intervienenlos vectores de entrenamientoes el productoescalar (⃗xi · x⃗j) presente en la expresión amaximizar. Esto permitirá posteriormente”kernelizar” el algoritmo sustituyendo eseproducto escalar por una función kerneladecuada.
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Margen maximo con holgura
Para mitigar aún más las posibilidades desobreajuste, es decir, permitir cierto grado deerror en el hiperplano de separación de margenmáximo.
Admite problemas que no son linealmenteseparables en su totalidad.ξi: perdida/holgura admitida para elejemplo (⃗xi, yi) ∈ L
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
-1
+1
+1
+1
+1+1
+1
-1
-1
-1
+1
+1
-1
αi = 0
αi = 0
αi = 0
αi = 0
αi = 0αi = 0
αi = 0
αi = 0
ξi
αi = C
αi = C
αi = C
0 < αi < C
0 < αi < C
ξi
ξi
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Se relajan las restricciones de lo que es considerado un ”ejemplobien clasificado”
El ejemplo de entrenamiento (⃗xi, yi) ∈ L se le considera”bien clasificado” si se verifica:
w⃗ · x⃗i + b ≥ +1− ξi para yi = +1
w⃗ · x⃗i + b ≤ −1 + ξi para yi = −1
con ξi ≥ 0∀ i ∈ {1, ..., l}La cantidad maxima de ”perdidas” admitidas sobre elconjunto de entrenamiento se acota mediante elparametro C
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Enunciado(forma primal)Dado un conjunto de ejemplos de entrenamiento previamente
clasificados L = {(⃗x1, y1), (⃗x2, y2), ..., (⃗xn, yn)} y una cota maximade perdidas permitidas C, encontrar valores para b y w⃗ que:
MINIMICEN :1
2∥w⃗∥2 + C
l∑i=1
ξi
SUJETO A :
y1 (w⃗ · x⃗1 + b) ≥ 1− ξ1y2 (w⃗ · x⃗2 + b) ≥ 1− ξ2
...yl (w⃗ · x⃗l + b) ≥ 1− ξl
conξi ≥ 0∀ i ∈ {1, 2, ..., l}
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Enunciado (forma dual)
Dado un conjunto de ejemplos de entrenamiento previamente cla-sificados L = {(⃗x1, y1), (⃗x2, y2), ..., (⃗xl, yl)} y una cota maxima deperdidas permitidas C, encontrar valores para {α1, α2, α3, ..., αl}de modo que:
MAXIMICENl∑
i=1
αi −1
2
l∑i=1
l∑j=1
αiαjyiyj (⃗xi · x⃗j)
SUJETO A :
{∑li=1 αiyi = 0
0 ≤ αi ≤ C ∀i ∈ {1, ..., l}
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Los vectores de soporte estan asociados avalores de αi que verifiquen 0 ≤ αi ≤ CLos vectores correspondientes a loserrores de clasificacion admitidos tienenasociado un αi = C
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
El ”truco” del kernel
ProblemaLa mayoria de las situaciones problema en la vida real no sonlinealmente separables.
IdeaTransformar los ejemplos de entrenamiento a un espacio vectorialde alta dimension (N ≫ n) (denominado Espacio decaracteristicas) donde si sea posible la separacion lineal.
Φ (x) : X → 𝟋 donde{Φ : Funcion de transformacion|X| = n, |𝟋| = NN ≫ n
ϕ recibe vectores del espacio de entrada, X, y los transforma envectores del espacio de caracteristicas, 𝟋
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
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
-1-1
-1
-1
ϕ (⃗x)
ϕ (⃗x)
ϕ (⃗x)
Espacio de entrada X (No Lineal) Espacio de características F (Lineal)
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
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 vectorestan grandes.
Solucion: uso de funciones kernelSe aplican sobre vectores de X y su resultado es unproducto escalar sobre ”algun” de caracteristicas 𝟋Definen una funcion de transformacion ϕ (⃗x) implicita (Noes necesario construirla ni calcularla)
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Definicion (Funcion kernel)
Una funcion kernel κ (x, y) : χ × χ → ℜ asig-na a cada par de objetos de entrada, x e y, unvalor real que se corresponde con el productoescalar de sus respectivas imagenes en el espa-cio de caracteristicas 𝟋.
Es decir, κ (x, y) = ϕ (χ⃗)·ϕ (⃗u) para alguna fun-cion de transformacion implicita, ϕ (⃗x) : χ →𝟋.
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Las funciones kernel permiten:Calcular productos escalares en 𝟋 (espacio decaracteristicas) aplicando la respectiva funcion kernelsobre χ (espacio de entrada).No es necesarios que los objetos de entrada esten definidosen un espacio de vectorial.
Las entradas no tienen porque ser necesariamentevectores numericos.Ejemplo: funciones kernel aplicables sobre cadenasde texto (string kernels)
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Conclusion (truco del kernel/ kernel trick)Con una funcion kernel adecuada cualquier algoritmo que puedaexpresarse en funcion de productos escalares sobre su espacio deentrada puede ser kernelizado.
El ”truco del kernel” permite que algoritmos ”lineales” seapliquen sobre problemas ”no lineales”.En el algoritmo, se sustituye el producto escalar ”original”por la funcion kernelImplicitamente, se consigue que el algoritmo ”original”pase a aplicarse sobre el espacio de caracteristicas 𝟋
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Definiciones previas
κ : χ× χ → ℜ es simetrica siκ (x, y) = κ (y, x)∀x, y ∈ χ
κ : χ× χ → ℜ es semidefinida positiva sise verifica que κ : χ× χ → ℜ paracualquier conjunto de objetos x1, x2, ..., xnde χ y cualquier conjunto de valoresreales c1, c2, ..., cn.
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Teorema de Mercer (Caracterizacion defunciones kernel)Para cualquier funcion κ : χ× χ → ℜ que seasimetrica y semidefinida positiva existe unespacio de Hilbert 𝟋 y una funcion ϕ : χ → 𝟋tal que:
κ (x, y) = Φ (x) · Φ (y) ∀ (x, y) ∈ χ
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Recordatorio
En matemáticas, el concepto de espacio de Hilbert es una gene-ralización del concepto de espacio euclídeo. Esta generalizaciónpermite que nociones y técnicas algebraicas y geométricas aplica-bles a espacios de dimensión dos y tres se extiendan a espacios dedimensión arbitraria, incluyendo a espacios de dimensión infinita.Ejemplos de tales nociones y técnicas son la de ángulo entre vecto-res, ortogonalidad de vectores, el teorema de Pitágoras, proyecciónortogonal, distancia entre vectores y convergencia de una sucesión.El nombre dado a estos espacios es en honor al matemático DavidHilbert quien los utilizó en su estudio de las ecuaciones integrales.
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
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 SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Combinacion de kernels:Si k1 y k2 son funciones kernel, tambien loseran:
k1 (x, y) + k2 (x, y)αk1 (x, y)k1 (x, y) k2 (x, y)
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
SVMs
El metodo de aprendizaje en el que se basan lasSupport Vector Machines (SVMs) no es masque la kernelizacion de un clasificador lineal demargen maximo con holgura.En resumenSe aplica un algoritmo para aprender un clasificador lineal demargen maximo con holgura de forma implicita sobre el espaciode caracteristicas 𝟋 inducido por la funcion kernel empleada, enlugar de aplicarlo sobre el espacio de entrada original χ.
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Enunciado (forma dual kernelizada)
Dado un conjunto de ejemplos de entrenamiento previamente cla-sificados L = {(⃗x1, y1), (⃗x2, y2), ..., (⃗xl, yl)}, una cota maxima deperdidas permitidas C y una funcion kernel κ (x, y). Encontrar va-lores para {α1, α2, α3, ..., αl} de modo que:
MAXIMICENl∑
i=1
αi −1
2
l∑i=1
l∑j=1
αiαjyiyjκ (⃗xi, x⃗j)
SUJETO A :
{∑li=1 αiyi = 0
0 ≤ αi ≤ C ∀i ∈ {1, ..., l}
Maquinas de SoporteVectorial
Juan David BolañosAguilar
Introducción
Clasificadores lineales
Margen maximo yvectores de soporte
Forma dual
Margen maximo conholgura
El ”truco” del kernel
SVMs
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
NOTA: κ (⃗xi, x⃗j) equivale al producto escalarϕ (⃗xi) · ϕ (⃗xi) en 𝟋. Es decir, la optimizacion∑l
i=1 αi − 12
∑li=1
∑lj=1 αiαjyiyjκ (⃗xi, x⃗j) se
aplica realmente de forma implicita sobre∑li=1 αi − 1
2
∑li=1
∑lj=1 αiαjyiyjϕ (⃗xi) · ϕ (⃗xi)