Bayesian Optimization
A otimização bayesiana usa avaliações anteriores e modelos probabilísticos para encontrar configurações de alto desempenho para cargas de trabalho de ML dispendiosas, com recursos computacionais limitados.
A otimização bayesiana é um método para encontrar configurações de alto desempenho de uma função cara de avaliar, aprendendo com avaliações anteriores. Ela constrói um modelo probabilístico de como as entradas afetam os resultados e, em seguida, usa esse modelo para escolher o próximo experimento. Em aprendizado de máquina, isso a torna útil para encontrar configurações de treinamento eficazes dentro de um orçamento computacional limitado.
Seus fundamentos incluem o método de busca sequencial de Harold Kushner, de 1964, e a formulação bayesiana de busca de extremos de 1975 de Jonas Mockus. Hoje, é uma técnica central no ajuste de hiperparâmetros e no aprendizado de máquina automatizado.
Como funciona a otimização bayesiana#
A função objetivo mede a qualidade de uma configuração candidata. No treinamento de modelos, uma avaliação envolve treinar com hiperparâmetros selecionados e medir o desempenho em dados de validação. As entradas ajustáveis incluem taxa de aprendizado, tamanho do lote e intensidade da regularização.
Um modelo substituto é uma aproximação da função objetivo que exige menos recursos computacionais. Uma escolha comum é um processo gaussiano: uma distribuição de probabilidade sobre funções possíveis que prevê tanto um resultado quanto sua incerteza. A atualização bayesiana combina suposições prévias com avaliações observadas para produzir uma distribuição a posteriori. Uma função de aquisição usa essa distribuição para selecionar outra candidata; o resultado medido é então realimentado no modelo substituto até que o orçamento de avaliação se esgote.
Esta é uma abordagem de otimização baseada em aprendizado de máquina: o modelo substituto aprende com pares de configuração e resultado. Sua quantificação de incerteza ajuda a determinar quais medições adicionais são valiosas.
Funções de aquisição e exploração#
A seleção de candidatas equilibra aproveitamento, que favorece configurações com previsão de bom desempenho, com exploração, que investiga regiões incertas. As funções de aquisição comuns expressam esse equilíbrio de maneiras diferentes:
- Melhoria esperada (EI): avalia o ganho esperado de uma candidata em relação a um resultado de referência.
- Probabilidade de melhoria (PI): avalia a probabilidade de superar um resultado de referência por uma margem especificada.
- Limite superior de confiança (UCB): para maximização, combina a média prevista com um bônus de incerteza, dando prioridade adicional a candidatas incertas.
Estas estratégias de aquisição são baratas de avaliar em comparação com treinar um modelo ou executar um experimento físico. A otimização delas direciona a próxima avaliação dispendiosa.
Aplicações em aprendizado de máquina e visão computacional#
A otimização bayesiana é especialmente útil quando cada avaliação consome muito tempo e a busca contém um número gerenciável de variáveis influentes. Aplicações consolidadas incluem projeto de engenharia, experimentos com materiais e ajuste de controladores de aprendizado por reforço.
Em visão computacional, ela seleciona configurações de treinamento para redes neurais convolucionais. Jasper Snoek, Hugo Larochelle e Ryan P. Adams demonstraram essa aplicação em seu algoritmo prático de otimização bayesiana de 2012, além de ajustar máquinas de vetores de suporte estruturadas e modelos de tópicos.
O Ultralytics YOLO disponibiliza a busca bayesiana por meio da integração com Ray Tune: definir use_ray=True e search_alg="bayesopt" seleciona a otimização bayesiana para os hiperparâmetros de treinamento. Para detecção de objetos com YOLO26, a busca maximiza a métrica padrão de precisão média da tarefa.
Métodos relacionados e Optuna#
A busca em grade avalia um conjunto predefinido de combinações, enquanto a busca aleatória amostra configurações de forma independente. A otimização bayesiana usa resultados anteriores para orientar as escolhas subsequentes. A descida do gradiente atualiza parâmetros usando derivadas; a otimização bayesiana lida com funções objetivo dispendiosas e de caixa-preta por meio de avaliações e de um modelo substituto.
Os algoritmos de amostragem do Optuna incluem otimização bayesiana com processos gaussianos, amostragem aleatória e o estimador de Parzen estruturado em árvore (TPE). O TPE modela distribuições de parâmetros associadas a resultados melhores e piores e, em seguida, favorece candidatas com uma proporção maior entre essas densidades. Optuna é a estrutura de otimização; o amostrador selecionado determina sua estratégia de busca.
Um exemplo em Python#
Instale bayesian-optimization com pip install bayesian-optimization. O exemplo usa a função objetivo e os limites do exemplo introdutório de otimização do pacote:
from bayes_opt import BayesianOptimization
def objective(x, y):
"""Return the objective value to maximize."""
return -(x**2) - (y - 1) ** 2 + 1
optimizer = BayesianOptimization(
f=objective,
pbounds={"x": (2, 4), "y": (-3, 3)},
random_state=1,
verbose=0,
)
optimizer.maximize(init_points=2, n_iter=15)
best = optimizer.max
print(f"Best objective: {best['target']:.4f}")A saída informa o melhor valor medido da função objetivo após duas avaliações aleatórias e quinze avaliações guiadas pela função de aquisição. Dentro desses limites, o máximo exato é -3 em x=2, y=1.










