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 dos 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

  1. Em param_distributions, gere valores para duas camadas ocultas, onde cada camada possui o mesmo número de neurônios, variando de 20 a 30 (inclusive) com passo de 2.
  2. Em param_distributions, defina os valores da taxa de aprendizado como 0.02, 0.01 e 0.005.
  3. Em param_distributions, gere 10 valores aleatórios para o número de épocas de treinamento, garantindo que estejam dentro do intervalo de 10 a 50 (exclusivo).
  4. Aplique busca aleatória com 4 iterações (número de combinações de hiperparâmetros a serem avaliadas) e utilize acurácia como métrica de avaliação.

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 dos 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

  1. Em param_distributions, gere valores para duas camadas ocultas, onde cada camada possui o mesmo número de neurônios, variando de 20 a 30 (inclusive) com passo de 2.
  2. Em param_distributions, defina os valores da taxa de aprendizado como 0.02, 0.01 e 0.005.
  3. Em param_distributions, gere 10 valores aleatórios para o número de épocas de treinamento, garantindo que estejam dentro do intervalo de 10 a 50 (exclusivo).
  4. Aplique busca aleatória com 4 iterações (número de combinações de hiperparâmetros a serem avaliadas) e utilize acurácia como métrica de avaliação.

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