30 votos

¿Cómo funciona una máquina de vectores de relevancia (RVM)?

Máquinas vectoriales de relevancia (RVMs) son modelos realmente interesantes cuando se contrastan con los altamente geométricos (y populares) SVMs.

Ante una pregunta como ¿Cómo funciona una máquina de vectores soporte (SVM)? y en qué se diferencian sustancialmente las RVM de las SVM, por ejemplo. ¿Cuál es la diferencia entre las máquinas de vectores informativos (IVM) y de relevancia (RVM)? Creo que es una buena pregunta.

¿Cuáles son las suposiciones que se hacen (si las hay) en los MVR y cuál es el problema general de optimización?

2voto

Joe Cannatti Puntos 2194

$\newcommand{\wv}{\mathbf{w}} \newcommand{\alv}{\boldsymbol{\alpha}} \newcommand{\thv}{\boldsymbol{\theta}} \newcommand{\muv}{\boldsymbol{\mu}} \newcommand{\ev}{\mathbf{e}} \newcommand{\fv}{\mathbf{f}} \newcommand{\Xv}{\mathbf{X}} \newcommand{\xv}{\mathbf{x}} \newcommand{\yv}{\mathbf{y}} \newcommand{\vv}{\mathbf{v}} $ El método RVM combina cuatro técnicas:

  • modelo dual
  • Enfoque bayesiano
  • sparsity promoting prior
  • truco del núcleo

La aplicación de este esquema a la regresión se denomina Regresión vectorial de relevancia (RVR) y la aplicación a la clasificación se denomina Clasificación por vectores de relevancia (RVC) . Dado que la RVC utiliza la regresión logística (o softmax), que en esencia también es regresión, el procedimiento es en principio el mismo en ambos casos, por lo que sólo describiré la RVR.

Modelo doble
Tenga en cuenta que la palabra "dual" está muy sobrecargada y se utiliza para muchos conceptos diferentes. En este caso, el uso es el mismo que en Príncipe . Consideremos la regresión lineal: $$ \yv = \Xv\vv + \ev,\tag{1}\label{ols} $$ con $\yv\in\mathbb{R}^n$ las variables dependientes en nuestro $n$ observaciones, $\Xv\in\mathbb{R}^{n\times d}$ la matriz de diseño, es decir, cada fila contiene el $d$ características de una única observación, $\vv\in \mathbb{R}^d$ los parámetros que deben aprenderse, y $\ev\sim N(0,\sigma^2\mathbf 1)$ es ruido gaussiano.
Además, definamos $S := span(\{\xv\}_{i=1}^n)$ el intervalo de todas las entradas observadas, es decir, de todas las filas de $\Xv$ . Entonces, el modelo dual utiliza el hecho de que $\vv$ siempre puede elegirse como una combinación lineal de las observaciones $\mathbf{x}_i$ es decir $v\in S$ . Esto se debe a que la respuesta $y$ para alguna entrada $\xv$ se calculará como el producto escalar $y = \langle\vv, \xv\rangle$ y añadiendo un componente $\mathbf f$ a $\vv$ con $\mathbf f$ siendo perpendicular a S, es decir, con $\langle \mathbf f, \xv \rangle = 0$ para todas las filas $\xv_i$ de $\Xv$ no cambiaría nada, ya que..: $$ \begin{align} \langle\vv+\mathbf f, \xv\rangle &= \langle\vv, \xv\rangle + \langle\mathbf f, \xv\rangle\\ &= \langle\vv, \xv\rangle + 0. \end{align} $$

enter image description here

Por lo tanto, el componente adicional $\fv$ no se justifica por nada en nuestros datos $\Xv$ y, por tanto, queda fuera. Es decir, basta con considerar $\vv$ tal que existe una (no necesariamente única) $\mathbf{w}$ con: $$ \mathbf{v} = \mathbf{X}^T\mathbf{w}, \tag{2}\label{dual} $$ que convierte $\eqref{ols}$ en $$ \yv = \Xv\Xv^T\wv + \ev.\tag{3}\label{dualOls} $$ Si hay más dimensiones que observaciones ( $d>n$ ), hemos reducido la dimensionalidad, mientras que, si $d<n$ lo hemos aumentado.
Ahora, pasando de $\mathbf{v}$ a $\mathbf{w}$ significa cambiar al modelo dual.

Obsérvese que ahora cada observación $\mathbf{x}_i$ tiene su propio parámetro $w_i$ . De hecho, $w_i$ puede entenderse como un peso que describe la "relevancia" de $\mathbf{x}_i$ para $\mathbf{v}$ en $\eqref{dual}$ . Por el contrario, cuanto menor sea el parámetro ajustado $w_i$ es, menor es la influencia de $\mathbf{x}_i$ en $\mathbf{v}$ . Y si $w_i\approx 0$ vemos que esta observación no es relevante para el modelo ajustado.

Enfoque bayesiano
Utilización de la Enfoque bayesiano significa que no sólo ajustamos los parámetros $\wv$ mediante optimización (ése es el enfoque frecuentista), sino considerarlas como variables aleatorias propias. El aprendizaje consiste entonces en obtener sus distribuciones, o al menos algunas aproximaciones a las mismas. Para este enfoque, necesitamos elegir un anterior distribución $p(\wv)$ que contiene nuestro conocimiento previo de los parámetros, independiente de las observaciones. Este conocimiento previo se combina con las observaciones para obtener el posterior $p(\wv|\mathbf{X}, \mathbf{y})$ . Equipados con la información posterior, podemos, por ejemplo, predecir respuestas $y^\ast$ para nuevas entradas $\xv^\ast$ : $$ p(y^\ast|\Xv, \yv) = \int p(y^\ast|\xv^\ast, \wv)\; p(\wv|\Xv,\yv)\; d\wv.\tag{4}\label{predict} $$

Prioridad promotora de la dispersión
Esta es la parte más definitoria de las MDD. La sparsity se obtiene aprendiendo una prior especial que asigna más densidad de probabilidad a priori a los parámetros $\mathbf{w}$ que son dispersos, es decir, muchos parámetros $w_i$ son cero. Este procedimiento de aprendizaje es una forma de Determinación automática de la pertinencia (ARD) ( MacKay , Neal ), y puede entenderse como sigue (véase, por ejemplo Propinas , Obispo o Príncipe para más detalles):
La elección estándar para una prioridad de parámetros $\mathbf w$ es una gaussiana isótropa $\mathbf w \sim N(0, \alpha^{-1}\mathbf 1)$ donde el escalar $\alpha\in\mathbb R$ es el precisión . Pero esto daría el mismo énfasis a todas las direcciones, mientras que nuestro objetivo es distinguir entre coordenadas para que un subconjunto de ellas se convierta en cero, dando sparsity. Por lo tanto, la idea principal de los RVM es elegir como previas $p(\mathbf w)$ una gaussiana diagonal con una precisión diferente $\alpha_i$ para cada coordenada $w_i$ es decir $$ p(\mathbf w) = N(0, \; diag(\alpha_1^{-1}, \ldots, \alpha_n^{-1})). $$ El siguiente procedimiento se conoce como maximización de la probabilidad marginal (o evidencia) que, intuitivamente, funciona como sigue: En lugar de aplicar el método bayesiano completo, es decir, tratar todos los parámetros $(\wv, \alv, \sigma^2)$ como variables aleatorias, adoptamos un enfoque bayesiano "parcial" en el que sólo la $\wv$ son variables aleatorias, mientras que $(\alv, \sigma^2)$ se eligen mediante optimización. En concreto, elegimos el par de hiperparámetros $(\alv_m, \sigma^2_m)$ que da la mayor probabilidad a los datos observados $(\Xv, \yv)$ cuando se promedian todos los valores de $\wv$ : $$ \begin{align} (\alv_m, \sigma^2_m) &:= argmax_{(\alv, \sigma^2)} p(\yv| \Xv, \alv, \sigma^2)\\ &= argmax_{(\alv, \sigma^2)} \int p(\yv|\Xv, \wv, \sigma^2)\; p(\wv|\alv) \; d\wv, \end{align} $$ y luego utilizar como posterior $p(\wv|\Xv, \yv, \alv_m, \sigma^2_m)$ para las predicciones (véase $\eqref{predict}$ ). Esta optimización puede hacerse de varias maneras y suele ser una aproximación iterativa. Estos métodos no son del todo sencillos y, para más detalles, le remito de nuevo, por ejemplo, a Propinas , Obispo o Príncipe . No obstante, consideraré los dos aspectos siguientes:

  1. ¿Es una buena aproximación?
  2. ¿Por qué la escasez $\wv$ ?

Con respecto a la primera pregunta, Propinas señala que fijar $(\alv, \sigma^2) = (\alv_m, \sigma_m^2)$ en realidad no conduce a una buena aproximación de la posterior. Sin embargo, sólo necesitamos que funcione bien en las integrales de predicción (véase $\eqref{predict}$ ) y allí:

Propinas : "Todas las pruebas de los experimentos presentados en este trabajo sugieren que esta aproximación predictiva es muy eficaz en general".

Para la segunda pregunta, existe una bonita explicación geométrica. Consideremos el espacio $\mathbb{R}^n$ donde los vectores de respuesta $\yv\in\mathbb{R}^n$ en directo. Aquí, un solo punto $\yv$ representa todos $n$ respuestas observadas $y_i$ . La probabilidad marginal $p(\yv| \Xv, \alv, \sigma^2)$ que queremos maximizar, es una distribución en este espacio. Así que nuestra tarea es encontrar la distribución que da el vector de respuesta $\yv$ la mayor probabilidad. No es difícil demostrarlo (véase, por ejemplo Propinas (ecuación (34)), que esta probabilidad marginal es una familia de gaussianos parametrizada por $\alv$ y $\sigma^2$ así: $$ \begin{align} p(\yv| \Xv, \alv, \sigma^2) &= N(\yv | 0, C)\\ C &= \sigma^2\mathbf 1 + \sum_{i=0}^n \alpha_i^{-1}\Xv^c_i {\Xv^c_i}^T, \end{align} $$ donde $\Xv^c_i$ es el $i$ -ésimo vector columna de la matriz de diseño $\Xv$ es decir, el $i$ -componentes de todos los observados $\xv$ . El término $\Xv^c_i {\Xv^c_i}^T$ puede entenderse como la varianza singular de una pdf que tiene densidad positiva sólo en la línea en la dirección de $\Xv^c_i$ .

Ahora, en primer lugar, consideremos el caso en el que todos $\alpha_i^{-1}$ son casi cero. Entonces la única parte relevante de $C$ es $\sigma^2\mathbf 1$ . Esto significa que las líneas de contorno de $C$ son circulares. Sería el círculo azul de la figura siguiente.

ard

A continuación, imagine que uno de los $\alpha_i^{-1}$ es distinto de cero, por ejemplo para el índice $k$ pero la pertenencia $\Xv^c_k$ no apunta mucho en la dirección de $\yv$ . La suma $C = \sigma^2\mathbf 1 + \alpha_k^{-1}\Xv^c_k {\Xv^c_k}^T$ es entonces una elipse que se alarga a lo largo de $\Xv^c_k$ lo que hace que sea más magra y por lo tanto tiene menos densidad en la dirección de $\yv$ . Esta sería la elipse verde de la figura. Eso significa que querríamos $\alpha_k^{-1}$ sea cero. Así, para todas las columnas $\Xv^c_i$ de la matriz de diseño $\Xv$ que están mal alineados con $\yv$ no es descabellado esperar que la optimización impulse sus precisiones $\alpha_i$ hasta el infinito, por lo que la pertenencia $w_i$ se convierten en cero, lo que da lugar a la dispersión.

Truco del núcleo
Afortunadamente, los métodos aquí descritos sólo dependen del producto escalar del $\xv$ . Así, podemos utilizar la conocida truco del núcleo es decir, sustituimos el producto escalar por un núcleo, lo que equivale a utilizar funciones de base mucho más complejas.


Complejidad
Hay que distinguir entre la complejidad de entrenamiento y de aplicación del RVM. La aplicación del RVM entrenado, es decir, el cálculo de la predicción $\eqref{predict}$ de la respuesta $\yv^\ast$ de una nueva entrada $\xv^\ast$ implica el producto escalar de la media posterior $\muv_\wv$ de $\wv$ con $\xv^\ast$ . En el modelo dual, $\wv$ es $n$ -por lo que este producto escalar es de orden $n$ pero como es dispersa, la complejidad se reduce al orden del número de vectores de relevancia.

Sin embargo, una de las principales debilidades de los RVM es que el entrenamiento, en la versión vainilla, es cúbico en el número de observaciones. Sin embargo, existen métodos que pueden reducir esta complejidad.

Comparación RVM SVM
Superficialmente, las RVM y las SVM son bastante similares. Ambas utilizan el modelo dual y reducen el conjunto de entrada a unas pocas observaciones importantes. Sin embargo, internamente son bastante diferentes. Una breve comparación podría incluir los siguientes puntos:

  • La RVM es bayesiana, la SVM no.
  • RVM proporciona probabilidades, SVM no (en su variante original)
  • RVM es más disperso y la aplicación es más rápida:

Obispo : "Para una amplia gama de tareas de regresión y clasificación, el RVM proporciona modelos que son típicamente un orden de magnitud más compactos que la correspondiente máquina de vectores soporte", lo que se traduce en una mejora significativa de la velocidad de procesamiento de los datos de prueba. datos de prueba. Sorprendentemente, esta mayor dispersión se consigue con poca o ninguna reducción de los géneros. o ninguna reducción del error de generalización en comparación con la SVM correspondiente".

  • SVM es un modelo más sencillo con una función objetivo convexa, es decir, se garantiza un óptimo global.
  • El RVM tiene dificultades con la complejidad del entrenamiento:

Obispo : "El principal inconveniente del vector de pertinencia es el tiempo de entrenamiento relativamente largo en comparación con la SVM".

  • Las SVM logran la dispersión mediante el margen máximo (clasificación) o el método del tubo épsilon (regresión), que es geométricamente intuitivo. Las RVM, en cambio, logran la dispersión a través de priors especiales y utilizan una optimización aproximada no trivial de posteriors parciales, lo que puede considerarse más complejo.

La mejora de la dispersión puede observarse en el siguiente gráfico, que he reproducido a partir de aquí utilizando el paquete sklearn-rvm:

enter image description here

Mientras que SVR (izquierda) utiliza 27 vectores de soporte, RVR (derecha) sólo utiliza diez.

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