Actualmente estoy experimentando con gridsearch para entrenar una máquina de vectores de soporte. Entiendo que, si tengo el parámetro gamma y C, la función R tune.svm realiza una validación cruzada de 10 veces para todas las combinaciones de estos 2 parámetros.
Como no sabía cómo comenzar, intenté obtener información al respecto, por ejemplo, wikipedia 2 sugiere valores que no son lineales, por ejemplo, C en el rango {10, 100, 1000}.
Hasta ahora uso los ejemplos de mi segundo enlace de wikipedia, que es:
gammas = 2^(-15:3)
costs = 2^(-5:15)
Lo que da como resultado 399 combinaciones.
Esto lleva mucho, mucho tiempo (~ 2000 muestras). Por ejemplo, para el núcleo "radial", mi mejor resultado es gamma = 0.5 y cost = 2.
¿No podría obtener el mismo resultado si solo usara valores como (1, 2, 3, 4, ... 10) para costos y (0, 0.5, 1, 1.5, 2) para gammas? Sé que este ejemplo está construido porque ya sé el resultado.
Mi pregunta:
¿Pero por qué esta escala exponencial?
Hay tantos valores entre 0 y 1 que creo que esto es una pérdida de tiempo de cálculo y tan pocos números muy grandes que de todos modos no podría encontrar un resultado muy exacto. Solo tendría sentido para mí si esto se usara para encontrar un rango más pequeño, digamos que luego sabemos que el mejor costo es 2 ^ 3 y luego buscamos alrededor de eso. Pero en ninguna parte se menciona que se realiza de esa manera.