Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Desafio: Ajuste Automático de Hiperparâmetros | Conclusão
Introdução às Redes Neurais

bookDesafio: Ajuste Automático de Hiperparâmetros

Em vez de selecionar manualmente valores específicos para os hiperparâmetros do modelo, a busca aleatória (RandomizedSearchCV) oferece uma maneira mais eficiente de encontrar uma configuração ideal. Diferente da busca em grade (GridSearchCV), que avalia sistematicamente todas as combinações possíveis de hiperparâmetros, a busca aleatória seleciona um subconjunto aleatório dessas combinações. Essa abordagem reduz significativamente o custo computacional, mantendo resultados robustos.

Para redes neurais, onde o número de combinações possíveis de hiperparâmetros pode ser imenso, testar exaustivamente cada opção é frequentemente impraticável. A busca aleatória contorna esse problema ao amostrar aleatoriamente um número definido de conjuntos de hiperparâmetros, equilibrando exploração e eficiência.

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 ser otimizado (por exemplo, MLPClassifier);
  • param_distributions: dicionário onde as chaves são nomes de hiperparâmetros e os valores são listas das quais serão amostrados;
  • n_iter: especifica quantas combinações aleatórias devem ser testadas. Um valor mais alto aumenta as chances de encontrar uma combinação ideal, mas exige mais computação;
  • scoring: define a métrica de avaliação (por exemplo, 'accuracy' para classificação).
Tarefa

Swipe to start coding

Seu objetivo é ajustar os hiperparâmetros de um perceptron multicamadas (MLP) utilizando o método RandomizedSearchCV do scikit-learn.

Siga cuidadosamente estas etapas:

  1. Defina a grade de parâmetros param_distributions:
  • 'hidden_layer_sizes': inclua três configurações — (20, 20), (25, 25) e (30, 30);
  • 'learning_rate_init': inclua os valores 0.02, 0.01 e 0.005;
  • 'max_iter': inclua os valores 10, 30 e 50.
  1. Inicialize o modelo utilizando MLPClassifier().
  2. Aplique o RandomizedSearchCV:
  • Utilize o modelo mlp definido como estimador;
  • Utilize a grade param_distributions definida;
  • Defina n_iter=4 para limitar o número de combinações de parâmetros;
  • Utilize 'accuracy' como métrica de avaliação;
  • Defina random_state=1 para reprodutibilidade.
  1. Ajuste a busca aleatória nos dados de treinamento e exiba os melhores parâmetros encontrados.
  2. Treine o melhor modelo com todos os dados de treinamento e avalie sua acurácia tanto no conjunto de treinamento quanto no teste.

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 3
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

close

Awesome!

Completion rate improved to 4

bookDesafio: Ajuste Automático de Hiperparâmetros

Deslize para mostrar o menu

Em vez de selecionar manualmente valores específicos para os hiperparâmetros do modelo, a busca aleatória (RandomizedSearchCV) oferece uma maneira mais eficiente de encontrar uma configuração ideal. Diferente da busca em grade (GridSearchCV), que avalia sistematicamente todas as combinações possíveis de hiperparâmetros, a busca aleatória seleciona um subconjunto aleatório dessas combinações. Essa abordagem reduz significativamente o custo computacional, mantendo resultados robustos.

Para redes neurais, onde o número de combinações possíveis de hiperparâmetros pode ser imenso, testar exaustivamente cada opção é frequentemente impraticável. A busca aleatória contorna esse problema ao amostrar aleatoriamente um número definido de conjuntos de hiperparâmetros, equilibrando exploração e eficiência.

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 ser otimizado (por exemplo, MLPClassifier);
  • param_distributions: dicionário onde as chaves são nomes de hiperparâmetros e os valores são listas das quais serão amostrados;
  • n_iter: especifica quantas combinações aleatórias devem ser testadas. Um valor mais alto aumenta as chances de encontrar uma combinação ideal, mas exige mais computação;
  • scoring: define a métrica de avaliação (por exemplo, 'accuracy' para classificação).
Tarefa

Swipe to start coding

Seu objetivo é ajustar os hiperparâmetros de um perceptron multicamadas (MLP) utilizando o método RandomizedSearchCV do scikit-learn.

Siga cuidadosamente estas etapas:

  1. Defina a grade de parâmetros param_distributions:
  • 'hidden_layer_sizes': inclua três configurações — (20, 20), (25, 25) e (30, 30);
  • 'learning_rate_init': inclua os valores 0.02, 0.01 e 0.005;
  • 'max_iter': inclua os valores 10, 30 e 50.
  1. Inicialize o modelo utilizando MLPClassifier().
  2. Aplique o RandomizedSearchCV:
  • Utilize o modelo mlp definido como estimador;
  • Utilize a grade param_distributions definida;
  • Defina n_iter=4 para limitar o número de combinações de parâmetros;
  • Utilize 'accuracy' como métrica de avaliação;
  • Defina random_state=1 para reprodutibilidade.
  1. Ajuste a busca aleatória nos dados de treinamento e exiba os melhores parâmetros encontrados.
  2. Treine o melhor modelo com todos os dados de treinamento e avalie sua acurácia tanto no conjunto de treinamento quanto no teste.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 3
single

single

some-alt