Bayesian Optimization
Bayes optimizasyonu, sınırlı işlem gücüyle maliyetli makine öğrenimi iş yükleri için yüksek performanslı ayarları bulmak üzere geçmiş değerlendirmelerden ve olasılıksal modellerden yararlanır.
Bayes optimizasyonu, önceki değerlendirmelerden öğrenerek değerlendirme maliyeti yüksek bir fonksiyonun yüksek performanslı ayarlarını bulma yöntemidir. Girdilerin sonuçları nasıl etkilediğine dair olasılıksal bir model oluşturur ve bu modeli kullanarak sonraki deneyi seçer. Makine öğrenmesinde bu yöntem, sınırlı bir hesaplama bütçesi içinde güçlü eğitim yapılandırmaları bulmayı sağlar.
Temelleri arasında Harold Kushner'ın 1964 tarihli ardışık arama yöntemi ve Jonas Mockus'un 1975 tarihli Bayesçi ekstremum arama formülasyonu yer alır. Günümüzde bu yöntem, hiperparametre ayarlama ve otomatik makine öğrenmesinde temel bir tekniktir.
Bayes Optimizasyonu Nasıl Çalışır?#
Amaç fonksiyonu, aday bir yapılandırmanın kalitesini ölçer. Model eğitiminde değerlendirme, seçilen hiperparametrelerle eğitim yapmayı ve doğrulama verilerindeki performansı ölçmeyi içerir. Ayarlanabilir girdiler arasında öğrenme oranı, yığın boyutu ve düzenlileştirme gücü yer alır.
Vekil model, amaç fonksiyonunun hesaplama açısından daha ucuz bir yaklaşımıdır. Yaygın seçeneklerden biri Gauss sürecidir: olası fonksiyonlar üzerinde tanımlı, hem bir sonucu hem de bu sonuca ilişkin belirsizliği tahmin eden bir olasılık dağılımı. Bayes güncellemesi, önsel varsayımları gözlemlenen değerlendirmelerle birleştirerek sonsal dağılımı oluşturur. Edinim fonksiyonu, bu dağılımı kullanarak başka bir aday seçer; ölçülen sonuç, değerlendirme bütçesi tükenene kadar vekil modele geri beslenir.
Bu, makine öğrenmesine dayalı bir optimizasyon yaklaşımıdır: vekil model, yapılandırma-sonuç çiftlerinden öğrenir. Belirsizlik nicelemesi, hangi ek ölçümlerin değerli olacağını belirlemeye yardımcı olur.
Edinim Fonksiyonları ve Keşif#
Aday seçimi, iyi performans göstereceği tahmin edilen ayarları tercih eden sömürü ile belirsiz bölgeleri araştıran keşif arasında denge kurar. Yaygın edinim fonksiyonları bu dengeyi farklı biçimlerde ifade eder:
- Beklenen İyileşme (EI): Bir adayın referans sonuca kıyasla beklenen iyileşme miktarını puanlar.
- İyileşme Olasılığı (PI): Bir referans sonucu belirli bir farkla aşma olasılığını puanlar.
- Üst Güven Sınırı (UCB): Maksimizasyon için tahmin edilen ortalamayı bir belirsizlik bonusuyla birleştirerek belirsiz adaylara daha fazla öncelik verir.
Bu edinim stratejilerinin değerlendirme maliyeti, model eğitmeye veya fiziksel bir deney yürütmeye kıyasla düşüktür. Bu stratejilerin optimizasyonu, sıradaki maliyetli değerlendirmeyi yönlendirir.
Makine Öğrenmesi ve Bilgisayarlı Görü Uygulamaları#
Bayes optimizasyonu, özellikle tek tek değerlendirmelerin çok zaman aldığı ve arama uzayında etkili değişken sayısının yönetilebilir olduğu durumlarda kullanışlıdır. Yerleşik uygulamaları arasında mühendislik tasarımı, malzeme deneyleri ve pekiştirmeli öğrenme denetleyicilerinin ayarlanması yer alır.
Bilgisayarlı görüde, evrişimli sinir ağları için eğitim ayarlarını seçer. Jasper Snoek, Hugo Larochelle ve Ryan P. Adams, yapılandırılmış destek vektör makinelerini ve konu modellerini ayarlamanın yanı sıra, bu uygulamayı 2012 tarihli pratik Bayes optimizasyonu algoritmalarında gösterdi.
Ultralytics YOLO, Bayes aramasını Ray Tune entegrasyonu aracılığıyla sunar: use_ray=True ve search_alg="bayesopt" değerlerini ayarlamak, eğitim hiperparametreleri için Bayes optimizasyonunu seçer. YOLO26 nesne tespiti için arama, görevin varsayılan ortalama kesinlik metriğini en üst düzeye çıkarır.
İlgili Yöntemler ve Optuna#
Izgara araması, önceden tanımlanmış kombinasyon kümesini değerlendirirken rastgele arama, yapılandırmaları birbirinden bağımsız olarak örnekler. Bayes optimizasyonu, sonraki seçimlere yön vermek için önceki sonuçları kullanır. Gradyan inişi, türevleri kullanarak parametreleri günceller; Bayes optimizasyonu ise değerlendirmeler ve bir vekil model aracılığıyla maliyetli kara kutu amaç fonksiyonlarını ele alır.
Optuna'nın örnekleme algoritmaları arasında Gauss süreci Bayes optimizasyonu, rastgele örnekleme ve ağaç yapılı Parzen tahmincisi (TPE) bulunur. TPE, daha iyi ve daha kötü sonuçlarla ilişkili parametre dağılımlarını modeller, ardından bu yoğunluklar arasındaki oranı daha yüksek olan adayları tercih eder. Optuna optimizasyon çerçevesidir; seçilen örnekleyici ise arama stratejisini belirler.
Python Örneği#
pip install bayesian-optimization ile bayesian-optimization paketini yükle. Bu örnek, paketin başlangıç düzeyindeki optimizasyon örneğindeki amaç fonksiyonunu ve sınırlarını kullanır:
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}")Çıktı, iki rastgele değerlendirme ve edinim fonksiyonunun yönlendirdiği on beş değerlendirme sonrasında ölçülen en iyi amaç fonksiyonunu bildirir. Bu sınırlar içinde kesin maksimum, x=2, y=1 değerlerinde -3'tür.










