Actualización: me acabo de dar cuenta de que debo aclarar algo. Mi respuesta dice cómo seleccionar robustamente los parámetros del kernel exponencial cuadrado (theta0, cuando thetaL y thetaU son None). Los parámetros thetaL y thetaU son restricciones sobre los valores que se pueden aprender para los parámetros del núcleo mediante la estimación de máxima verosimilitud. No hay necesidad de barrer sobre ellos.
Si tiene una gran cantidad de características (theta0 tiene muchas dimensiones), entonces una búsqueda de cuadrícula sobre el espacio de parámetros será muy costosa, y será mejor que use la máxima probabilidad en lugar de la validación cruzada.
—-
- ¿Cuáles son los puntos importantes de comparación entre Mahout y otras bibliotecas Java ML como Lingpipe o Weka?
- ¿Qué tan cerca estamos de poder crear máquinas autorreplicantes que puedan replicarse utilizando minerales que se encuentran en el espacio exterior?
- ¿Cuál es el punto de probar los datos en k-fold cross validation?
- Cómo convertir un algoritmo de entrenamiento de redes neuronales realmente poderoso en un producto comercial
- Suponga que la máquina es multinúcleo, el tiempo de ejecución de un programa en una máquina que ejecuta solo ese proceso es igual al tiempo de ejecución en una máquina en la que hay otros procesos ejecutados junto con él, ¿no es así?
A menos que sepa cuáles deben ser estos parámetros con anticipación (debido, por ejemplo, a alguna propiedad de sus datos), la mejor manera es probablemente evaluar muchas configuraciones de parámetros diferentes mediante validación cruzada y elegir la mejor según alguna métrica. En scikit-learn, esto se puede hacer usando sklearn.grid_search.GridSearchCV, como se describe aquí:
Estimación de parámetros mediante la búsqueda de cuadrícula con una validación cruzada anidada