3 votos

Diferencia de tiempo de ejecución entre los núcleos lineal y RBF en SVM

Estoy usando kernlab en R. He entrenado una SVM utilizando kernel lineal y kernel RBF con el mismo conjunto de datos (el número de instancias es 3000). Cuando utilizo un kernel lineal, se tarda mucho más en entrenar el modelo que cuando utilizo un kernel RBF (las precisiones son similares). ¿Por qué existe esta diferencia en el tiempo de ejecución?

1voto

Even Mien Puntos 10122

La diferencia de tiempo surge de varias fuentes con las SVM.

En primer lugar, hay que calcular la matriz del núcleo (es decir, la matriz poblada con $K(x_i,x_j)$ ). Normalmente, esto debería llevar más tiempo para el kernel RBF que para el kernel lineal (el kernel lineal no tiene que llamar a $\exp$ que es la parte más expansiva).

que consiste en resolver el programa cuadrático es variable en $C$ los parámetros de coste y la matriz kernel de las muestras de entrenamiento.

La diferencia en el tiempo total de entrenamiento que es probable que se deba al hecho de que las matrices del núcleo que se obtienen de RBF y el núcleo lineal son diferentes y el problema de optimización con este último pasa a ser un problema mucho más difícil en este caso.

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