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

Maquinas de soporte vectorial

Embed Size (px)

DESCRIPTION

Presentacion de SVMs

Citation preview

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    Clasificadores lineales

    Margen maximo yvectores de soporte

    Forma dual

    Margen maximo conholgura

    El truco del kernel

    SVMs

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    Maquinas de Soporte Vectorial

    Juan David Bolaos AguilarUniversidad de Pamplona

    2 de junio de 2015

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    Clasificadores lineales

    Margen maximo yvectores de soporte

    Forma dual

    Margen maximo conholgura

    El truco del kernel

    SVMs

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    1 Introduccin2 Clasificadores lineales3 Margen maximo y vectores de soporte4 Forma dual5 Margen maximo con holgura6 El truco del kernel7 SVMs

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    Clasificadores lineales

    Margen maximo yvectores de soporte

    Forma dual

    Margen maximo conholgura

    El truco del kernel

    SVMs

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    Introduccion

    Las mquinas de soporte vectorial o mquinasde 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 BolaosAguilar

    Introduccin

    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 margenmximo)

    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 BolaosAguilar

    Introduccin

    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 margenmximo)

    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 BolaosAguilar

    Introduccin

    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 margenmximo)

    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 BolaosAguilar

    Introduccin

    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 margenmximo)

    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 BolaosAguilar

    Introduccin

    Clasificadores lineales

    Margen maximo yvectores de soporte

    Forma dual

    Margen maximo conholgura

    El truco del kernel

    SVMs

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    Clasificadores lineales

    Espacio de entrada: X =

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    Clasificadores lineales

    Margen maximo yvectores de soporte

    Forma dual

    Margen maximo conholgura

    El truco del kernel

    SVMs

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ObjetivoEncontrar un hiperplano h de dimensin (n 1) que separe losejemplos etiquetados con -1 de los etiquetados con +1 con unmargen mximo

    Espacio de hipotesis (H)Conjunto de hiperplanos de decision definidos por

    H =~w (Vector de pesos)b (Umbral) donde H : < ! Y

    h (~x) = signo nX

    i=1wixi + b

    !

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    Clasificadores lineales

    Margen maximo yvectores de soporte

    Forma dual

    Margen maximo conholgura

    El truco del kernel

    SVMs

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ObjetivoEncontrar un hiperplano h de dimensin (n 1) que separe losejemplos etiquetados con -1 de los etiquetados con +1 con unmargen mximo

    Espacio de hipotesis (H)Conjunto de hiperplanos de decision definidos por

    H =~w (Vector de pesos)b (Umbral) donde H : < ! Y

    h (~x) = signo nX

    i=1wixi + b

    !

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    Clasificadores lineales

    Margen maximo yvectores de soporte

    Forma dual

    Margen maximo conholgura

    El truco del kernel

    SVMs

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    -1-1 -1

    -1

    +1

    +1 +1

    ~wbk~wk

    ~w ~x+ b = 0

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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 BolaosAguilar

    Introduccin

    Clasificadores lineales

    Margen maximo yvectores de soporte

    Forma dual

    Margen maximo conholgura

    El truco del kernel

    SVMs

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    Margen: 2k~wk

    -1 +1

    ~wbk~wk

    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 BolaosAguilar

    Introduccin

    Clasificadores lineales

    Margen maximo yvectores de soporte

    Forma dual

    Margen maximo conholgura

    El truco del kernel

    SVMs

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    Margen: 2k~wk

    -1 +1

    ~wbk~wk

    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 BolaosAguilar

    Introduccin

    Clasificadores lineales

    Margen maximo yvectores de soporte

    Forma dual

    Margen maximo conholgura

    El truco del kernel

    SVMs

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    RecordatorioEn geometra, un hiperplano es una extensin del concepto deplano. En un espacio unidimensional (como una recta), un hiper-plano es un punto: divide una lnea en dos lneas. 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 tambin puede ser aplicado a espacios de cuatrodimensiones y ms, donde estos objetos divisores se llaman sim-plemente hiperplanos, ya que la finalidad de esta nomenclatura esla de relacionar la geometra con el plano.

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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 sealados con uncirculo en la figura anterior.

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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) 2 L estarbien clasificado si se verifica:

    ~w ~x +1 para yi = +1

    ~w ~x 1 para yi = 1Ambas expresiones pueden combinarse de la forma

    yi (~w ~x+ b) 18 (~xi; yi) 2 L

    Este sera el conjunto de restriccion que debera cumplir el hiper-plano objetivo h.

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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

    k~wkPor lo que el margen es

    2

    k~wk

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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 decir2k~wk )

    2 Garanticen que se clasifiquen correctamente todos losejemplos del conjunto de entrenamientoL = f(~x1; y1); (~x2; y2); :::; (~xn; yn)g

    Por conveniencia matematica, en los clasificadores SVM se utilizala siguiente equivalencia.

    MAXIMIZAR 2k~wk MINIMIZAR1

    2k~wk2

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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 previamenteclasificados L = f(~x1; y1); (~x2; y2); :::; (~xn; yn)g encontrar valores

    para b y ~w que:

    MINIMICEN : 12k~wk2 (Equivalente amaximizar elmargen)

    SUJETOA :

    y1 (~w ~x1 + b) 1y2 (~w ~x2 + b) 1

    :::yl (~w ~xl + b) 1

    (Todos los ejemplos debidamente clasificados)

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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 BolaosAguilar

    Introduccin

    Clasificadores lineales

    Margen maximo yvectores de soporte

    Forma dual

    Margen maximo conholgura

    El truco del kernel

    SVMs

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    Forma dual

    En la prctica se usa la forma dual del proble-ma de optimizacin anterior. Permite expresarel problema de optimizacin en funcin de pro-ductos escalares entre los vectores de entrena-miento (necesario para poder aplicar funcioneskernel).

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    Clasificadores lineales

    Margen maximo yvectores de soporte

    Forma dual

    Margen maximo conholgura

    El truco del kernel

    SVMs

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    Reformulacion~w puede expresarse como una combinacion lineal de losejemplos de entrenamiento [(~xi; yi) 2 L] en la forma~w =Pli=1 iyi~xi

    Cada ejemplo de entrenamiento (xi; yi) 2 L tieneasociada una variable i que describe suinfluencia en el hiperplano de margen maximo.Solo los vectores soporte participan en la definiciondel vector ~w:

    i > 0 para los ~xi que sean vectores soportei = 0 para los ~xi que no sean vectoressoporte

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    Clasificadores lineales

    Margen maximo yvectores de soporte

    Forma dual

    Margen maximo conholgura

    El truco del kernel

    SVMs

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ReformulacionEl hiperplano de margen maximoquedaria definido por la ecuacion:

    h : ~w ~x+ b =lX

    i=1iyi (~xi ~x)

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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 = f(~x1; y1); (~x2; y2); :::; (~xl; yl)g encontrar valores paraf1; 2; 3; :::; lg de modo que:

    MAXIMICENlX

    i=1i 1

    2

    lXi=1

    lXj=1

    ijyiyj (~xi ~xj)

    SUJETOA :(Pl

    i=1 iyi = 0i 08i 2 f1; :::; lg

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    Clasificadores lineales

    Margen maximo yvectores de soporte

    Forma dual

    Margen maximo conholgura

    El truco del kernel

    SVMs

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    Nota: La unica operacin donde intervienenlos vectores de entrenamientoes el productoescalar (~xi ~xj) presente en la expresin amaximizar. Esto permitir posteriormentekernelizar el algoritmo sustituyendo eseproducto escalar por una funcin kerneladecuada.

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    Clasificadores lineales

    Margen maximo yvectores de soporte

    Forma dual

    Margen maximo conholgura

    El truco del kernel

    SVMs

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    Margen maximo con holgura

    Para mitigar an ms las posibilidades desobreajuste, es decir, permitir cierto grado deerror en el hiperplano de separacin de margenmximo.

    Admite problemas que no son linealmenteseparables en su totalidad.i: perdida/holgura admitida para elejemplo (~xi; yi) 2 L

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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 = 0i = 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 BolaosAguilar

    Introduccin

    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) 2 L se le considerabien clasificado si se verifica:

    ~w ~xi + b +1 i para yi = +1

    ~w ~xi + b 1 + i para yi = 1con i 08 i 2 f1; :::; lg

    La cantidad maxima de perdidas admitidas sobre elconjunto de entrenamiento se acota mediante elparametro C

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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 = f(~x1; y1); (~x2; y2); :::; (~xn; yn)g y una cota maximade perdidas permitidas C, encontrar valores para b y ~w que:

    MINIMICEN : 12k~wk2 + C

    lXi=1

    i

    SUJETOA :

    y1 (~w ~x1 + b) 1 1y2 (~w ~x2 + b) 1 2

    :::yl (~w ~xl + b) 1 l

    coni 08 i 2 f1; 2; :::; lg

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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 = f(~x1; y1); (~x2; y2); :::; (~xl; yl)g y una cota maxima deperdidas permitidas C, encontrar valores para f1; 2; 3; :::; lgde modo que:

    MAXIMICENlX

    i=1i 1

    2

    lXi=1

    lXj=1

    ijyiyj (~xi ~xj)

    SUJETOA :(Pl

    i=1 iyi = 00 i C 8i 2 f1; :::; lg

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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 BolaosAguilar

    Introduccin

    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! z donde( : Funcion de transformacionjXj = n; jzj = NN n

    recibe vectores del espacio de entrada, X, y los transforma envectores del espacio de caracteristicas, z

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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 caractersticas F (Lineal)

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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 z(vectores muy grandes).Costoso calcular productos escalares en z sobre vectorestan grandes.

    Solucion: uso de funciones kernelSe aplican sobre vectores de X y su resultado es unproducto escalar sobre algun de caracteristicas zDefinen una funcion de transformacion (~x) implicita (Noes necesario construirla ni calcularla)

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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 z.

    Es decir, (x; y) = (~) (~u) para alguna fun-cion de transformacion implicita, (~x) : !z.

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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 z (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 BolaosAguilar

    Introduccin

    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 originalpor la funcion kernelImplicitamente, se consigue que el algoritmo originalpase a aplicarse sobre el espacio de caracteristicas z

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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)8x; y 2 : ! < 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 BolaosAguilar

    Introduccin

    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 z y una funcion : ! ztal que:

    (x; y) = (x) (y) 8 (x; y) 2

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    Clasificadores lineales

    Margen maximo yvectores de soporte

    Forma dual

    Margen maximo conholgura

    El truco del kernel

    SVMs

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    RecordatorioEn matemticas, el concepto de espacio de Hilbert es una gene-ralizacin del concepto de espacio eucldeo. Esta generalizacinpermite que nociones y tcnicas algebraicas y geomtricas aplica-bles a espacios de dimensin dos y tres se extiendan a espacios dedimensin arbitraria, incluyendo a espacios de dimensin infinita.Ejemplos de tales nociones y tcnicas son la de ngulo entre vecto-res, ortogonalidad de vectores, el teorema de Pitgoras, proyeccinortogonal, distancia entre vectores y convergencia de una sucesin.El nombre dado a estos espacios es en honor al matemtico DavidHilbert quien los utiliz en su estudio de las ecuaciones integrales.

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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 ~yKernel polinomico: (~x;~y) = (~x ~y+ r)pKernel gaussiano (RBF): (~x;~y) = e

    k~x~yk2

    22

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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 BolaosAguilar

    Introduccin

    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 z inducido por la funcion kernel empleada, enlugar de aplicarlo sobre el espacio de entrada original .

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    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 = f(~x1; y1); (~x2; y2); :::; (~xl; yl)g, una cota maxima deperdidas permitidas C y una funcion kernel (x; y). Encontrar va-lores para f1; 2; 3; :::; lg de modo que:

    MAXIMICENlX

    i=1i 1

    2

    lXi=1

    lXj=1

    ijyiyj (~xi;~xj)

    SUJETOA :(Pl

    i=1 iyi = 00 i C 8i 2 f1; :::; lg

  • Maquinas de SoporteVectorial

    Juan David BolaosAguilar

    Introduccin

    Clasificadores lineales

    Margen maximo yvectores de soporte

    Forma dual

    Margen maximo conholgura

    El truco del kernel

    SVMs

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    ...

    .

    NOTA: (~xi;~xj) equivale al producto escalar (~xi) (~xi) en z. Es decir, la optimizacionPl

    i=1 i 12Pl

    i=1Pl

    j=1 ijyiyj (~xi;~xj) seaplica realmente de forma implicita sobrePl

    i=1 i 12Pl

    i=1Pl

    j=1 ijyiyj (~xi) (~xi)

    IntroduccinClasificadores linealesMargen maximo y vectores de soporteForma dualMargen maximo con holguraEl "truco" del kernelSVMs