Çapraz Doğrulama: Modelin Gerçek Başarısı Nasıl Ölçülür?
Çapraz doğrulamanın ne olduğunu, k-fold yönteminin nasıl uygulandığını ve zaman serisinde neden farklı yapıldığını örnekle öğrenin.
Çapraz doğrulama nedir?
Çapraz doğrulama (cross-validation), bir modelin daha önce görmediği veride ne kadar iyi çalışacağını tahmin etmek için kullanılan yeniden örnekleme yöntemidir. Veri tek seferde eğitim ve test diye ikiye bölünmez; birkaç parçaya ayrılır ve model her seferinde farklı bir parça kenarda tutularak yeniden eğitilir. Elde edilen başarı değerlerinin ortalaması, modelin genel performansına dair tek bir ayrımdan çok daha güvenilir bir fikir verir.
Yöntemin çıkış noktası bir sorundur: tek bir test kümesi şansa bağlıdır. Kolay örnekler o kümeye denk geldiyse model olduğundan iyi, zor örnekler denk geldiyse olduğundan kötü görünür. Çapraz doğrulama bu şansı dağıtır.
K-fold yöntemi adım adım nasıl çalışır?
En yaygın biçim k-fold çapraz doğrulamadır. Burada k, verinin kaç parçaya (fold) bölüneceğini söyler. İşleyiş şöyledir:
- Veri karıştırılır ve eşit büyüklükte parçalara ayrılır.
- Parçalardan biri doğrulama kümesi olarak ayrılır, kalanlar eğitim için kullanılır.
- Model eğitilir ve ayrılan parça üzerinde ölçülür.
- Sıra bir sonraki parçaya geçer; her parça tam bir kez doğrulama kümesi olur.
- Tüm turların sonuçlarının ortalaması ve dağılımı raporlanır.
Ortalama kadar sonuçların birbirinden ne kadar saptığı da önemlidir. Turlar arasında büyük fark varsa model veriye duyarlıdır, başarısı kararsızdır.
Küçük bir örnek
Örneğin bir bankada müşterinin krediyi geri ödeyip ödemeyeceğini tahmin eden bir model kurulduğunu düşünelim. Tek bir ayrımla model oldukça başarılı görünüyor. Aynı veri parçalara bölünüp çapraz doğrulama yapılınca bazı turlarda başarının belirgin biçimde düştüğü görülüyor. Bu fark, ilk sonucun şans eseri iyi çıktığını ve modelin bazı müşteri gruplarında zorlandığını gösterir.
Ekip bu bilgiyle özellik setini yeniden gözden geçirir, modeli sadeleştirir ve hiperparametreleri çapraz doğrulama içinde seçer. Böylece yayına alınan model, tek bir şanslı bölünmeye değil dengeli bir ölçüme dayanır.
Hangi çeşitleri vardır, ne zaman hangisi seçilir?
Veri yapısına göre farklı bölme stratejileri kullanılır:
- Tabakalı k-fold: Sınıflar dengesizse (örneğin sahtecilik tespitinde olumlu örnekler çok azsa) her parçada sınıf oranları korunur.
- Birini dışarıda bırak: Her turda tek bir örnek test edilir; çok küçük veri kümelerinde düşünülür, fakat eğitim maliyeti yüksektir.
- Gruplu çapraz doğrulama: Aynı hastaya ya da müşteriye ait kayıtlar hem eğitimde hem testte yer almasın diye gruplar bütün halinde ayrılır.
- Zaman serisi doğrulaması: Zamana bağlı veride geleceği tahmin etmek için geçmişte eğitilir, sonraki dönemde test edilir.
Zaman serisinde veriyi rastgele karıştırmak ciddi bir hatadır; model geleceğe ait bilgiyi eğitim sırasında görmüş olur ve başarı yapay biçimde yüksek çıkar.
Sık yapılan hatalar ve veri sızıntısı
Çapraz doğrulamanın en tehlikeli tuzağı veri sızıntısıdır. Ölçekleme, eksik değer doldurma ya da özellik seçimi gibi adımlar tüm veri üzerinde bir kez yapılıp sonra parçalara bölünürse, doğrulama parçasındaki bilgi eğitime sızar ve sonuç iyimser çıkar. Doğru yol, bu ön işleme adımlarını her turun içinde yalnızca eğitim parçasından öğrenmektir.
Diğer yaygın hatalar:
- Hiperparametreyi aynı çapraz doğrulama sonuçlarına bakarak seçip aynı sonucu son başarı diye sunmak; bunun için ayrı bir son test kümesi tutulmalıdır.
- Sınıf dengesizliğinde sıradan bölme kullanıp azınlık sınıfı bazı parçalardan tamamen yoksun bırakmak.
- Doğruluk gibi tek bir metrikle yetinmek; sınıflandırmada duyarlılık, kesinlik ve eğri altındaki alan birlikte değerlendirilmelidir.
Nerede kullanılır ve nasıl öğrenilir?
Çapraz doğrulama, model karşılaştırma, hiperparametre ayarı ve aşırı öğrenmenin tespitinde standart bir araçtır. Python tarafında scikit-learn gibi kütüphaneler bu bölmeleri hazır sunar; yine de mantığı elle kurmak, sızıntı gibi tuzakları görmeyi kolaylaştırır.
Mindset kataloğunda Model Doğrulama ve Çapraz Doğrulama programı bu konuya ayrılmıştır. Modül başlıkları arasında çapraz doğrulama stratejileri, zaman serisi doğrulama stratejileri, sınıflandırma ve regresyon metrikleri ile model karşılaştırma ve seçimi bulunur.
İlgili Mindset programı
Model Doğrulama ve Çapraz Doğrulama
Sık sorulan sorular
K-fold çapraz doğrulamada k kaç olmalı?
Evrensel bir değer yoktur. Daha büyük k, her turda daha fazla veriyle eğitim demektir fakat hesaplama maliyetini artırır. Pratikte makul bir orta değer sık tercih edilir; veri çok küçükse k büyütülür, model eğitimi pahalıysa küçültülür. Önemli olan değeri seçtikten sonra karşılaştırmalarda sabit tutmaktır.
Çapraz doğrulama ile eğitim-test ayrımı arasındaki fark nedir?
Eğitim-test ayrımı veriyi bir kez böler ve tek bir ölçüm verir. Çapraz doğrulama bölmeyi birçok kez farklı biçimde tekrarlar ve sonuçların ortalamasını alır. Bu yüzden daha kararlıdır; karşılığında modelin birçok kez eğitilmesi gerektiği için daha fazla hesaplama gerektirir.
Derin öğrenmede de çapraz doğrulama kullanılır mı?
Kullanılır, fakat büyük sinir ağlarında her tur çok pahalı olabileceğinden çoğu zaman tek bir doğrulama kümesi tercih edilir. Veri az olduğunda ya da modeller arası güvenilir karşılaştırma gerektiğinde çapraz doğrulama yine anlamlıdır. Hesaplama bütçesi karar ölçütüdür.
Zaman serisi verisinde neden rastgele bölme yapılmaz?
Zaman serisinde sıra bilgi taşır. Rastgele bölme, modelin geleceğe ait gözlemlerle eğitilip geçmişi tahmin etmesine yol açar; gerçek hayatta bu mümkün değildir. Bu yüzden eğitim kümesi hep test döneminden önce gelecek biçimde, kayan ya da genişleyen pencerelerle doğrulama yapılır.
İlgili rehberler
Kategori: Yapay Zeka ve Dijital Dönüşüm