¿Cómo puede SVM 'encontrar' un espacio de características infinito donde la separación lineal siempre es posible?


36

¿Cuál es la intuición detrás del hecho de que una SVM con un núcleo gaussiano tiene un espacio de características dimensionales infinito?


1
Realmente no entiendo la pregunta. ¿Quieres una explicación de por qué su espacio de características correspondiente es de dimensión infinita o una interpretación de lo que significa el hiperplano resultante?
Marc Claesen

1
¡No me importaría escuchar ambas!
user36162

55
Creo que esta es una pregunta interesante (+1)

Respuestas:


39

Esta respuesta explica lo siguiente:

  1. Por qué la separación perfecta siempre es posible con puntos distintos y un núcleo gaussiano (de ancho de banda suficientemente pequeño)
  2. Cómo esta separación puede interpretarse como lineal, pero solo en un espacio de características abstractas distinto del espacio donde viven los datos
  3. Cómo se "encuentra" la asignación del espacio de datos al espacio de características. Spoiler: SVM no lo encuentra, está implícitamente definido por el kernel que elija.
  4. Por qué el espacio de características es de dimensión infinita.

1. Lograr una separación perfecta

La separación perfecta siempre es posible con un kernel gaussiano (siempre que no haya dos puntos de diferentes clases que sean exactamente iguales) debido a las propiedades de localidad del kernel, que conducen a un límite de decisión arbitrariamente flexible. Para un ancho de banda de kernel suficientemente pequeño, el límite de decisión se verá como si dibujara pequeños círculos alrededor de los puntos cuando sea necesario para separar los ejemplos positivos y negativos:

Algo como esto

(Crédito: curso de aprendizaje automático en línea de Andrew Ng ).

Entonces, ¿por qué ocurre esto desde una perspectiva matemática?

Considere la configuración estándar: tiene un núcleo gaussiano y datos de entrenamiento donde los valores son . Queremos aprender una función clasificadora( x ( 1 ) , y ( 1 ) ) , ( x ( 2 ) , y ( 2 ) ) , , ( x ( n ) , y ( n ) ) y (K(x,z)=exp(||xz||2/σ2)(x(1),y(1)),(x(2),y(2)),,(x(n),y(n)) ±1y(i)±1

y^(x)=iwiy(i)K(x(i),x)

Ahora, ¿cómo asignaremos los pesos ? ¿Necesitamos espacios de dimensiones infinitas y un algoritmo de programación cuadrática? No, porque solo quiero mostrar que puedo separar los puntos perfectamente. Entonces hago mil millones de veces más pequeño que la separación más pequeñaentre dos ejemplos de entrenamiento, y acabo de configurar . Esto significa que todos los puntos de entrenamiento están separados por un billón de sigmas en lo que respecta al núcleo, y cada punto controla completamente el signo de en su vecindario. Formalmente tenemos σ | El | x ( i ) - x ( j ) | El | w i = 1 ywiσ||x(i)x(j)||wi=1y^

y^(x(k))=i=1ny(k)K(x(i),x(k))=y(k)K(x(k),x(k))+iky(i)K(x(i),x(k))=y(k)+ϵ

donde es un valor arbitrariamente pequeño. Sabemos que es pequeño porque está a mil millones de sigmas de distancia de cualquier otro punto, por lo que para todo tenemosϵ x ( k ) i kϵϵx(k)ik

K(x(i),x(k))=exp(||x(i)x(k)||2/σ2)0.

Como es tan pequeño, definitivamente tiene el mismo signo que , y el clasificador logra una precisión perfecta en los datos de entrenamiento.y ( x ( k ) ) y ( k )ϵy^(x(k))y(k)

2. Kernel SVM aprendiendo como separación lineal

El hecho de que esto puede interpretarse como "separación lineal perfecta en un espacio de características de dimensiones infinitas" proviene del truco del núcleo, que le permite interpretar el núcleo como un producto interno en un espacio de características (potencialmente infinito):

K(x(i),x(j))=Φ(x(i)),Φ(x(j))

donde es la asignación del espacio de datos al espacio de características. De inmediato se deduce que funcionan como una función lineal en el espacio de características:y ( x )Φ(x)y^(x)

y^(x)=iwiy(i)Φ(x(i)),Φ(x)=L(Φ(x))

donde la función lineal se define en los vectores de espacio de características comovL(v)v

L(v)=iwiy(i)Φ(x(i)),v

Esta función es lineal en porque es solo una combinación lineal de productos internos con vectores fijos. En el espacio de características, el límite de decisión es solo , el conjunto de niveles de una función lineal. Esta es la definición misma de un hiperplano en el espacio de características.vy^(x)=0L(v)=0

3. Comprender el mapeo y el espacio de características

Nota: En esta sección, la notaciónse refiere a un conjunto arbitrario depuntos y no los datos de entrenamiento. Esto es pura matemática; los datos de entrenamiento no figura en esta sección en absoluto!x(i)n

Núcleo métodos en realidad nunca "encontrar" o "cómputo" del espacio de características o el mapeo explícitamente. Métodos tales como el aprendizaje SVM no los necesitan para el trabajo del núcleo; sólo tienen la función del núcleo .ΦK

Dicho esto, es posible escribir una fórmula para . El espacio característica que se asigna a es una especie de resumen (y potencialmente infinitas dimensiones), pero en esencia, el mapeo es sólo con el kernel para hacer un poco de ingeniería simple característica. En términos del resultado final, el modelo que termina aprendiendo, el uso de núcleos no es diferente de la ingeniería de características tradicional aplicada popularmente en la regresión lineal y el modelado GLM, como tomar el registro de una variable predictiva positiva antes de introducirla en una fórmula de regresión. La matemática es más que nada existe para ayudar a hacer que el kernel juega bien con el algoritmo SVM, que tiene sus ventajas vaunted de escasez y escalar así a grandes conjuntos de datos.ΦΦ

Si usted todavía está interesado, aquí es cómo funciona. Esencialmente tomamos la identidad que desea organizar, , y construir un espacio y el producto interno de tal manera que tiene por definición. Para ello, se define un espacio vectorial abstracto , donde cada vector es una función del espacio de los datos viven en, , a los números reales . Un vector en es una función formado a partir de una combinación lineal finita de rebanadas del núcleo: es conveniente escribir de forma más compacta como Φ(x),Φ(y)=K(x,y)VXRfV

f(x)=i=1nαiK(x(i),x)
f
f=i=1nαiKx(i)
donde es una función que da una "rebanada" del kernel en .Kx(y)=K(x,y)x

El producto interno en el espacio no es el producto escalar ordinario, sino un producto interno abstracto basado en el kernel:

i=1nαiKx(i),j=1nβjKx(j)=i,jαiβjK(x(i),x(j))

Con el espacio de características definida de este modo, es un mapeo , teniendo cada punto de a la "rebanada kernel" en ese punto:ΦXVx

Φ(x)=Kx,whereKx(y)=K(x,y).

Puede probar que es un espacio interno del producto cuando es un núcleo positivo definido. Vea este documento para más detalles. (¡Felicitaciones a f coppens por señalar esto!)VK

4. ¿Por qué el espacio de características es de dimensión infinita?

Esta respuesta da una buena explicación de álgebra lineal, pero aquí hay una perspectiva geométrica, con intuición y prueba.

Intuición

Para cualquier punto fijo , tenemos una función de corte de kernel . La gráfica de es solo una protuberancia gaussiana centrada en . Ahora, si el espacio de características fuera solo de dimensión finita, eso significaría que podríamos tomar un conjunto finito de protuberancias en un conjunto fijo de puntos y formar cualquier protuberancia gaussiana en cualquier otro lugar. Pero claramente no hay forma de que podamos hacer esto; no se puede hacer una nueva protuberancia de protuberancias viejas, porque la nueva protuberancia podría estar muy lejos de las anteriores. Entonces, no importa cuántos vectores de características (protuberancias) tengamos, siempre podemos agregar nuevas protuberancias, y en el espacio de características estos son nuevos vectores independientes. Entonces el espacio de características no puede ser de dimensión finita; Tiene que ser infinito.zKz(x)=K(z,x)Kzz

Prueba

Usamos inducción. Suponga que tiene un conjunto arbitrario de puntos modo que los vectores son linealmente independientes en el espacio de características. Ahora encuentre un punto distinto de estos puntos, de hecho a mil millones de sigmas de distancia de todos ellos. Afirmamos que es linealmente independiente de los primeros vectores de características .x(1),x(2),,x(n)Φ(x(i))x(n+1)nΦ(x(n+1))nΦ(x(i))

Prueba por contradicción. Supongamos por el contrario que

Φ(x(n+1))=i=1nαiΦ(x(i))

Ahora tome el producto interno en ambos lados con un arbitrario . Por la identidad , obtenemosxΦ(z),Φ(x)=K(z,x)

K(x(n+1),x)=i=1nαiK(x(i),x)

Aquí es una variable libre, por lo que esta ecuación es una identidad que indica que dos funciones son iguales. En particular, dice que un gaussiano centrado en puede representarse como una combinación lineal de gaussianos en otros puntos . Es obvio geométricamente que no se puede crear una protuberancia gaussiana centrada en un punto a partir de una combinación finita de protuberancias gaussianas centradas en otros puntos, especialmente cuando todas esas otras protuberancias gaussianas están a mil millones de sigmas de distancia. Por lo tanto, nuestra suposición de dependencia lineal ha llevado a una contradicción, como nos propusimos mostrar.x ( n + 1 ) x ( i )xx(n+1)x(i)


66
La separación perfecta es imposible. Contraejemplo: (0,0, Clases A), (0,0, Clase B). ¡Buena suerte separando este conjunto de datos!
Anony-Mousse

44
Eso es ... técnicamente correcto, ¡el mejor tipo de correcto! Tener un voto a favor. Agregaré una nota en la publicación.
Paul

3
(Creo que su punto tiene sentido si requiere una distancia mínima entre muestras de diferentes clases. Puede valer la pena señalar que en este escenario, el SVM se convierte en un clasificador vecino más cercano)
Anony-Mousse

1
Solo estoy abordando el caso de conjunto de entrenamiento finito, por lo que siempre hay una distancia mínima entre puntos una vez que se nos da un conjunto de entrenamiento de puntos distintos para trabajar. n
Paul

@Paul Con respecto a su sección 2, tengo una pregunta. Deje ser el representante en nuestro RKHS para el punto de entrenamiento y para el nuevo punto arbitrario para que por lo que la función para algunos . Para mí, esto es como la versión del espacio de funciones de estando en el espacio de la columna de para la regresión lineal y es de donde realmente proviene la linealidad. ¿Esta descripción parece precisa? Todavía estoy aprendiendo mucho sobre esto de RKHS. xi ( i ) k x x y ( x ) = Σ i w i y ( i )k i , k xkix(i)kxxy^(x)=iwiy(i)ki,kx=iwiy(i)ki(x)y^=izikiziRy^X
jld

12

La matriz del núcleo del núcleo gaussiano siempre tiene rango completo para distintos . Esto significa que cada vez que agrega un nuevo ejemplo, el rango aumenta en . La forma más fácil de ver esto si configura muy pequeño. Entonces la matriz del núcleo es casi diagonal. 1σx1,...,xm1σ

El hecho de que el rango siempre aumente en uno significa que todas las proyecciones en el espacio de características son linealmente independientes (no ortogonales, sino independientes). Por lo tanto, cada ejemplo agrega una nueva dimensión al alcance de las proyecciones . Como puede agregar infinidad de ejemplos, el espacio de características debe tener una dimensión infinita. Curiosamente, todas las proyecciones del espacio de entrada en el espacio de características se encuentran en una esfera, ya que . Sin embargo, la geometría de la esfera es plana. Puedes leer más sobre eso enΦ ( x 1 ) , . . . , Φ ( x m )Φ(x)Φ(x1),...,Φ(xm)||Φ(x)||H²=k(x,x)=1

Burges, CJC (1999). Geometría e invarianza en métodos basados ​​en el núcleo. En B. Schölkopf, CJC Burges y AJ Smola (Eds.), Los avances en Kernel Methods Support Vector Learning (págs. 89–116). MIT Press.


Todavía no lo entiendo, pero ganaste un
voto positivo de

¿Quieres decir que no entiendes por qué la geometría es plana o por qué tiene dimensiones infinitas? Gracias por el voto a favor.
fabee

Si tengo 100 ejemplos, ¿mi espacio de características es de 100 dimensiones o ya es infinitamente dimensional? ¿Por qué puedo agregar "incontables" infinitos ejemplos? ¿No es eso un infinito contable? ¿Por qué importa lo contable / incontable aquí? Ni siquiera intenté pensar en la "esfera plana" todavía: D ¡Gracias por sus explicaciones!
stmax

55
Espero que me creas que cada nuevo ejemplo es linealmente independiente de todos los anteriores (excepto el mismo ). En no puede hacer eso: cada punto más allá de debe ser linealmente dependiente de los demás. Para Gaussian RKHS, si tiene 100 ejemplos diferentes, abarcan un subespacio de 100 dimensiones del espacio de dimensiones infinitas. Entonces, el lapso es de dimensión finita, pero el espacio de características en el que viven es de dimensión infinita. El infinito es incontable, porque cada nuevo punto en es una nueva dimensión y hay innumerables puntos en . xRnnRnRn
fabee

@fabee: Lo intenté de una manera diferente, parece que sabes mucho al respecto, ¿puedes echar un vistazo a mi respuesta si lo entendí más o menos "bien"?

5

Para los antecedentes y las anotaciones, me remito a la respuesta ¿Cómo calcular el límite de decisión a partir de vectores de soporte? .

Entonces, las características en el espacio 'original' son los vectores , el resultado binario y los multiplicadores de Lagrange son .xiyi{1,+1}αi

Se sabe que el Kernel se puede escribir como (' ' representa el producto interno). Donde es un (implícito y desconocido) transformación a un nuevo espacio de características.K(x,y)=Φ(x)Φ(y)Φ

Trataré de dar una explicación 'intuitiva' de cómo se ve este , por lo que esta respuesta no es una prueba formal, solo quiere dar una idea de cómo creo que esto funciona. No dudes en corregirme si estoy equivocado. La base de mi explicación es la sección 2.2.1 de este pdf.Φ

Tengo que 'transformar' mi espacio de características (entonces mi ) en algún espacio de características 'nuevo' en el que se resolverá la separación lineal.xi

Para cada observación , defino las funciones , por lo que tengo una función para cada elemento de mi muestra de entrenamiento. Estas funciones abarcan un espacio vectorial. El espacio vectorial abarcado por , . ( es el tamaño de la muestra de entrenamiento).xiϕi(x)=K(xi,x)ϕiϕiϕiV=span(ϕi,i=1,2,N)N

Trataré de argumentar que este espacio vectorial es el espacio vectorial en el que será posible la separación lineal. V Por definición del tramo, cada vector en el espacio vectorial puede escribirse como una combinación lineal de , es decir: , donde son números reales. Entonces, de hecho,Vϕii=1NγiϕiγiV={v=i=1Nγiϕi|(γ1,γ2,γN)RN}

Tenga en cuenta que son las coordenadas del vector en el espacio vectorial .(γ1,γ2,γN)vV

N es el tamaño de la muestra de entrenamiento y, por lo tanto, la dimensión del espacio vectorial puede subir a , dependiendo de si son linealmente independientes. Como (ver arriba, definimos de esta manera), esto significa que la dimensión de depende del núcleo utilizado y puede subir al tamaño de la muestra de entrenamiento.VNϕiϕi(x)=K(xi,x)ϕV

Si el núcleo es 'suficientemente complejo', entonces será todo independiente y luego la dimensión de será , el tamaño de la muestra de entrenamiento.ϕi(x)=K(xi,x)VN

La transformación, que asigna mi espacio de características original a se define comoV

Φ:xiϕi(x)=K(xi,x) .

Este mapa asigna mi espacio de características original en un espacio vectorial que puede tener una dimensión que se eleva al tamaño de mi muestra de entrenamiento. ΦEntonces mapea cada observación en mi muestra de entrenamiento en un espacio vectorial donde los vectores son funciones. El vector de mi muestra de entrenamiento se 'mapea' a un vector en , a saber, el vector con coordenadas todas iguales a cero, excepto que la coordenada es 1.ΦxiVϕii

Obviamente, esta transformación (a) depende del núcleo, (b) depende de los valores en la muestra de entrenamiento y (c) puede, dependiendo de mi núcleo, tener una dimensión que se eleva al tamaño de mi muestra de entrenamiento y ( d) los vectores de ven como , donde son números reales.xiVi=1Nγiϕiγi

Mirando la función en ¿Cómo calcular el límite de decisión a partir de vectores de soporte? se puede ver que . El límite de decisión encontrado por el SVM es .f(x)f(x)=iyiαiϕi(x)+bf(x)=0

En otras palabras, es una combinación lineal de la y es una lineal que separa hiperplano en el -espacio : es una elección particular de la a saber ! f(x)ϕi f(x)=0Vγiγi=αiyi

Los son conocidos por nuestras observaciones, los son los multiplicadores de Lagrange que ha encontrado el SVM. En otras palabras, SVM encuentra, mediante el uso de un núcleo y resolviendo un problema de programación cuadrática, una separación lineal en el -spave.yiαiV

Esta es mi comprensión intuitiva de cómo el 'truco del núcleo' permite transformar 'implícitamente' el espacio de características original en un nuevo espacio de características , con una dimensión diferente. Esta dimensión depende del núcleo que utilice y para el núcleo RBF, esta dimensión puede subir hasta el tamaño de la muestra de entrenamiento. Como las muestras de entrenamiento pueden tener cualquier tamaño, esto podría llegar a 'infinito' . Obviamente, en espacios dimensionales muy altos aumentará el riesgo de sobreajuste .V

Entonces, los núcleos son una técnica que permite que SVM transforme su espacio de características, vea también ¿Qué hace que el núcleo gaussiano sea tan mágico para PCA, y también en general?


+1 esto es sólido. Traduje este material a mi propio estilo expositivo y lo agregué a mi respuesta.
Paul

5

Desafortunadamente, la explicación de fcop es bastante incorrecta. En primer lugar, dice: "Se sabe que el Kernel se puede escribir como ... donde ... es una transformación (implícita y desconocida) a un nuevo espacio de características". NO es desconocido. De hecho, este es el espacio al que se asignan las características y este es el espacio que podría tener dimensiones infinitas como en el caso de RBF. Todo lo que hace el núcleo es tomar el producto interno de ese vector de características transformado con un vector de características transformado de un ejemplo de entrenamiento y aplica alguna función al resultado. Por lo tanto, representa implícitamente este vector de características de dimensiones superiores. Piense en escribir (x + y) ^ 2 en lugar de x ^ 2 + 2xy + y ^ 2, por ejemplo. Ahora piense qué serie infinita está representada implícitamente por la función exponencial ... ahí tiene su espacio de características infinitas.

La forma correcta de pensar en SVM es que asigna sus características a un espacio de características dimensional posiblemente infinito que resulta ser representable implícitamente en otro espacio de características "Kernel" de dimensiones finitas cuya dimensión podría ser tan grande como el tamaño del conjunto de entrenamiento.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.