Ajuste de hiper parâmetros: Pesquisa aleatória versus otimização bayesiana

13

Portanto, sabemos que a pesquisa aleatória funciona melhor que a pesquisa em grade, mas uma abordagem mais recente é a otimização bayesiana (usando processos gaussianos). Procurei uma comparação entre os dois e não encontrei nada. Eu sei que no cs231n de Stanford eles mencionam apenas pesquisa aleatória, mas é possível que eles quisessem manter as coisas simples.

Minha pergunta é: qual abordagem geralmente é melhor e se a resposta é "às vezes busca aleatória, às vezes bayesiana" quando devo preferir um método a outro?

Yoni Keren
fonte
2
O Google está vendendo seus serviços em nuvem de aprendizado profundo agora e aprimorando um recurso que ajusta automaticamente seus hiperparâmetros com a otimização bayesiana ... é claro, alegando que ele faz o melhor e é mais rápido também (pesquisando o hiperespaço com mais eficiência). Existem vários artigos por aí que avaliam BO vs RS e também mostram BO fazendo apenas um pouco melhor. Na IMO, pelo que vi, o diferencial é algo com o qual você se preocuparia mais em uma competição do Kaggle do que na vida real.
JPJ

Respostas:

8

Penso que a resposta aqui é a mesma que em toda a ciência de dados: depende dos dados :-)

Pode acontecer que um método supere o outro (aqui https://arimo.com/data-science/2016/bayesian-optimization-hyperparameter-tuning/) as pessoas comparam a otimização do hiperparâmetro bayesiano e alcançam um melhor resultado no desafio de kaggle criminal de San Francisco do que com pesquisa aleatória), no entanto, duvido que exista uma regra geral para isso. Você pode ver um bom gif aqui ( http://blog.revolutionanalytics.com/2016/06/bayesian-optimization-of-machine-learning-models.html ), onde as pessoas mostram o 'caminho' que a otimização bayesiana leva na paisagem dos hiperparâmetros, em particular, não parece que supere a pesquisa aleatória em geral ...

Penso que a razão pela qual as pessoas tendem a usar a otimização do hiperparâmetro bayesiano é que são necessárias apenas poucas etapas de treinamento para obter um resultado comparável em comparação à pesquisa aleatória com um número suficientemente alto de experimentos.

Resumindo em uma frase:

* Quando o tempo de treinamento for crítico, use a otimização do hiperparâmetro Bayesiano e, se o tempo não for um problema, selecione um dos dois ... *

Normalmente, tenho preguiça de implementar as coisas bayesianas com os processos gaussianos se conseguir o mesmo resultado com a pesquisa aleatória ... Eu apenas treino os conjuntos Gradient Bossting em poucos dados, para mim, o tempo não é um problema ...

Fabian Werner
fonte
5

A otimização bayesiana é melhor, porque toma decisões mais inteligentes. Você pode verificar este artigo para saber mais: Otimização de hiperparâmetros para redes neurais . Este artigo também contém informações sobre prós e contras de ambos os métodos + algumas técnicas extras, como pesquisa em grade e estimadores de parzen estruturados em árvore. Embora tenha sido escrito para mostrar prós e contras de diferentes métodos para redes neurais, o conhecimento principal é generalizável para qualquer outro domínio de aprendizado de máquina

itdxer
fonte
1
Eu só queria salientar que na sua primeira frase, a verdadeira razão pela qual a otimização bayesiana é melhor não é que as decisões tomadas sejam mais inteligentes , mas sim as decisões que estão sendo tomadas .
Alexander Rossa
1

É importante notar que a otimização do hiperparâmetro bayesiano é um processo seqüencial, portanto pode levar mais tempo do que algumas outras abordagens capazes de pesquisar ou ser conduzidas em paralelo.

hlsmith
fonte