Support Vector Machines: ¿Cómo elijo un parámetro de escala de kernel?

El “parámetro de escala del núcleo” se llama “gamma” en LibSVM. Considere el núcleo gaussiano: k (x, y) = exp (-gamma * (xy) ^ 2). Si gamma es grande, entonces este núcleo se caerá rápidamente a medida que el punto y se aleje de x. A medida que disminuye gamma, el grano se caerá cada vez menos rápido. Cuando gamma es 0, el núcleo será el mismo (= 1) para todos los puntos y independientemente de dónde esté y en el espacio de características.

En esta interpretación, gamma está relacionado con la extensión de sus puntos de datos. Si están muy lejos el uno del otro (lo que sucedería en un espacio dimensional muy alto, por ejemplo), entonces no desea que el núcleo se caiga rápidamente, por lo que usaría una pequeña gamma. Por lo tanto, libSVM utiliza un valor predeterminado de 1 / num_features.

En cuanto a cómo configurarlo, la respuesta tendrá que ser validación cruzada.

Incluso con libsvm, incluso con toda esa comprensión, lo que generalmente gana es Grid Search. Debido a la complejidad natural de los núcleos, es difícil visualizarlos. Intentaría una búsqueda en la cuadrícula también en este caso o pondría un meta aprendiz encima de eso e intentaría predecir qué valores de parámetros serían buenos. Que te diviertas