Bayesian Optimization Nedir?
Bayesian Optimization (Bayesci Eniyileme), her değerlendirmesi hesaplama açısından pahalı olan kara kutu (black-box) fonksiyonlarını minimum sayıda denemeyle optimize eden ileri bir arama stratejisidir. Gradient bilgisi gerekmez; fonksiyonun formülü de bilinmek zorunda değildir. Bunun yerine yöntem, geçmiş değerlendirmelerden edinilen bilgiyi kullanarak bir sonraki en umut verici deneme noktasını akıllıca seçer. Klasik Grid Search tüm olası kombinasyonları sistematik olarak dener, Random Search ise rastgele örnekler alır. Her iki yöntem de geçmiş sonuçları görmezden gelir. Bayesian Optimization ise her değerlendirmeden 'öğrenerek' bir sonraki adımı belirler; bu sayede tipik olarak Random Search'e göre 5-10 kat daha az değerlendirmeyle benzer veya daha iyi sonuçlara ulaşır.
Çalışma Prensibi
Bayesian Optimization döngüsel bir süreç izler: **1. Başlangıç örnekleme:** Birkaç nokta rastgele veya Latin Hypercube Sampling gibi düzenli bir yöntemle seçilir ve gerçek fonksiyon değerlendirilir. **2. Vekil model eğitimi:** Mevcut gözlemler bir Gaussian Process (GP) gibi probabilistik bir modele fit edilir. GP, her noktada hem bir tahmin ortalaması hem de tahminin ne kadar belirsiz olduğunu gösteren bir varyans değeri üretir. **3. Kazanım fonksiyonu optimizasyonu:** Expected Improvement (EI), UCB veya PI gibi kazanım fonksiyonu, vekil modelden hesaplanır. Bu fonksiyon 'keşif' (belirsiz bölgeleri araştırma) ile 'sömürü' (iyi bilinen bölgelerde iyileştirme arama) arasındaki dengeyi yönetir. Kazanım fonksiyonunun maksimum olduğu nokta bir sonraki aday olarak seçilir. **4. Gerçek değerlendirme:** Aday nokta gerçek fonksiyonda değerlendirilir (örneğin bir derin öğrenme modeli eğitilir). **5. Model güncelleme:** Yeni gözlem vekil modele eklenir ve döngü 2–4 adımlarıyla devam eder. Her iterasyonda model daha isabetli hale gelir.
Temel Bileşenler
- check_circle Gaussian Process (GP) Vekil Modeli: Fonksiyonlar üzerinde olasılık dağılımı tanımlayan probabilistik model. Her noktada hem tahmin değeri hem de belirsizlik (varyans) üretir. Kernel fonksiyonu (RBF, Matérn gibi) GP'nin fonksiyon uzayındaki önsel varsayımlarını encode eder.
- check_circle Expected Improvement (EI) Kazanım Fonksiyonu: En yaygın kullanılan kazanım fonksiyonu. Mevcut en iyi değeri f* olarak alır ve her aday noktanın bu değeri ne kadar iyileştireceğinin beklentisini hesaplar. EI(x) = E[max(f(x) - f*, 0)]. Hem ortalamayı hem belirsizliği dengeli biçimde kullanır.
- check_circle Upper Confidence Bound (UCB): UCB(x) = μ(x) + β·σ(x). β parametresi keşif/sömürü dengesini kontrol eder. Büyük β daha fazla keşfi teşvik eder. Bant genişliği teorisi ile regret sınırları analitik olarak türetilebilir.
- check_circle Tree-structured Parzen Estimator (TPE): Hyperopt kütüphanesinde kullanılan GP alternatifi. İyi sonuç veren ve kötü sonuç veren gözlemleri ayrı yoğunluk tahminleriyle modeller: l(x) ve g(x). EI ≈ l(x)/g(x) oranını maksimize eder. Koşullu ve kategorik hiperparametre uzaylarında GP'den daha verimlidir.
- check_circle SMAC (Sequential Model-Based Algorithm Configuration): Random Forest tabanlı vekil model kullanan BO çerçevesi. O(n log n) eğitim karmaşıklığıyla GP'nin O(n³)'üne kıyasla büyük veri setlerinde çok daha hızlıdır. Karmaşık koşullu hiperparametre uzaylarını (örneğin AutoML pipeline seçimi) doğal olarak destekler.
Kullanım Alanları
- check_circle Hiperparametre Optimizasyonu (HPO): En yaygın uygulama alanıdır. Öğrenme oranı, batch boyutu, dropout oranı, ağaç derinliği gibi ML/DL hiperparametrelerini optimize eder. Tek bir derin öğrenme model eğitiminin saatler sürebildiği durumlarda Grid Search yerine tercih edilir.
- check_circle AutoML Çerçeveleri: Auto-sklearn, TPOT, H2O AutoML ve Google Cloud AutoML gibi sistemler Bayesian Optimization'ı algoritma seçimi ve hiperparametre ayarı için motor olarak kullanır. Bu sayede veri bilimciler olmadan bile makul modeller üretilebilir.
- check_circle Neural Architecture Search (NAS): Sinir ağı mimarisini (katman sayısı, bağlantı topolojisi, aktivasyon fonksiyonu) otomatik keşfetmek için kullanılır. BANANAS (Bayesian Optimization with Neural Architectures for NAS) bu alanda önemli bir çalışmadır.
- check_circle Bilimsel ve Endüstriyel Optimizasyon: İlaç keşfi (moleküler özellik tahmini), malzeme bilimi (yeni alaşım tasarımı), robotik kontrolcü ayarı ve A/B testi tasarımı gibi gerçek dünya deneyleri pahalı olan her alanda kullanılabilir.
Avantajlar ve Sınırlılıklar
**Avantajlar:** - Geçmiş değerlendirmelerden öğrenerek daha az denemeyle iyi sonuçlara ulaşır. - Belirsizlik tahmini sayesinde hangi bölgeleri araştıracağını bilir. - Koşullu ve hiyerarşik hiperparametre uzaylarını destekleyen varyantları mevcuttur. - Paralel değerlendirme için q-EI ve asenkron BO varyantları geliştirilmiştir. **Sınırlılıklar:** - GP tabanlı BO yüksek boyutlarda (>20 boyut) hesaplama açısından zorlanır. - Doğası gereği sıralıdır; agresif paralelleştirme zor ve karmaşıktır. - Başlangıçta güvenilir bir posterior oluşturmak için yeterli sayıda başlangıç gözlemi gerektirir. - Vekil model gerçek fonksiyonu yanlış temsil ederse optimizasyon yanlış yönlere gidebilir.