maquinas de soporte vectorial

46
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Maquinas de Soporte Vectorial Juan David Bolaños Aguilar Universidad de Pamplona 2 de junio de 2015

Upload: unipamplona

Post on 01-May-2023

1 views

Category:

Documents


0 download

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)