Otimizando os hiperparâmetros

Arthur Lamblet Vaz
Data Hackers
Published in
3 min readAug 5, 2019

Antes mesmo de pensar em teinar seu modelo, em alguns casos, encontrar a melhor combinação dos hiperparâmetros é o que vai fazer realmente a diferença. Mas antes de mais nada, vamos esclarecer o que são os hiperparâmetros?

Hiperparâmetros são parâmetros de modelos que devem ser definidos antes de treinar o modelo. Para isso existem diferentes técnicas que buscam otimizá-los que resultará uma melhor acurácia em seu modelo.

Exemplos de hiperparâmetros: no caso de Random Forest modelos, um dos parâmetros será o número de árvores que será considerado. Para modelos de redes neurais, alguns parâmetros são taxa de aprendizado, número de camadas, quantidade de nó em cada camada entre outros. Para modelos como SVM e SVR, procuramos otmizar os parâmetros c, gamma e epsilon.

Ajuste de hiperparâmetros

As duas técnicas que irei abordar, que são bastante utilizada na academia e pelas empresas:

  • Grid search
  • Random search

Grid search

Essa técnica irá testar todas as combinações possíveis dos hiperparâmetros, exaustivamente. Basicamente, irá fornecer alguns valores de input e testar todas as combinações plotando em um plano cartesiano (por isso o nome de grid). Em seguida, selecionará os hiperparâmetros que obtiveram o menor erro.

Você deve pensar que esse processo levará bastante tempo, com um alto esforço computacional. Todavia se não fosse pela existência do processamento em paralelo, isso seria uma verdade.

Entretanto, sim irá custar mais computacionalmente ainda mais se os valores de hiperparâmetros e valores possíveis forem altos. Por exemplo, supondo que tenhamos 5 hiperparâmetros e 1000 valores possíveis para cada um. Segundo o grid search tentaremos 1000⁵, alguns casos nem processando paralelo pode ajudar.

Random search

Essa técnica acaba suprindo o problema com muitas combinações. Isso se deve ao fato de testar combinações aleatórias e os melhores resultados funciona como um guia para a escolha dos próximos hiperparâmetros. Contudo, percebemos claramente que isso poderá levar em sua maioria, para o mínimo local e não para o mínimo global.

Exemplo prático

Uma métrica extra para medir a efetividade, é essa função cross validation com o ROC AUC. Ela será usada também para medir a qualidade dos hiperparâmetros.

Segue um exemplo utilizando grid search. Os modelos utilizados no caso, são Lasso Regression (l1) e Ridge Regression (l2).

O output deverá ser o mesmo que mostra na imagem abaixo.

Em seguida, segue o mesmo exemplo com o mesmo dataset utilizando o Random Search.

Seguindo o mesmo racional que o search grid.

Conclusão

Conseguimos perceber que o grid search obteve uma performance superior na escolha dos hiperparamêtros. Agora a decisão acaba ficando com o especialista e o data science para a escolha de qual técnica de ajuste prosseguir.

As vezes o mínimo local já basta para o problema, sendo não necessário um mínimo global, consecutivamente um gasto computacional maior.

Para consultar todo script e o desafio usado no exemplo do kaggle.

--

--

Arthur Lamblet Vaz
Data Hackers

Surfista, natureba e engenheiro de produção com ênfase em Data Science🌱🌍♻️