75 votos

¿Qué hace que el núcleo gaussiano sea tan mágico para el ACP, y también en general?

Estuve leyendo sobre el kernel PCA ( 1 , 2 , 3 ) con núcleos gaussianos y polinómicos.

  • ¿Cómo es que el núcleo gaussiano separa excepcionalmente bien cualquier tipo de datos no lineales? Por favor, ofrezca un análisis intuitivo, así como un análisis matemático si es posible.

  • ¿Cuál es una propiedad del núcleo gaussiano (con ideal $\sigma$ ) que otros núcleos no tienen? Me vienen a la mente las redes neuronales, las SVM y las redes RBF.

  • ¿Por qué no hacemos pasar la norma por, por ejemplo, una PDF de Cauchy y esperamos los mismos resultados?

65voto

exclucid Puntos 1

Creo que la clave de la magia es la suavidad. Mi respuesta larga que sigue es simplemente para explicar sobre esta suavidad. Puede que sea la respuesta que esperas o no.

Respuesta corta:

Dado un núcleo definido positivo $k$ existe su correspondiente espacio de funciones $\mathcal{H}$ . Las propiedades de las funciones se determinan por el núcleo. Resulta que si $k$ es un núcleo gaussiano, el funciones en $\mathcal{H}$ son muy suaves. Así, una función aprendida (por ejemplo, una función de regresión, componentes principales en RKHS como en kernel PCA) es muy suave. Por lo general, la suposición de suavidad es sensata para la mayoría de los conjuntos de datos que queremos abordar. Esto explica por qué un núcleo gaussiano es mágico.

Respuesta larga de por qué un núcleo gaussiano da funciones suaves:

Un núcleo definido positivo $k(x,y)$ define (implícitamente) un producto $k(x,y)=\left\langle \phi(x),\phi(y)\right\rangle _{\mathcal{H}}$ para el vector de características $\phi(x)$ construido a partir de sus aportaciones $x$ y $\mathcal{H}$ es un espacio de Hilbert. La notación $\left\langle \phi(x),\phi(y)\right\rangle $ es un producto interno entre $\phi(x)$ y $\phi(y)$ . Para nuestro propósito, puedes imaginar $\mathcal{H}$ sea el espacio euclidiano habitual, pero posiblemente con un número inifinito de dimensiones. Imaginemos el vector habitual que es infinitamente largo como $\phi(x)=\left(\phi_{1}(x),\phi_{2}(x),\ldots\right)$ . En los métodos del núcleo, $\mathcal{H}$ es un espacio de funciones llamadas reproductoras de Hilbert (RKHS). Este espacio tiene una propiedad especial llamada ``propiedad de reproducción'' que consiste en que $f(x)=\left\langle f,\phi(x)\right\rangle $ . Esto dice que para evaluar $f(x)$ primero se construye un rasgo (infinitamente largo como se ha mencionado) para $f$ . Luego construyes su vector de características para $x$ denotado por $\phi(x)$ (infinitamente largo). La evaluación de $f(x)$ viene dada por la toma de un producto interno de la dos. Obviamente, en la práctica, nadie construirá un vector infinitamente largo. Como sólo nos interesa su producto interior, nos limitamos a evaluar directamente el núcleo $k$ . Eludir el cálculo de las características explícitas y calcular directamente su producto interior se conoce como el "truco del núcleo".

¿Qué características tiene?

Seguí diciendo características $\phi_{1}(x),\phi_{2}(x),\ldots$ sin especificar lo que son. Dado un núcleo $k$ Las características no son únicas. Pero $\left\langle \phi(x),\phi(y)\right\rangle $ está determinada de forma única. Para explicar la suavidad de las funciones, consideremos las características de Fourier. Supongamos un núcleo invariable por traslación $k$ , lo que significa $k(x,y)=k(x-y)$ es decir, el núcleo sólo depende de la diferencia de los dos argumentos. El núcleo gaussiano tiene esta propiedad. Sea $\hat{k}$ denotan el Fourier de Fourier de $k$ .

En este punto de vista de Fourier, las características de $f$ vienen dadas por $f:=\left(\cdots,\hat{f}_{l}/\sqrt{\hat{k}_{l}},\cdots\right)$ . Esto dice que la representación de características de su función $f$ viene dada por su transformada de Fourier dividida por la transformada de Fourer del núcleo $k$ . La representación de características de $x$ que es $\phi(x)$ es $\left(\cdots,\sqrt{\hat{k}_{l}}\exp\left(-ilx\right),\cdots\right)$ donde $i=\sqrt{-1}$ . Se puede demostrar que la propiedad de reproducción se mantiene (un ejercicio para los lectores).

Como en cualquier espacio de Hilbert, todos los elementos que pertenecen al espacio deben tener una norma finita. Consideremos la norma al cuadrado de un $f\in\mathcal{H}$ :

$ \|f\|_{\mathcal{H}}^{2}=\left\langle f,f\right\rangle _{\mathcal{H}}=\sum_{l=-\infty}^{\infty}\frac{\hat{f}_{l}^{2}}{\hat{k}_{l}}. $

Entonces, cuando esta norma es finita, es decir, $f$ ¿pertenece al espacio? Lo es cuando $\hat{f}_{l}^{2}$ cae más rápido que $\hat{k}_{l}$ para que el suma converja. Ahora, la Transformada de Fourier de un núcleo gaussiano $k(x,y)=\exp\left(-\frac{\|x-y\|^{2}}{\sigma^{2}}\right)$

es otra gaussiana donde $\hat{k}_{l}$ disminuye exponencialmente rápido con $l$ . Así que si $f$ es estar en este espacio, su transformada de Fourier debe caer aún más rápido que la de $k$ . Esto significa que la función tendrá efectivamente sólo unos pocos componentes de baja frecuencia con pesos elevados. Una señal con sólo componentes de baja frecuencia no se "menea" mucho. mucho. Esto explica por qué un núcleo gaussiano proporciona una función suave.

Extra: ¿Qué hay de un núcleo de Laplace?

Si se considera un núcleo de Laplace $k(x,y)=\exp\left(-\frac{\|x-y\|}{\sigma}\right)$ , su transformada de Fourier es una distribución de Cauchy que cae mucho más lentamente que la función exponencial de Fourier de un núcleo gaussiano. Esto significa que una función $f$ tendrá más componentes de alta frecuencia. Como resultado, la función dada por un núcleo de Laplace es "más áspera" que la dada por un núcleo de Gauss.

¿Cuál es una propiedad del núcleo gaussiano que no tienen otros núcleos?

Independientemente de la anchura gaussiana, una propiedad es que el núcleo gaussiano es ``universal''. Intuitivamente, esto significa que, dada una función continua acotada $g$ (arbitrario), existe una función $f\in\mathcal{H}$ tal que $f$ y $g$ están cerca (en el sentido de $\|\cdot\|_{\infty})$ hasta un valor arbitrario de precisión necesaria. Básicamente, esto significa que el núcleo de Gauss da funciones que pueden aproximar funciones "agradables" (acotadas, continuas) arbitrariamente bien. Los núcleos gaussianos y de Laplace son universales. Un núcleo polinómico, por ejemplo, no lo es.

¿Por qué no ponemos la norma a través de, digamos, una PDF de Cauchy y esperamos los mismos resultados?

En general, puedes hacer lo que quieras siempre que el resultado sea $k$ es definida positiva. La definición positiva se define como $\sum_{i=1}^{N}\sum_{j=1}^{N}k(x_{i},x_{j})\alpha_{i}\alpha_{j}>0$ para todos $\alpha_{i}\in\mathbb{R}$ , $\{x_{i}\}_{i=1}^{N}$ y todos $N\in\mathbb{N}$ (conjunto de números naturales). Si $k$ no es positivo definida, entonces no corresponde a un espacio de producto interno. Todos los el análisis se rompe porque ni siquiera tienes un espacio de funciones $\mathcal{H}$ como se ha mencionado. No obstante, puede funcionar empíricamente. Por ejemplo, el núcleo de la tangente hiperbólica (véase el número 7 de esta página )

$k(x,y) = tanh(\alpha x^\top y + c)$

que pretende imitar las unidades de activación sigmoideas de las redes neuronales, sólo es positiva definida para algunos ajustes de $\alpha$ y $c$ . Sin embargo, se ha informado de que funciona en la práctica.

¿Y qué pasa con otros tipos de características?

He dicho que las características no son únicas. Para el núcleo gaussiano, otro conjunto de características viene dado por Ampliación de Mercer . Véase el apartado 4.3.1 de la famosa Libro de procesos gaussianos . En este caso, las características $\phi(x)$ son polinomios de Hermite evaluados en $x$ .

18voto

AusTravel Puntos 6

Haré todo lo posible por responder a esta pregunta no porque sea un experto en el tema (todo lo contrario), sino porque tengo curiosidad por el campo y el tema, combinada con la idea de que podría ser una buena experiencia educativa. En fin, aquí está el resultado de mi breve investigación amateur sobre el tema.

TL;DR : Consideraría el siguiente pasaje del trabajo de investigación "La conexión entre los operadores de regularización y los núcleos de vectores de apoyo" como el respuesta corta a esta pregunta:

Los núcleos gaussianos tienden a dar un buen rendimiento bajo suavidad general y deben considerarse especialmente si no se dispone de conocimiento adicional de los datos.

Ahora, un respuesta detallada (a mi entender; para los detalles matemáticos, por favor, utilice las referencias).

Como sabemos, análisis de componentes principales (PCA) es un enfoque muy popular para reducción de la dimensionalidad , solo y para la clasificación posterior de los datos: http://www.visiondummy.com/2014/05/feature-extraction-using-pca . Sin embargo, en situaciones, cuando los datos llevan dependencias no lineales (en otras palabras, linealmente inseparable ), el PCA tradicional no es aplicable (no funciona bien). Para esos casos, se pueden utilizar otros enfoques, y PCA no lineal es uno de ellos.

Los enfoques en los que el ACP se basa en el uso de la función kernel suelen denominarse, utilizando un término general, "kernel PCA" ( kPCA ). Utilizando Núcleo de la función de base radial gaussiana (RBF) es probablemente la variante más popular. Este enfoque se describe en detalle en múltiples fuentes, pero me gusta mucho una excelente explicación de Sebastian Raschka en esta entrada del blog . Sin embargo, aunque se menciona la posibilidad de utilizar funciones de núcleo, distintas de la RBF gaussiana, el post se centra en esta última debido a su popularidad. Esta bonita entrada del blog , presentando aproximaciones del núcleo y truco del núcleo menciona una posible razón más para la popularidad del kernel gaussiano para el PCA: dimensionalidad infinita .

En varias respuestas de Quora se puede encontrar información adicional. En particular, la lectura este excelente debate revela varios puntos sobre las posibles razones de la popularidad del núcleo gaussiano, a saber

  • Los núcleos gaussianos son universal :

Los núcleos gaussianos son universales, es decir, su uso con una regularización regularización garantiza un predictor globalmente óptimo que minimiza tanto los errores de estimación como de aproximación de un clasificador.

  • Los núcleos gaussianos son circular (lo que lleva a la mencionada dimensionalidad infinita )
  • Los núcleos gaussianos pueden representar "terrenos muy variables"
  • El siguiente punto, que respalda la conclusión principal anterior, se expone mejor citando al autor:

El kernel RBF gaussiano es muy popular y es una buena opción por defecto por defecto, especialmente cuando no se dispone de un conocimiento experto sobre los datos y el dominio porque en cierto modo también engloba a los núcleos polinómicos y lineales. Los núcleos lineales y polinómicos son un caso especial del núcleo RBF gaussiano. RBF gaussiano. Los núcleos RBF gaussianos son un modelo no paramétrico que significa esencialmente que la complejidad del modelo es potencialmente infinita porque el número de funciones analíticas es infinito.

  • Los núcleos gaussianos son óptimo (en suavidad , leer más aquí - mismo autor):

Un Kernel Gaussiano es sólo un filtro de paso de banda; selecciona la solución más solución más suave. [...] Un núcleo gaussiano funciona mejor cuando el infinito suma infinita de las derivadas de alto orden converge más rápido - y eso sucede para las soluciones más suaves.

Por último, los puntos adicionales de esta bonita respuesta :

  • Apoyo a los núcleos gaussianos infinitamente complejo modelos
  • Los núcleos gaussianos son más flexible

NOTAS:

El punto anterior sobre el núcleo gaussiano es óptimo La elección, especialmente cuando no hay conocimiento previo de los datos, se apoya en la siguiente frase de esta respuesta del CV :

En ausencia de conocimiento experto, el núcleo de la función de base radial es un buen núcleo por defecto (una vez que se ha establecido que es un problema que requiere un modelo no lineal).

Para los que tengan curiosidad por las diferencias no esenciales entre el núcleo gaussiano RBF y el núcleo gaussiano estándar, esta respuesta puede ser de interés: https://stats.stackexchange.com/a/79193/31372 .

Para los interesados en aplicar kPCA por placer o por negocios, esta bonita entrada del blog podría ser útil. Está escrito por uno de los autores (¿creadores?) de Accord.NET - un marco de trabajo de código abierto .NET muy interesante para el análisis estadístico, el aprendizaje automático, el procesamiento de señales y mucho más.

10voto

Permítanme poner mis dos centavos.

La forma en que pienso en los núcleos gaussianos es como clasificadores de vecino más cercano en cierto sentido. Lo que hace un núcleo gaussiano es que representa cada punto con la distancia a todos los demás puntos del conjunto de datos. Ahora piensa en los clasificadores con límites lineales o polinómicos, los límites están limitados a ciertas formas. Sin embargo, cuando se mira al vecino más cercano, el límite puede adoptar prácticamente cualquier forma. Creo que por eso pensamos que el kernel gaussiano también es no paramétrico, es decir, que ajusta el límite en función de los datos. Otra forma de pensar en ello es que el kernel gaussiano se ajusta a la forma local de una región, de forma similar a como un vecino más cercano ajusta localmente el límite observando la distancia a otros puntos de la región local.

No tengo un argumento matemático para esto, pero creo que el hecho de que el núcleo gaussiano mapee de hecho un espacio de dimensión infinita tiene algo que ver con su éxito. Para los núcleos lineales y polinómicos, los productos de punto se toman en espacios de dimensión finita; por lo tanto, parece más potente hacer las cosas en un espacio más grande. Espero que alguien entienda mejor estas cosas. Eso también significa que si podemos encontrar otros núcleos con espacios de dimensión infinita, también deberían ser bastante potentes. Desgraciadamente, no conozco ningún núcleo de este tipo.

Para tu último punto, creo que el pdf de Cauchy o cualquier otro pdf que de alguna manera mida la distancia a otros puntos debería funcionar igualmente bien. De nuevo, no tengo un buen argumento matemático para ello, pero la conexión con el vecino más cercano lo hace plausible.

Editar:

A continuación se presentan algunas ideas sobre cómo pensar en un clasificador que utilice núcleos gaussianos como clasificadores de vecinos más cercanos. En primer lugar, pensemos en lo que hace un clasificador de vecino más cercano. Esencialmente, un clasificador de vecino más cercano es un clasificador estándar que utiliza las distancias entre puntos como entradas. Más formalmente, imaginemos que creamos una representación de características $\phi_i$ para cada punto $x_i$ en el conjunto de datos calculando su distancia a todos los demás puntos. $$\phi_i = (d(x_i,x_1), d(x_i, x_2), \ldots, d(x_i, x_n))$$ Arriba, $d$ es una función de distancia. Entonces, lo que hace un clasificador de vecinos más cercanos es predecir la etiqueta de clase de un punto basándose en esta representación de características y en las etiquetas de clase de los datos. $$ p_i = f(\phi_i, y) $$ donde $p_i$ es la predicción para el punto de datos $x_i$ y $y$ es un vector de etiquetas de clase para $x_1, x_2, \ldots, x_n$ .

La forma en que pienso en los kernels es que hacen algo similar; crean una representación de características de cada punto utilizando sus valores de kernel con otros puntos del conjunto de datos. Al igual que en el caso del vecino más cercano, más formalmente esto sería $$ \phi_i = (k(x_i, x_1), k(x_i, x_2), \ldots, k(x_i, x_n)) $$ Ahora la conexión con el vecino más cercano es bastante obvia; si nuestra función kernel es alguna medida que esté relacionada con las medidas de distancia que usamos en los clasificadores de vecino más cercano, nuestro clasificador basado en kernel será similar a un modelo de vecino más cercano.

Nota: Los clasificadores que entrenamos usando kernels no trabajan directamente con estos $\phi_i$ representaciones, pero creo que eso es lo que hacen implícitamente.

6voto

jpmuc Puntos 4817

La razón es que el VC La dimensión de los núcleos gaussianos es infinita, por lo que, dados los valores correctos de los parámetros (sigma), pueden clasificar correctamente un número arbitrariamente grande de muestras.

Los RBFs funcionan bien porque aseguran que la matriz $K(x_{i},x_{j})$ es de rango completo. La idea es que $K(x_{i},x_{i}) > 0$ y los términos no diagonales pueden hacerse arbitrariamente pequeños disminuyendo el valor de $\sigma$ . Obsérvese que el núcleo corresponde a un producto punto en el espacio de características. En este espacio de características, la dimensión es infinita (considerando la expansión en serie de la exponencial). Por lo tanto, se podría ver esto como la proyección de esos puntos en diferentes dimensiones para poder separarlos.

Por el contrario, consideremos el caso de los núcleos lineales, que sólo pueden destrozar cuatro puntos en el avión.

Puede consultar esto papel Aunque es muy técnico. Uno de los libros estándar sobre SVM debería hacer más accesible este concepto.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X