Model hiperparametre optimizasyonu (hyperparameter tuning) adım adım
Hiperparametre optimizasyonunda arama uzayı tasarımı, grid search, random search ve Bayesian yöntemleri; doğru doğrulama kurgusu ve sık yapılan hatalar.
Hiperparametre nedir, parametreden farkı ne?
Parametreler modelin eğitim sırasında veriden öğrendiği değerlerdir: bir doğrusal modelin katsayıları ya da bir sinir ağının ağırlıkları gibi. Hiperparametreler ise eğitim başlamadan önce sizin seçtiğiniz ayarlardır: öğrenme hızı, ağaç derinliği, düzenlileştirme gücü, katman sayısı, grup büyüklüğü.
Bu ayarlar modelin ne kadar esnek olacağını ve eğitimin nasıl ilerleyeceğini belirler. Yanlış seçim modeli ya veriyi ezberleyen (aşırı öğrenme) ya da örüntüyü yakalayamayan (yetersiz öğrenme) bir hale getirir. Hiperparametre optimizasyonu, bu ayarları deneme yanılmayla değil, ölçülebilir bir arama süreciyle seçmektir.
Süreç nasıl kurulur?
Düzenli bir süreç dört parçadan oluşur:
- Hedef metrik: modelin iş açısından neyi iyi yapması gerektiğini belirleyin. Dengesiz sınıflarda doğruluk yanıltıcı olabilir; iş maliyetine uygun bir metrik seçin.
- Doğrulama kurgusu: ayarları test verisi üzerinde değil, ayrı bir doğrulama kümesinde ya da çapraz doğrulamayla değerlendirin. Test verisi en sonda bir kez kullanılmalıdır.
- Arama uzayı: hangi hiperparametrenin hangi aralıkta ya da hangi değerler arasında denenebileceğini tanımlayın.
- Deneme bütçesi: kaç deneme yapacağınızı ve her denemenin ne kadar süreceğini baştan sınırlayın.
Bu çerçeve olmadan yapılan ayar, doğrulama verisine fazla uyum sağlayıp gerçek performansı olduğundan iyi gösterebilir.
Pratikte iş sırası şöyle olur: önce varsayılan ayarlarla bir temel model eğitilir ve sonuç kaydedilir. Bu temel, ayar sürecinin gerçekten fark yaratıp yaratmadığını gösterir. Ardından en etkili görünen az sayıda hiperparametre seçilir, arama uzayı yazılır ve deneme bütçesi belirlenir.
Arama uzayı nasıl tasarlanır?
Arama uzayı çok geniş olursa deneme bütçesi boşa gider; çok dar olursa iyi çözüm dışarıda kalır. Genel yaklaşım, önce geniş ve kaba bir tarama yapıp umut verilen bölgeye sonra daha ince bir tarama yapmaktır.
Bazı hiperparametreler düz ölçekte değil, logaritmik ölçekte aranmalıdır. Öğrenme hızı ve düzenlileştirme katsayısı gibi değerlerin etkisi büyüklük mertebesine göre değişir; bunları doğrusal aralıkta denemek aralığın büyük kısmını gereksiz yere harcar.
Bir de hangi hiperparametrelerin birbirine bağlı olduğunu bilmek gerekir. Öğrenme hızı ile iterasyon sayısı sık sık birlikte düşünülür. İlişkili ayarları ayrı ayrı değil birlikte aramak daha sağlıklıdır.
Grid search, random search ve Bayesian optimizasyon
Grid search, tanımladığınız değerlerin tüm kombinasyonlarını dener. Az sayıda hiperparametre ve küçük bir uzay için anlaşılırdır, ama boyut arttıkça deneme sayısı hızla büyür.
Random search, uzaydan rastgele noktalar seçer. Her hiperparametrenin etkisi eşit olmadığında, ızgaranın aynı birkaç değeri tekrar tekrar denemesinden daha fazla farklı değer görerek sıklıkla daha verimli çalışır.
Bayesian optimizasyon, önceki denemelerin sonuçlarından bir vekil model kurar ve bir sonraki denemeyi umut verici bölgeye yönlendirir. Her deneme pahalıysa, örneğin büyük bir sinir ağı eğitimi söz konusuysa, deneme sayısını azaltmak için tercih edilir.
Hiperband ve benzeri yöntemler ise kötü giden denemeleri erken keserek bütçeyi umut verenlere ayırır.
Bir seçim ölçütü olarak şunlara bakın: deneme maliyeti düşükse ve uzay küçükse grid search, uzay büyükse random search, her deneme pahalıysa Bayesian yaklaşımlar ya da erken kesme yöntemleri daha uygundur. Hangi yöntem seçilirse seçilsin, sonuçlar aynı doğrulama kurgusuyla karşılaştırılmalıdır.
Somut bir örnek
Örneğin müşteri kaybını tahmin eden bir ağaç tabanlı model kuruyorsunuz. İlk eğitimde eğitim verisinde çok yüksek, doğrulama verisinde belirgin düşük performans görüyorsanız model aşırı öğreniyor demektir.
Ağaç derinliğini sınırlamak, yaprak başına en az örnek şartı koymak ve düzenlileştirmeyi artırmak bu farkı kapatabilir. Bu üç ayarı arama uzayına koyup çapraz doğrulamayla rastgele aramayı çalıştırırsınız. Sonuçlara bakıp umut veren bölgeyi daraltır, ikinci bir aramayla ince ayar yaparsınız.
Son adımda seçilen ayarla modeli tüm eğitim verisinde yeniden eğitir ve ayrılmış test verisinde bir kez değerlendirirsiniz. Bu sonuç, modelin gerçek hayattaki beklenen performansına en yakın tahmindir.
Sık yapılan hatalar
- Test verisini ayar sürecine dahil etmek: sonuç iyimser çıkar ve canlıda hayal kırıklığı yaratır.
- Veri sızıntısı: ölçekleme ya da özellik seçimini çapraz doğrulama dışında yapmak doğrulama sonucunu şişirir.
- Her şeyi aynı anda aramak: önce etkisi büyük ayarlara odaklanın.
- Tohum değerini sabitlememek: sonuçlar tekrarlanamaz hale gelir.
- Küçük iyileşmeyi gürültüden ayırmamak: farklar rastlantısal olabilir; çapraz doğrulamadaki yayılımı da inceleyin.
- Deneyleri kaydetmemek: hangi ayarın hangi sonucu verdiğini izleyemezseniz sürecin hiçbir kazancı tekrar edilemez.
Sonuçları okurken yalnızca birinci sıradaki denemeye değil, yüksek skorlu denemelerin ortak özelliklerine bakın. Ayarlar belirli bir bölgede kümeleniyorsa o bölge güvenilirdir; sonuçlar dağınık ve birbirinden çok farklıysa metrik gürültülü ya da arama uzayı yanlış kurulmuş olabilir.
Üretimde ve otomatik araçlarla
AutoML araçları model seçimi ve hiperparametre aramasını otomatikleştirir. Zaman kazandırırlar, ama arama uzayını, metriği ve doğrulama kurgusunu belirleyen yine sizsiniz; bu kararlar yanlışsa otomasyon yanlışı hızlandırır.
Üretim ortamında hiperparametreler de yönetilmesi gereken bir varlıktır. Seçilen ayarları, bunları üreten deney kaydını ve veri sürümünü birlikte saklamak gerekir. Veri dağılımı zamanla değiştiğinde ayarları yeniden değerlendirmek de sürecin parçasıdır.
Mindset programlarında nerede çalışırsınız?
Mindset kataloğundaki Hyperparameter Tuning eğitiminin modül başlıkları şunlardır: Hiperparametre Kavramı ve Arama Uzayı Tasarımı, Grid Search ve Random Search, Bayesian Optimizasyon, Hiperband ve İleri Yöntemler, AutoML ve Otomatik Pipeline Optimizasyonu, Üretim Ortamında Hiperparametre Yönetimi.
İlgili Mindset programı
Hyperparameter Tuning
Sık sorulan sorular
Grid search mi random search mi kullanmalıyım?
Az hiperparametre ve küçük bir uzay varsa grid search yeterlidir. Boyut arttıkça random search aynı bütçeyle uzayı daha geniş tarar ve çoğu zaman daha verimlidir. Deneme maliyeti yüksekse Bayesian yaklaşımları da düşünebilirsiniz.
Hiperparametre optimizasyonu aşırı öğrenmeyi çözer mi?
Tek başına çözmez. Düzenlileştirme ve ağaç derinliği gibi ayarlar aşırı öğrenmeyi azaltabilir, ama yetersiz veri ya da veri sızıntısı gibi kökenler ayrıca ele alınmalıdır. Doğrulama kurgusu yanlışsa ayar süreci aşırı öğrenmeyi gizleyebilir.
Hangi hiperparametreleri önce ayarlamalıyım?
Modelin esnekliğini en çok etkileyenlerle başlayın: öğrenme hızı, ağaç derinliği, düzenlileştirme gücü, katman ve nöron sayısı gibi. Etkisi küçük ayarları sonraya bırakmak hem deneme bütçesini korur hem de sonuçları yorumlamayı kolaylaştırır.
Çapraz doğrulama zorunlu mu?
Veri azsa evet, çünkü tek bir doğrulama kümesi tesadüfe fazla açıktır. Veri çoksa ayrı bir doğrulama kümesi de yeterli olabilir. Her iki durumda da test verisi ayar sürecinden tamamen ayrı tutulmalı ve yalnızca son değerlendirmede kullanılmalıdır.
AutoML kullanınca hiperparametre bilgisi gereksiz mi olur?
Hayır. Araç aramayı yapar, ama metriği, doğrulama kurgusunu ve arama uzayını siz belirlersiniz. Çıktıyı yorumlamak, gereksiz karmaşıklığı fark etmek ve yanlış kurulmuş bir aramayı yakalamak için kavramları bilmek gerekir. Örneğin veri sızıntısı olan bir kurguda otomatik araç da yanıltıcı yüksek skor üretir; bunu ancak kavramı bilen biri fark eder.