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, al mismo tiempo, produce resultados sólidos.

Para las redes neuronales, donde el número de combinaciones posibles de hiperparámetros puede ser inmenso, probar exhaustivamente cada opción suele ser impracticable. La búsqueda aleatoria evita 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: el modelo a optimizar (por ejemplo, MLPClassifier);
  • param_distributions: un 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 más alto aumenta las posibilidades de encontrar una combinación óptima, pero requiere más computación;
  • scoring: define la métrica de evaluación (por ejemplo, 'accuracy' para clasificación).
Tarea

Swipe to start coding

El objetivo es ajustar los hiperparámetros de un perceptrón multicapa (MLP) utilizando el método RandomizedSearchCV de scikit-learn.

Siga cuidadosamente estos pasos:

  1. Definir la cuadrícula de parámetros param_distributions:
  • 'hidden_layer_sizes': incluir tres configuraciones — (20, 20), (25, 25) y (30, 30);
  • 'learning_rate_init': incluir los valores 0.02, 0.01 y 0.005;
  • 'max_iter': incluir los valores 10, 30 y 50.
  1. Inicializar el modelo usando MLPClassifier().
  2. Aplicar RandomizedSearchCV:
  • Utilizar el modelo mlp definido como estimador;
  • Utilizar la cuadrícula param_distributions definida;
  • Establecer n_iter=4 para limitar el número de combinaciones de parámetros;
  • Utilizar 'accuracy' como métrica de evaluación;
  • Establecer random_state=1 para garantizar la reproducibilidad.
  1. Ajustar la búsqueda aleatoria en los datos de entrenamiento e imprimir los mejores parámetros encontrados.
  2. Entrenar el mejor modelo con todos los datos de entrenamiento y evaluar su precisión tanto en el conjunto de entrenamiento como en el conjunto de prueba.

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, al mismo tiempo, produce resultados sólidos.

Para las redes neuronales, donde el número de combinaciones posibles de hiperparámetros puede ser inmenso, probar exhaustivamente cada opción suele ser impracticable. La búsqueda aleatoria evita 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: el modelo a optimizar (por ejemplo, MLPClassifier);
  • param_distributions: un 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 más alto aumenta las posibilidades de encontrar una combinación óptima, pero requiere más computación;
  • scoring: define la métrica de evaluación (por ejemplo, 'accuracy' para clasificación).
Tarea

Swipe to start coding

El objetivo es ajustar los hiperparámetros de un perceptrón multicapa (MLP) utilizando el método RandomizedSearchCV de scikit-learn.

Siga cuidadosamente estos pasos:

  1. Definir la cuadrícula de parámetros param_distributions:
  • 'hidden_layer_sizes': incluir tres configuraciones — (20, 20), (25, 25) y (30, 30);
  • 'learning_rate_init': incluir los valores 0.02, 0.01 y 0.005;
  • 'max_iter': incluir los valores 10, 30 y 50.
  1. Inicializar el modelo usando MLPClassifier().
  2. Aplicar RandomizedSearchCV:
  • Utilizar el modelo mlp definido como estimador;
  • Utilizar la cuadrícula param_distributions definida;
  • Establecer n_iter=4 para limitar el número de combinaciones de parámetros;
  • Utilizar 'accuracy' como métrica de evaluación;
  • Establecer random_state=1 para garantizar la reproducibilidad.
  1. Ajustar la búsqueda aleatoria en los datos de entrenamiento e imprimir los mejores parámetros encontrados.
  2. Entrenar el mejor modelo con todos los datos de entrenamiento y evaluar su precisión tanto en el conjunto de entrenamiento como en el conjunto de prueba.

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