usando núcleos precalculados con libsvm

Actualmente estoy trabajando en clasificar imágenes con diferentes descriptores de imágenes. Como tienen sus propias métricas, estoy usando núcleos precalculados. Entonces, dadas estas matrices de kernel NxN (para un total de N imágenes), quiero entrenar y probar un SVM. Sin embargo, no tengo mucha experiencia con SVM.

in embargo, lo que me confunde es cómo ingresar la entrada para el entrenamiento. Usando un subconjunto del kernel MxM (M es el número de imágenes de entrenamiento), entrena el SVM con características M. Sin embargo, si lo entendí correctamente, esto me limita a usar datos de prueba con cantidades similares de características. Intentar usar un sub-núcleo de tamaño MxN, causa bucles infinitos durante el entrenamiento, por lo tanto, usar más funciones cuando las pruebas dan malos resultados.

Esto resulta en el uso de entrenamiento de igual tamaño y conjuntos de pruebas que dan resultados razonables. Pero si solo quisiera clasificar, decir una imagen o entrenar con una cantidad dada de imágenes para cada clase y probar con el resto, esto no funciona en absoluto.

¿Cómo puedo eliminar la dependencia entre el número de imágenes y características de entrenamiento, para poder probar con cualquier número de imágenes?

Estoy usando libsvm para MATLAB, los núcleos son matrices de distancia que oscilan entre [0,1].

Respuestas a la pregunta(1)

Su respuesta a la pregunta