Makine öğreniminde çapraz doğrulama yöntemi
23.12.2021
Sosyal Medya

Makine öğreniminde çapraz doğrulama yöntemi

Veri bilimcileri için çok faydalı bir araç olan çapraz doğrulama, daha isabetli makine öğrenimi modelleri geliştirilmesini ve bunların test veri setlerinde daha iyi performans göstermelerini sağlıyor.

Çapraz doğrulama, uygulanması kolay bir metot olarak farklı makine öğrenimi modellerinin tahmin kabiliyetlerini kıyaslamak ve bir görev için hangisinin daha etkili olacağını saptamak için kullanılıyor. Bu teknik, özellikle test verilerinin kısıtlı olduğu senaryolarda kestirimci modelin pratikte nasıl çalıştığını görmek için faydalı oluyor.

Çapraz doğrulama nedir?

Çapraz doğrulama, makine öğrenimi modellerini değerlendirmek ve verdikleri sonuçların doğruluğunu ölçmek için kullanılan bir teknik. Makine öğrenimi modellerinin üzerine eğitilmedikleri veri setlerinde çalıştırılmalarını ve ortaya koydukları sonucun değerlendirilmesini içeriyor. Kısacası, çapraz doğrulama makine öğrenimi modellerinin kabiliyetlerinin test edilmesini sağlıyor.

Çapraz doğrulama nasıl çalışıyor?

Çapraz doğrulama tekniği günümüzde yoğun olarak kestirimci makine öğrenimi modellerinin test edilmesi için kullanılıyor. Bir veri setindeki biri hariç tüm alt setlerde eğitilen makine öğrenimi modelinin doğruluğu, öğrendiklerinden yola çıkarak geriye kalan set hakkında tahminlerde bulunmasıyla ölçülüyor. Veri bilimcileri, hangi modelin en iyi tahminleri gerçekleştirebildiğini sağlıklı şekilde saptamak için farklı veri setleri kullanarak, birden çok çapraz doğrulama uyguluyor. Çapraz doğrulama, özellikle algoritmaların eğitimi için kısıtlı veri bulunduğunda faydalı bir teknik olarak öne çıkıyor.

Bir çapraz doğrulama senaryosu

Bir bisiklet lastiğinin patlama ihtimalini tahmin etmeniz gerektiğini varsayalım. Bunun için öncelikle bisiklete takılı lastikler hakkında ne kadar eski oldukları, ne kadar yol kat ettikleri, sürücünün kilosu, daha önce patladıkları şartlar ve dahası gibi birçok veri toplamanız gerekir. Bunlar, kestirimci bir makine öğrenimi modeli geliştirmek için kullanacağınız tarihsel verilerdir. Bu verileri kullanarak algoritmayı eğitir, modeli test edersiniz.

Bu aşamada, makine öğreniminde algoritma ve modelin birbirlerinden farklı olduklarını belirtmekte fayda var: Makine öğrenimi modeli, bir algoritma tarafından öğrenilen kabiliyete verilen isimdir.

Bisiklet lastiği örneğinden devam edecek olursak, elinizde sınırlı sayıda veri bulunuyor. Tüm verileri algoritmayı eğitmek için kullanırsanız, elinizde modeli test etmek için yeterli veri kalmayacak. Makine öğrenimi algoritmalarını eğitmenin amacı, modellerin gerçek dünyada karşılaşacağı ve üzerine eğitilmediği veriler karşısında geçerli performansı gösterebilmesini sağlamak olduğundan, eğitim verilerini test için kullanmak iyi bir fikir değildir. Çünkü modelin doğruluğunu sağlıklı ölçmek için eğitilmediği veriler üzerindeki performansının görülmesi gerekir.

Çapraz doğrulama için izleyebileceğiniz doğru yol, verilerin ilk yüzde 75’lik (üç blok) bölümünü eğitim veri seti, geriye kalan yüzde 25’ini (bir blok) ise test veri seti olarak kullanmak. Bu sayede, hangi algoritmaların test verisinde daha iyi sonuçlar verdiğini karşılaştırabilirsiniz. Bu direkt yaklaşım, birçok senaryoda istenen sonuca ulaşılmasını sağlayacak ancak tüm modeller için kullanılabilecek tek ve en iyi yol değil. Örneğin, K-Fold Cross-Validation isimli çapraz doğrulama yöntemi, veri setinin tüm parçalarını her seferde tek tek test seti olarak kullanarak birden fazla sınama gerçekleştiriyor ve sonrasında modelin ortaya koyduğu sonuçları özetliyor. Bu yöntem, 4. veri bloğunu test için kullandıktan ve modelin performansını ve doğruluğunu kaydettikten sonra, tek tek 1, 2 ve 3 numaralı blokları da test, geriye kalanları ise eğitim verisi olarak kullanarak sürüyor. Test, tüm bloklar test verisi olarak kullanıldıktan ve modelin ortalama performansı hesaplandıktan sonra sona eriyor.

Yukarıdaki örnekte, dört bloğa ayrılan veri setleri kullanan yönteme 4 katlı çapraz doğrulama adı veriliyor. Eğer veri setleri 10 bloğa ayrılmış olsaydı, 10 katlı çapraz doğrulama kullanılmış olacaktı.

Veri bilimcileri çapraz doğrulamayı neden kullanıyor?

Çapraz doğrulama, kestirimci makine öğrenimi modellerinin tahmin hatalarını saptamanın yanı sıra, destek vektör makinesi (SVM), K-en yakın komşu algoritması (K-NN), doğrusal regresyon ve lojistik regresyon gibi makine öğrenimi yöntemlerinin doğruluğunu karşılaştırmak için kullanılıyor.

Veri bilimcileri, çapraz doğrulama yöntemini kullanarak hiçbir veri setini heba etmeksizin modelleri test edebiliyor. Bu sayede, verinin ve algoritmanın tutarlılığını görebiliyorlar. Çapraz doğrulama testleri, veri bilimcilerin makine öğrenimi modellerinin gerçek dünyadaki sorunları çözmeye hazır olup olmadıklarını gösteriyor.

Çapraz doğrulamalı model oluşturma, yüksek doğruluk veya performansla çalışan makine öğrenimi uygulamaları geliştirilmesini sağlıyor. Farklı çapraz doğrulama teknikleri, test bölünmesinden ödün vermeden bir modelin performansını tahmin etmeyi mümkün kılıyor ve dengesiz bir veri bölünmesinin neden olabileceği sorunları da ortadan kaldırıyor.