9 votos

¿Qué métodos existen para tuning gráfica núcleo SVM hiperparámetros?

Tengo algunos datos que existen en un gráfico de $G=(V,E)$. Los vértices pertenecen a una de dos clases de $y_i\in\{-1,1\}$, y estoy interesado en la formación de una SVM para distinguir entre las dos clases. Un kernel apropiado para esto es la difusión del núcleo, $K=\exp(-\beta L),$ donde $L$ es el Laplaciano de $G$ $\beta$ es un parámetro de ajuste.

Optimización de la SVM requiere la selección de hyperparameters, así que tengo que afinar $\theta=(\beta, C).$ Convencionalmente, hacemos uso de la validación cruzada para este problema, pero que no parece apropiado en este caso, ya que la omisión de un vértice $i$ $G$ cambios en el gráfico completo, posiblemente incluso aumentar el número de componentes conectados! Si el número de componentes conectados cambios, algunos de los vértices se vuelvan inaccesibles de los demás, por lo que estamos ante un conjunto muy diferente de los datos de los que comenzó. Es decir, no sólo nos estamos perdiendo el vértice $i$, pero estamos también la falta de información acerca de todos los otros vértices $j$ en el gráfico que eran adyacentes a ese vértice.

La noción básica de la validación cruzada es que nos gustaría a la aproximación de cómo el modelo se realiza cuando se presenta con los nuevos datos. En el estándar de problemas, la omisión de algunos de sus datos para la prueba no cambia los valores de los restantes datos de entrenamiento. Sin embargo, en el caso de los datos del gráfico, no es claro qué significa el modelo para ver la "nueva" datos en el CV de configuración. La omisión de vértices o aristas tiene el potencial de cambiar por completo los datos. Imagine, por ejemplo, un gráfico de $S=(V_S,E_S)$ $k$estrellas gráfico, en el que un vértice ha $k$ bordes a $k$ vértices, y todos los otros vértices tienen 1 borde. Omitiendo el vértice central para la construcción de los datos de entrenamiento $S^*$ totalmente de desconexión de la gráfica, y el núcleo de la matriz será diagonal! Pero, por supuesto, será posible entrenar a un modelo en esta capacitación los datos proporcionados en $S^*$. Lo que está menos claro es lo que significa luego de la prueba de rendimiento de ejemplo del modelo resultante. Hace que uno se vuelve a calcular el núcleo de la matriz de $S$, y se establece que para hacer predicciones?

O, alternativamente, hace que uno comience por calcular el núcleo de la matriz de $S$ en su totalidad y omitir filas y columnas como sea necesario para producir el núcleo de la matriz utilizada para la estimación de la SVM? Este presenta sus propios problemas conceptuales, desde la inclusión del nodo central en $S$ significa que cada vértice es accesible desde todos los otros vértices, y el núcleo de la matriz es densa. Se esta inclusión significa que no es la fuga de información a través de los pliegues, y el sesgo de la validación cruzada de salida? Por un lado, los datos sobre la omitido nodos centrales todavía está presente, como la omitido nodo central hace que el gráfico conectado. Por otro lado, no sabemos nada acerca de las etiquetas de $y$ de la omitido nodos, por lo que podemos estar seguro de que estamos recibiendo razonablemente imparcial fuera de la muestra de las estimaciones a partir de la realización de CV en esta manera.

¿Cómo seleccionar hyperparameters para problemas de este tipo? Es CV imperfecto pero aceptable, o necesitamos métodos especializados? Es hyperparameter optimización incluso posible a todos en mi contexto?

4voto

Marc Claesen Puntos 9818

Descargo de responsabilidad: yo no estoy muy familiarizado con el gráfico núcleos, por lo que esta respuesta podría estar basado en suposiciones erróneas. Estoy de acuerdo en que la omisión de los vértices mientras que el cálculo de la matriz kernel es subóptima. Dicho esto, no estoy seguro de que la validación cruzada es necesariamente problemático. Es su contexto de aprendizaje de transducción o inducción?

En general, no estoy convencido de que la computación en el núcleo de la matriz para un determinado $\beta$ basado en todos los datos (es decir, tanto el tren como el de la prueba) crea necesariamente una fuga de la información. Si computación en el núcleo basada en todos los datos resulta ser bueno, puede, a continuación, modelos de trenes en una típica cv-instalación, el uso de los correspondientes bloques de la (precalculadas) total núcleo de la matriz para el entrenamiento/prueba.

Este enfoque permitiría optimizar conjuntamente $\beta$$C$, por ejemplo a través de las bibliotecas como Optunity, donde $\beta$ se utiliza para calcular el kernel basado en todos los datos y $C$ se usa para los modelos de trenes en la formación de pliegues en forma exclusiva.

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