¿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?
¿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?
Respuestas:
Esta respuesta explica lo siguiente:
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:
(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 ( ±1
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 y
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
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 )
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):
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 )
donde la función lineal se define en los vectores de espacio de características comov
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.
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!
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 .
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
El producto interno en el espacio no es el producto escalar ordinario, sino un producto interno abstracto basado en el kernel:
Con el espacio de características definida de este modo, es un mapeo , teniendo cada punto de a la "rebanada kernel" en ese punto:
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!)
Esta respuesta da una buena explicación de álgebra lineal, pero aquí hay una perspectiva geométrica, con intuición y prueba.
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.
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 .
Prueba por contradicción. Supongamos por el contrario que
Ahora tome el producto interno en ambos lados con un arbitrario . Por la identidad , obtenemos
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 )
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σ
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 )
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.
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 .
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.
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.
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).
Trataré de argumentar que este espacio vectorial es el espacio vectorial en el que será posible la separación lineal. 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,
Tenga en cuenta que son las coordenadas del vector en el espacio vectorial .
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.
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.
La transformación, que asigna mi espacio de características original a se define como
.
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.
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.
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 .
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 !
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.
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 .
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?
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.