Tengo algunos datos que existen en un gráfico . Los vértices pertenecen a una de las dos clases , y estoy interesado en entrenar un SVM para distinguir entre las dos clases. Un núcleo apropiado para esto es el núcleo de difusión , donde es el laplaciano de y es un parámetro de ajuste.
Ajustar el SVM requiere la selección de hiperparámetros, por lo que tengo que ajustarConvencionalmente, usamos validación cruzada para este problema, pero eso no parece apropiado aquí, ya que omitir un vértice de cambia todo el gráfico, ¡posiblemente incluso aumenta el número de componentes conectados! Si el número de componentes conectados cambia, algunos vértices se vuelven inalcanzables de otros, y nos enfrentamos a un conjunto de datos muy diferente al que comenzamos. Es decir, no solo nos falta el vértice eliminado , sino que también nos falta información sobre todos los otros vértices en el gráfico que estaban adyacentes a ese vértice.i G i j
La noción básica de validación cruzada es que nos gustaría aproximarnos al rendimiento del modelo cuando se presentan nuevos datos. En problemas estándar, la omisión de algunos de sus datos para la prueba no cambia los valores de los datos de entrenamiento restantes. Sin embargo, en el caso de los datos de gráficos, no está claro qué significa para el modelo ver datos "nuevos" en la configuración de CV. Omitir vértices o bordes tiene el potencial de cambiar completamente los datos. Por ejemplo, imagine un gráfico que es un gráfico star, en el que un vértice tiene aristas a vértices, y todos los demás vértices tienen 1 arista. Omitir el vértice central para construir los datos de entrenamientok k k S ∗desconectará completamente el gráfico, y la matriz del núcleo será diagonal. Pero, por supuesto, será posible entrenar un modelo sobre estos datos de entrenamiento proporcionados en . Lo que está menos claro es lo que significa probar el rendimiento fuera de muestra del modelo resultante. ¿Se vuelve a calcular la matriz del núcleo para y se proporciona eso para hacer predicciones? S
O, alternativamente, ¿comienza uno calculando la matriz del núcleo de en su totalidad y omite filas y columnas según sea necesario para producir la matriz del núcleo utilizada para estimar la SVM? Esto presenta sus propios problemas conceptuales, ya que la inclusión del nodo central en significa que cada vértice es accesible desde cualquier otro vértice, y la matriz del núcleo es densa. ¿Significará esta inclusión que hay fuga de información en los pliegues y sesga la salida de validación cruzada? Por un lado, los datos sobre los nodos centrales omitidos todavía están presentes, ya que el nodo central omitido conecta el gráfico. Por otro lado, no sabemos nada sobre las etiquetasS y de los nodos omitidos, por lo que podemos sentirnos seguros de que estamos obteniendo estimaciones fuera de la muestra razonablemente imparciales al realizar el CV de esta manera.
¿Cómo se seleccionan los hiperparámetros para problemas de este tipo? ¿CV es imperfecto pero aceptable, o necesitamos métodos especializados? ¿Es posible el ajuste de hiperparámetros en mi contexto?
fuente
Respuestas:
Descargo de responsabilidad: no estoy muy familiarizado con los núcleos de gráficos, por lo que esta respuesta podría basarse en suposiciones incorrectas. Estoy de acuerdo en que omitir los vértices al calcular la matriz del núcleo es subóptimo. Dicho esto, no estoy seguro de que la validación cruzada sea necesariamente problemática. ¿Es su contexto de aprendizaje transducción o inducción?
En general, no estoy convencido de que calcular la matriz del núcleo para una dada en función de todos los datos (es decir, tanto el entrenamiento como la prueba) necesariamente cree una fuga de información. Si calcular el núcleo en función de todos los datos resulta correcto, puede entrenar modelos en una configuración cv típica, utilizando los bloques relevantes de la matriz de núcleo completa (precalculada) para entrenamiento / prueba.β
Este enfoque le permitiría optimizar conjuntamente y , por ejemplo a través de bibliotecas como Optunity , donde se usa para calcular el núcleo en función de todos los datos y se usa para entrenar modelos en los pliegues de entrenamiento exclusivamente.C β Cβ C β C
fuente