Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Desafío: Ajuste Automático de Hiperparámetros | Conclusión
Introducción a las Redes Neuronales

bookDesafío: Ajuste Automático de Hiperparámetros

En lugar de seleccionar manualmente valores específicos para los hiperparámetros de nuestro modelo, la búsqueda aleatoria (RandomizedSearchCV) ofrece una forma más eficiente de encontrar una configuración óptima. A diferencia de la búsqueda en cuadrícula (GridSearchCV), que evalúa sistemáticamente todas las combinaciones posibles de hiperparámetros, la búsqueda aleatoria selecciona un subconjunto aleatorio de estas combinaciones. Este enfoque reduce significativamente el costo computacional y, aun así, produce buenos resultados.

En redes neuronales, donde la cantidad de combinaciones posibles de hiperparámetros puede ser inmensa, probar exhaustivamente cada opción suele ser impracticable. La búsqueda aleatoria resuelve este problema mediante el muestreo aleatorio de un número definido de conjuntos de hiperparámetros, equilibrando la exploración y la eficiencia.

RandomizedSearchCV(
    estimator=model, 
    param_distributions=randomized_parameters, 
    n_iter=number_of_models_to_test,  # Number of random combinations to evaluate
    scoring='accuracy',  # Evaluation metric
    random_state=42,  # Ensures reproducibility
)
  • estimator: modelo a optimizar (por ejemplo, MLPClassifier);
  • param_distributions: diccionario donde las claves son los nombres de los hiperparámetros y los valores son listas de las cuales muestrear;
  • n_iter: especifica cuántas combinaciones aleatorias deben probarse. Un valor mayor aumenta las posibilidades de encontrar una combinación óptima, pero requiere más cómputo;
  • scoring: define la métrica de evaluación (por ejemplo, 'accuracy' para clasificación).
Tarea

Swipe to start coding

  1. En param_distributions, generar valores para dos capas ocultas, donde cada capa tenga el mismo número de neuronas, en un rango de 20 a 30 (inclusive) con incrementos de 2.
  2. En param_distributions, establecer los valores de la tasa de aprendizaje en 0.02, 0.01 y 0.005.
  3. En param_distributions, generar 10 valores aleatorios para la cantidad de épocas de entrenamiento, asegurando que estén dentro del rango de 10 a 50 (exclusivo).
  4. Aplicar búsqueda aleatoria con 4 iteraciones (número de combinaciones de hiperparámetros a evaluar) y utilizar accuracy como métrica de evaluación.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 3
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

close

Awesome!

Completion rate improved to 4

bookDesafío: Ajuste Automático de Hiperparámetros

Desliza para mostrar el menú

En lugar de seleccionar manualmente valores específicos para los hiperparámetros de nuestro modelo, la búsqueda aleatoria (RandomizedSearchCV) ofrece una forma más eficiente de encontrar una configuración óptima. A diferencia de la búsqueda en cuadrícula (GridSearchCV), que evalúa sistemáticamente todas las combinaciones posibles de hiperparámetros, la búsqueda aleatoria selecciona un subconjunto aleatorio de estas combinaciones. Este enfoque reduce significativamente el costo computacional y, aun así, produce buenos resultados.

En redes neuronales, donde la cantidad de combinaciones posibles de hiperparámetros puede ser inmensa, probar exhaustivamente cada opción suele ser impracticable. La búsqueda aleatoria resuelve este problema mediante el muestreo aleatorio de un número definido de conjuntos de hiperparámetros, equilibrando la exploración y la eficiencia.

RandomizedSearchCV(
    estimator=model, 
    param_distributions=randomized_parameters, 
    n_iter=number_of_models_to_test,  # Number of random combinations to evaluate
    scoring='accuracy',  # Evaluation metric
    random_state=42,  # Ensures reproducibility
)
  • estimator: modelo a optimizar (por ejemplo, MLPClassifier);
  • param_distributions: diccionario donde las claves son los nombres de los hiperparámetros y los valores son listas de las cuales muestrear;
  • n_iter: especifica cuántas combinaciones aleatorias deben probarse. Un valor mayor aumenta las posibilidades de encontrar una combinación óptima, pero requiere más cómputo;
  • scoring: define la métrica de evaluación (por ejemplo, 'accuracy' para clasificación).
Tarea

Swipe to start coding

  1. En param_distributions, generar valores para dos capas ocultas, donde cada capa tenga el mismo número de neuronas, en un rango de 20 a 30 (inclusive) con incrementos de 2.
  2. En param_distributions, establecer los valores de la tasa de aprendizaje en 0.02, 0.01 y 0.005.
  3. En param_distributions, generar 10 valores aleatorios para la cantidad de épocas de entrenamiento, asegurando que estén dentro del rango de 10 a 50 (exclusivo).
  4. Aplicar búsqueda aleatoria con 4 iteraciones (número de combinaciones de hiperparámetros a evaluar) y utilizar accuracy como métrica de evaluación.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 3
single

single

some-alt