Existem pesquisas contemporâneas substanciais sobre otimização bayesiana (1) para ajustar os hiperparâmetros de ML. A motivação motriz aqui é que é necessário um número mínimo de pontos de dados para fazer escolhas informadas sobre quais pontos vale a pena tentar (chamadas de função objetivas são caras, portanto, menos é melhor) porque o treinamento de um modelo demanda muito tempo - alguns modestamente problemas grandes em SVM nos quais trabalhei podem levar entre minutos e horas para serem concluídos.
Por outro lado, o Optunity é uma implementação de enxame de partículas para abordar a mesma tarefa. Não estou familiarizado com o PSO, mas parece que ele deve ser menos eficiente no sentido de exigir um número maior de pontos de teste e, portanto, avaliações de funções objetivas, para avaliar a superfície do hiperparâmetro.
Estou faltando um detalhe importante que torna a PSO preferida à BO no contexto de aprendizado de máquina? Ou a escolha entre os dois é sempre inerentemente contextual para a tarefa de ajuste do hiperparâmetro?
(1) Shahriari et al, "Tirando o ser humano do círculo: uma revisão da otimização bayesiana".
fonte
Respostas:
Como desenvolvedor líder do Optunity, adicionarei meus dois centavos.
Fizemos extensos benchmarks comparando o Optunity com os solucionadores bayesianos mais populares (por exemplo, hiperopt, SMAC, bayesopt) em problemas do mundo real, e os resultados indicam que o PSO na verdade não é menos eficiente em muitos casos práticos. Em nosso benchmark, que consiste em ajustar os classificadores SVM em vários conjuntos de dados, o Optunity é realmente mais eficiente que o hyperopt e o SMAC, mas um pouco menos eficiente que o BayesOpt. Gostaria de compartilhar os resultados aqui, mas vou esperar até que o Optunity seja finalmente publicado no JMLR (em revisão há mais de um ano, portanto, não prenda a respiração ...).
Como você indica, o aumento da eficiência é um ponto de venda comumente usado para otimização bayesiana, mas na prática só retém água se as suposições dos modelos substitutos subjacentes se mantiverem, o que está longe de ser trivial. Em nossos experimentos, o simples solucionador de PSO do Optunity é geralmente competitivo com abordagens bayesianas complexas em termos de número de avaliações de funções. Os solucionadores bayesianos funcionam muito bem quando fornecidos com bons antecedentes, mas com um prévio não informativo praticamente não há benefício estrutural sobre métodos metaheurísticos, como o PSO, em termos de eficiência.
Um grande ponto de venda para o PSO é o fato de ser embaraçosamente paralelo. A otimização bayesiana é muitas vezes difícil de paralelizar, devido à sua natureza inerentemente seqüencial (a implementação da hiperopta é a única exceção real). Dadas as oportunidades de distribuição, que está se tornando a norma, o Optunity rapidamente assume a liderança no tempo do relógio de parede para obter boas soluções.
Outra diferença importante entre o Optunity e a maioria das outras bibliotecas dedicadas de otimização de hiperparâmetros é o público-alvo: o Optunity tem a interface mais simples e é direcionado a especialistas em aprendizado que não sejam máquinas, enquanto a maioria das outras bibliotecas exige algum entendimento da otimização bayesiana para ser usada com eficácia (ou seja, elas são direcionado a especialistas).
A razão pela qual criamos a biblioteca é que, apesar do fato de existirem métodos dedicados de otimização de hiperparâmetros, eles não são adotados na prática. A maioria das pessoas ainda não está sintonizando, fazendo isso manualmente ou por meio de abordagens ingênuas, como grade ou pesquisa aleatória. Em nossa opinião, uma das principais razões para isso é o fato de as bibliotecas existentes antes do desenvolvimento do Optunity serem muito difíceis de usar em termos de instalação, documentação, API e frequentemente limitadas a um único ambiente.
fonte
A resposta depende do problema e não pode ser dada sem contexto adicional. Normalmente, a resposta seria a seguinte. A otimização bayesiana é mais adequada para problemas de baixa dimensão com o orçamento computacional de até 10x-100x o número de variáveis. O PSO pode ser bastante eficiente para orçamentos muito maiores, mas não é o estado da arte em seu nicho.
fonte