Optuna ile Bayesçi Optimizasyon
optuna.create_study(), suggest_float/int/categorical, budama ve görselleştirme.
Optuna ile Bayesçi Optimizasyon, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.
Rastgele Aramadan Daha Akıllı
Izgara ve rastgele arama geçmiş sonuçları yok sayar. Bayesçi optimizasyon, önceki denemelerden öğrenerek sonraki adımda daha umut verici hiperparametreler önerir ve iyi değerleri daha az değerlendirmeyle bulur.
Optuna Ne Yapar
Optuna, hiperparametre optimizasyonu için popüler bir çerçevedir. Bir amaç işlevi tanımlarsınız; Optuna hiperparametreleri akıllıca örnekler ve neyin işe yaradığını hatırlar.
Çalışma Oluşturma
Bir çalışma optimizasyonu yönetir. Doğruluk/AUC için direction değerini "maximize", kayıp/hata için "minimize" olarak ayarlayın.
import optuna
study = optuna.create_study(direction="maximize")Amaç İşlevi
Amaç işlevi bir trial nesnesi alır, hiperparametreler önerir, bir model eğitir ve optimize edilecek puanı döndürür.
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import cross_val_score
def objective(trial):
n = trial.suggest_int("n_estimators", 100, 500)
d = trial.suggest_int("max_depth", 3, 20)
clf = RandomForestClassifier(n_estimators=n, max_depth=d)
return cross_val_score(clf, X, y, cv=3).mean()Tamsayı Parametreleri Önerme
trial.suggest_int(name, low, high), bir aralıktaki tamsayıyı seçer. Örneklemeyi denetlemek için step veya log=True ekleyin.
def objective(trial):
n_estimators = trial.suggest_int("n_estimators", 100, 1000, step=50)
return train_and_score(n_estimators)Ondalık Parametreleri Önerme
trial.suggest_float(name, low, high), bir gerçek sayı seçer. Öğrenme oranı gibi büyüklük mertebeleri boyunca değişen parametreler için log=True kullanın.
def objective(trial):
lr = trial.suggest_float("learning_rate", 1e-4, 0.3, log=True)
subsample = trial.suggest_float("subsample", 0.5, 1.0)
return train_and_score(lr, subsample)Kategorik Parametreleri Önerme
trial.suggest_categorical(name, choices), sabit bir listeden seçim yapar; çekirdek türü veya artırma yöntemi gibi seçenekler için idealdir.
def objective(trial):
kernel = trial.suggest_categorical("kernel", ["linear", "rbf", "poly"])
return train_svm(kernel)Optimizasyonu Çalıştırma
study.optimize(objective, n_trials=N), aramayı N deneme boyunca çalıştırır. Daha fazla deneme arama alanının daha geniş bir bölümünü tarar; Optuna zamanla umut verici bölgelere odaklanır.
study.optimize(objective, n_trials=100)En İyi Sonucu Okuma
Optimizasyondan sonra study.best_params en iyi hiperparametreleri, study.best_value ise en iyi amaç puanını verir.
print("Best params:", study.best_params)
print("Best value:", study.best_value)
best = RandomForestClassifier(**study.best_params)
best.fit(X, y)Umut Vermeyen Denemeleri Budama
Optuna, budayıcılarla kötü denemeleri erken durdurabilir ve işlem gücünden tasarruf sağlayabilir. Ara değerleri bildirin ve eğitim döngülerinin içinde trial.should_prune() değerini kontrol edin.
import optuna
study = optuna.create_study(
direction="maximize",
pruner=optuna.pruners.MedianPruner(),
)Optuna Neden Ölçeklenebilir
Optuna paralel denemeleri, kalıcı depolamayı ve aramanın görselleştirilmesini destekler. Pahalı modeller için örneklem açısından verimli Bayesçi yaklaşımı, ızgara veya rastgele aramadan çok daha az denemeyle güçlü yapılandırmalar bulur.
Kısa Sınama
Optuna bilginizi sınayın.
Özet
Özet: Optuna, hiperparametreleri verimli biçimde ayarlamak için Bayesçi optimizasyon kullanır. Bir direction ile çalışma oluşturun, trial.suggest_int/float/categorical kullanan bir amaç işlevi yazın, study.optimize(objective, n_trials=N) çalıştırın ve ardından study.best_params ile study.best_value değerlerini okuyun. Budayıcılar, işlem gücünden tasarruf etmek için zayıf denemeleri durdurur.
Sıkça Sorulan Sorular
“Optuna ile Bayesçi Optimizasyon” dersi ücretsiz mi?
Evet — “Optuna ile Bayesçi Optimizasyon” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.
“Optuna ile Bayesçi Optimizasyon” dersinde ne öğreneceğim?
optuna.create_study(), suggest_float/int/categorical, budama ve görselleştirme. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Optuna ile Bayesçi Optimizasyon” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Çapraz Doğrulama Stratejileri
- Sınıflandırma Ölçütlerine Derinlemesine Bakış
- Izgara Araması ve Rastgele Arama
- Optuna ile Bayesçi Optimizasyon