En el código fuente de libsvm, ¿por qué los vectores de soporte están representados por matrices bidimensionales [][]svm_node? Lo pensé durante mucho tiempo, pero todavía no puedo entenderlo.
Aunque libsvm admite la clasificación de clases múltiples, su esencia se basa en un método de clasificación de clases múltiples "uno a uno", por lo que su esencia es en realidad un svm binario.
Dado que es un svm binario, debe haber un vector de soporte que pertenezca a la primera categoría -1 y un vector de soporte que pertenezca a la segunda categoría +1, por lo que debe ser una matriz bidimensional.
Un parámetro en el modelo de salida de entrenamiento de libsvm es sv_coef, que representa el vector de soporte en la función de decisión:
?
Los coeficientes a y b están en el modelo rho.
?Finalmente, ¿cuáles son todos los parámetros en el modelo?
?
?Parameters: Tipo de parámetros de svm
?nr_class : ¿Cuántas clases hay?
?totalSV: número total de vectores de soporte
?rho: b en la función de decisión
?Label: etiqueta de clase
?ProbA: ?
?ProbB:?Estos dos son solo parámetros utilizados cuando svm selecciona -b
?nSV: ¿Cuántos vectores de soporte hay en cada clase
?sv_coef: ¿Cuál a en la función de decisión?
?SVs: El vector de soporte cargado en él es así
Mi opinión personal como novato, avíseme si hay algún error ¡Corrección! ***Mismo estudio