Hiperparametre mi, Parametre mi? Model Ne Öğrenir, Siz Neyi Seçersiniz
Modelin veriden öğrendiği parametreler ile eğitimden önce seçtiğiniz hiperparametreler arasındaki farkı örnekler, kod ve ayar yöntemleriyle öğrenin.
Tek cümlelik ayrım
Parametre, modelin eğitim sırasında veriden kendisinin öğrendiği değerdir; doğrusal bir modelin ağırlıkları ve sapma (bias) terimi, bir sinir ağındaki bağlantı ağırlıkları bu türdendir. Hiperparametre ise eğitim başlamadan önce sizin (ya da otomatik bir ayar servisinin) belirlediği, öğrenme sürecinin nasıl işleyeceğini yöneten ayardır: öğrenme oranı, ağaç derinliği, düzenlileştirme (regularization) gücü, komşu sayısı gibi. Google'ın makine öğrenmesi sözlüğü de aynı ayrımı yapar: parametreler modelin eğitimde öğrendiği ağırlık ve sapmalardır, hiperparametreler ise modele sizin sağladığınız değerlerdir.
Bu nedenle soru aslında "hangisini tercih etmeli" değil, "hangisine nasıl dokunulur" sorusudur. Parametreleri elle yazmazsınız; optimizasyon algoritması onları bulur. Hiperparametreleri ise siz seçer, denemelerle iyileştirirsiniz.
Ölçüt ölçüt hiperparametre ve parametre
İki kavramı ayıran ölçütler:
- Kim belirler: Hiperparametre / veri bilimci ya da ayar servisi. Parametre / eğitim algoritması.
- Ne zaman belirlenir: Hiperparametre / eğitimden önce, her deneme için sabit. Parametre / eğitim boyunca adım adım güncellenir.
- Nasıl bulunur: Hiperparametre / ızgara araması (grid search), rastgele arama, Bayesçi optimizasyon gibi dış döngü yöntemleriyle. Parametre / gradyan inişi gibi bir optimizasyon yöntemiyle kayıp fonksiyonunu küçülterek.
- Neye göre değerlendirilir: Hiperparametre / doğrulama kümesi ya da çapraz doğrulama skoruna göre. Parametre / eğitim verisindeki kayba göre.
- Nerede durur: Hiperparametre / deney yapılandırmasında, kodda ya da deney takip aracında. Parametre / kaydedilen model dosyasının içinde.
- Kaç tane: Hiperparametre / genellikle birkaç ile birkaç düzine arası. Parametre / basit modellerde az, derin ağlarda ve büyük dil modellerinde çok yüksek sayıda.
Modellere göre somut örnekler
Aynı ayrım her model ailesinde farklı adlarla karşınıza çıkar:
- Doğrusal ve lojistik regresyon: Parametreler her özelliğin ağırlığı ve sapma terimidir. Düzenlileştirme gücü ve düzenlileştirme türü hiperparametredir.
- Karar ağacı: Hangi özellikten hangi eşikte bölüneceği eğitimde öğrenilir. En büyük derinlik, bir yaprakta bulunması gereken en az örnek sayısı ve bölme ölçütü hiperparametredir.
- Gradyan artırma (gradient boosting): Her ağacın yapısı ve yaprak değerleri öğrenilir; ağaç sayısı, öğrenme oranı ve ağaç derinliği hiperparametredir.
- Sinir ağı: Ağırlıklar ve sapmalar parametredir; katman sayısı, nöron sayısı, öğrenme oranı, yığın (batch) boyutu, epoch sayısı ve dropout oranı hiperparametredir.
- k en yakın komşu: Öğrenilen ağırlık yoktur, model eğitim verisini saklar. Komşu sayısı ve uzaklık ölçüsü hiperparametredir.
Son örnek önemlidir: her modelin öğrenilen parametresi olmak zorunda değildir, ama her modelin bir şekilde seçilmesi gereken ayarları vardır.
Kodda ayrım nasıl görünür: scikit-learn örneği
scikit-learn belgeleri hiperparametreleri, tahmin edicilerin doğrudan öğrenmediği ve sınıfın kurucusuna argüman olarak verilen değerler olarak tanımlar. Örneğin destek vektör sınıflandırıcısında C, kernel ve gamma; Lasso'da alpha hiperparametredir. Modeli tanımlarken yazdığınız Ridge(alpha=...) ifadesindeki alpha bir hiperparametredir. fit çağrısından sonra oluşan coef_ ve intercept_ gibi alt çizgiyle biten nitelikler ise modelin öğrendiği parametrelerdir.
Burada bir adlandırma tuzağı vardır: scikit-learn'deki get_params() metodu öğrenilmiş ağırlıkları değil, kurucuya verilen hiperparametreleri döndürür ve kütüphane bunları kendi içinde "parameter" diye anar. GridSearchCV'ye verilen "parametre ızgarası" da aslında bir hiperparametre ızgarasıdır. Kod okurken "params" sözcüğünü gördüğünüzde bağlama bakmak gerekir.
Hangisine ne zaman müdahale edilir?
Model beklenen başarıyı vermediğinde düzeltme hiperparametreler, veri ve özellikler üzerinden yapılır; parametreler doğrudan elle değiştirilmez. Tipik belirtiler ve müdahaleler:
- Eğitimde iyi, doğrulamada kötü sonuç (aşırı öğrenme): düzenlileştirmeyi artırmak, ağaç derinliğini azaltmak, dropout eklemek, erken durdurma kullanmak.
- Hem eğitimde hem doğrulamada zayıf sonuç (yetersiz öğrenme): model kapasitesini artırmak, düzenlileştirmeyi azaltmak, daha uzun eğitmek.
- Kayıp eğrisi dalgalanıyor ya da ıraksıyor: öğrenme oranını düşürmek, yığın boyutunu değiştirmek.
Parametrelere doğrudan dokunulan tek yaygın durum aktarım öğrenmesidir (transfer learning): önceden eğitilmiş bir modelin ağırlıkları başlangıç noktası olarak alınır, bazı katmanlar dondurulur, diğerleri yeni veriyle ince ayar yapılır. Bu durumda bile hangi katmanın dondurulacağı ve ince ayar öğrenme oranı yine hiperparametre kararıdır.
Hiperparametre seçerken izlenecek yol
Güvenilir bir hiperparametre araması şu sırayla kurulur:
- Veriyi eğitim, doğrulama ve test kümelerine ayırın; test kümesini aramanın hiçbir aşamasında kullanmayın.
- Önce makul varsayılanlarla bir temel model eğitip skorunu kaydedin.
- Etkisi büyük olan birkaç hiperparametreyi seçin (örneğin öğrenme oranı ve model karmaşıklığını belirleyen ayarlar).
- Arama uzayını tanımlayın; öğrenme oranı gibi değerleri logaritmik ölçekte tarayın.
- Bütçe darsa ızgara yerine rastgele arama ya da Bayesçi optimizasyon kullanın.
- Her denemeyi hiperparametreleri, veri sürümü ve skoruyla birlikte kaydedin.
- Seçilen yapılandırmayla modeli yeniden eğitip test kümesinde yalnızca bir kez ölçün.
Büyük dil modellerinde sık görülen bir karışıklığa da dikkat: modelin "parametre sayısı" öğrenilmiş ağırlıkları anlatır. Yanıt üretirken ayarlanan sıcaklık (temperature) gibi değerler ise eğitimle öğrenilmez; çıkarım sırasında verilen ayarlardır ve modelin parametresi değildir.
Sık yapılan hatalar
Hiperparametreyi test kümesine bakarak seçmek en yaygın hatadır. Test skoru bir kez arama kararına girdiğinde artık modelin yeni veri üzerindeki başarısını tarafsız ölçmez; sonuç iyimser çıkar.
Diğer hatalar: • Ön işleme adımlarını (ölçekleme, eksik değer doldurma) çapraz doğrulama döngüsünün dışında tüm veriye uygulamak; bu, doğrulama katmanından bilgi sızdırır. Ön işlemeyi bir pipeline içine koymak bu riski kaldırır. • Tek bir rastgele bölme ile elde edilen küçük skor farkını gerçek iyileşme sanmak. • Hiperparametre kaydı tutmamak; aylar sonra hangi ayarla hangi modelin üretildiği bilinmez. • "Daha çok hiperparametre aramak daha iyi" varsayımı: veri kalitesi ve özellik mühendisliği sorunları ayarla çözülmez.
Mindset programlarında hiperparametre ayarı
Hyperparameter Tuning eğitimi, modelleri üretime taşıyan veri bilimci ve makine öğrenmesi mühendislerine yöneliktir; hiperparametre kavramı ve arama uzayı tasarımından başlayıp grid search ve random search, Bayesçi optimizasyon, Hiperband ile AutoML konularına ve üretim ortamında hiperparametre yönetimine uzanır. Deney sayısı arttıkça ayar sürecini sistemli hale getirmek isteyen ekipler için uygundur.
Makine öğrenmesine daha geniş bir temelden giren analist ve yazılım ekipleri için Makine Öğrenmesi (Uygulamalı) Programı, regresyon, sınıflandırma ve topluluk yöntemlerinin yanında model doğrulama ve hiperparametre optimizasyonunu ayrı bir modülde ele alır; parametre ile hiperparametre ayrımını gerçek modeller üzerinde görmeyi sağlar.
İlgili Mindset programı
Hyperparameter Tuning
Sık sorulan sorular
Öğrenme oranı parametre mi, hiperparametre mi?
Öğrenme oranı hiperparametredir. Eğitimden önce siz belirlersiniz ve optimizasyon algoritmasının ağırlıkları her adımda ne kadar değiştireceğini yönetir. Öğrenme oranı programı (learning rate schedule) kullanıldığında değer eğitim sırasında değişir, ama bu değişimin kuralı da önceden seçilen bir hiperparametredir; veriden öğrenilmez.
Hiperparametreler de modelle birlikte kaydedilir mi?
Model dosyası öğrenilmiş parametreleri saklar; bazı kütüphaneler model nesnesiyle birlikte kurucu argümanlarını da kaydeder. Yine de yeniden üretilebilirlik için hiperparametreleri, veri sürümünü ve değerlendirme skorunu deney takip aracına ya da yapılandırma dosyasına ayrıca yazmak iyi uygulamadır.
Hiperparametre ayarı otomatik yapılabilir mi?
Evet. Izgara araması, rastgele arama, Bayesçi optimizasyon ve Hiperband gibi yöntemler hiperparametre denemelerini otomatik yürütür; AutoML araçları model seçimini de bu sürece ekler. Arama uzayını, değerlendirme ölçütünü ve hesaplama bütçesini belirlemek yine insanın işidir.
Modelin parametre sayısı arttıkça başarı da artar mı?
Kendiliğinden artmaz. Parametre sayısı modelin kapasitesini gösterir; yeterli ve temiz veri, uygun düzenlileştirme ve doğru hiperparametreler olmadan büyük model aşırı öğrenmeye daha yatkın olur. Küçük ve yapılandırılmış veri kümelerinde daha az parametreli modeller daha kararlı sonuç verebilir.
İlgili rehberler
İlgili eğitimler
Kategori: Yapay Zeka ve Dijital Dönüşüm