Çapraz Doğrulama Nedir? Makine Öğrenimi Modellerini Karşılaştırma
Yayınlanan: 2021-07-21Çapraz doğrulama, veri bilimcileri için paha biçilmez bir araçtır.
Daha doğru oluşturmak için yararlıdır makine öğrenme modeller ve bağımsız bir test veri kümesi üzerinde ne kadar iyi çalıştıklarını değerlendirir.
Çapraz doğrulamanın anlaşılması ve uygulanması kolaydır, bu da onu farklı modellerin tahmine dayalı yeteneklerini (veya becerilerini) karşılaştırmak ve en iyisini seçmek için başvurulan bir yöntem haline getirir. Mevcut veri miktarı sınırlı olduğunda faydalıdır ve pratikte tahmine dayalı bir modelin nasıl çalıştığını kontrol etmenin harika bir yoludur.
Çapraz doğrulama nedir?
Çapraz doğrulama (CV), bir makine öğrenimi modelini değerlendirmek ve performansını (veya doğruluğunu) test etmek için kullanılan bir tekniktir. Modelin eğitilmediği bir veri kümesinin belirli bir örneğini ayırmayı içerir. Daha sonra model, değerlendirmek için bu örnek üzerinde test edilir.
Çapraz doğrulama, özellikle mevcut veri miktarı sınırlıysa, bir modeli aşırı uyumdan korumak için kullanılır. Aynı zamanda rotasyon tahmini veya örnek dışı test olarak da bilinir ve esas olarak modelin hedefinin tahmin olduğu ayarlarda kullanılır.
Biliyor musun? Bir model, eğitim verilerini yeni veriler üzerindeki performansını olumsuz yönde etkileyecek kadar iyi modelliyorsa, "fazla uyumlu" olarak kabul edilir.
Bu yeniden örnekleme prosedürü, farklı makine öğrenimi modellerini karşılaştırmak ve belirli bir sorunu çözmek için ne kadar iyi çalıştıklarını belirlemek için de kullanılır. Başka bir deyişle, çapraz doğrulama, makine öğrenme modellerinin becerisini değerlendirmek için kullanılan bir yöntemdir.
Basitçe söylemek gerekirse, çapraz doğrulama sürecinde orijinal veri örneği rastgele birkaç alt kümeye bölünür. Makine öğrenimi modeli, biri hariç tüm alt kümelerde eğitim alır. Eğitimden sonra kalan alt küme üzerinde tahminler yapılarak model test edilir.
Birçok durumda, farklı alt kümeler kullanılarak birden fazla çapraz doğrulama turu gerçekleştirilir ve hangi modelin iyi bir tahmin edici olduğunu belirlemek için sonuçlarının ortalaması alınır.
Çapraz doğrulama neden önemlidir?
Mevcut veri miktarının sınırlı olduğu durumlarda çapraz doğrulama çok önemlidir.
Bir bisiklet lastiğinin delinme olasılığını tahmin etmeniz gerektiğini varsayalım. Bunun için mevcut lastiklerle ilgili verileri topladınız: lastiğin yaşı, kat edilen mil sayısı, sürücünün ağırlığı ve daha önce patlak olup olmadığı.
Tahmine dayalı bir model oluşturmak için bu (geçmiş) verileri kullanacaksınız. Bu verilerle yapmanız gereken iki şey var – algoritmayı eğitin ve modeli test edin.
Biliyor musun? Makine öğreniminde bir algoritma ve bir model aynı değildir. Bir model, makine öğrenimi algoritması tarafından öğrenilen şeydir.
Yalnızca sınırlı miktarda veriye sahip olduğunuz için, algoritmayı eğitmek için tüm verileri kullanmak saflık olur. Bunu yaparsanız, modeli test etmek veya değerlendirmek için hiçbir veriniz kalmaz.
Modelin eğitim almadığı veriler üzerindeki doğruluğunu değerlendirmemiz gerektiğinden, eğitim setini test seti olarak yeniden kullanmak iyi bir fikir değildir. Çünkü eğitimin arkasındaki temel amaç, modeli gerçek dünya verileri üzerinde çalışacak şekilde hazırlamaktır. Eğitim veri setinizin, modelin karşılaşacağı tüm olası veri noktalarını içermesi de olası değildir.
Verilerin ilk yüzde 75'ini (üç blok) eğitim veri seti ve son yüzde 25'ini (bir blok) test veri seti olarak kullanmak daha iyi bir fikir olacaktır. Bu, farklı algoritmaların test verilerini ne kadar iyi sınıflandırdığını karşılaştırmanıza olanak tanır.
Ama elbette, verilerin ilk yüzde 75'ini eğitim seti ve kalan yüzde 25'i test seti olarak kullanmanın en iyi yol olduğunu nereden bileceksiniz?
Bunun yerine, test için verilerin ilk yüzde 25'ini kullanabilirsiniz; veya verilerin üçüncü bloğunu test veri seti ve kalanını eğitim veri seti olarak kullanabilirsiniz.
İpucu: Görevleri otomatikleştirmek ve doğru tahminler yapmak için makine öğrenimi yazılımını kullanın.
Sonuç olarak, k-kat çapraz doğrulama adı verilen bir çapraz doğrulama türü, veri kümesinin tüm (dört) parçasını birer birer test verileri olarak kullanır ve ardından sonuçları özetler.
Örneğin, çapraz doğrulama, algoritmayı eğitmek için verilerin ilk üç bloğunu ve modeli test etmek için son bloğu kullanacaktır. Daha sonra modelin test verileriyle ne kadar iyi performans gösterdiğini kaydeder.
Performansı veya doğruluğu kaydettikten sonra, eğitmek için verilerin 1., 2. ve 4. bloklarını ve test etmek için 3. bloğu kullanır. İşlem, tüm bloklar test verisi olarak bir kez kullanılana kadar devam eder. Modelin performansını değerlendirmek için tüm sonuçların ortalaması hesaplanır.
Yukarıdaki örnekte, veriler dört bloğa bölünmüştür. Bu nedenle, bu çapraz doğrulamaya 4 kat çapraz doğrulama denir. On bloğa bölünmüş olsaydı, 10 kat çapraz doğrulama olurdu.
Kısacası çapraz doğrulama, model seçimi için kullanışlıdır ve bir modelin yeni verilere ne kadar iyi genellediğini incelemeyi zahmetsiz hale getirir.
Başka bir deyişle, bir modelin tahmin hatasını belirlemek yardımcı olur. Destek vektör makinesi (SVM), K-en yakın komşu (KNN), doğrusal regresyon veya lojistik regresyon gibi farklı makine öğrenimi yöntemlerinin performansını veya doğruluğunu karşılaştırmak için de kullanılır.
İşte veri bilimcilerinin çapraz doğrulamayı sevmesinin bazı nedenleri:
- Herhangi bir alt kümeden ödün vermeden tüm verileri kullanmalarına izin verir (holdout yöntemi için geçerli değildir)
- Verilerin ve algoritmanın tutarlılığını ortaya çıkarır
- Aşırı ve eksik takmayı önlemeye yardımcı olur
ayarlamak için çapraz doğrulama da kullanılır. hiperparametreler Rastgele ızgara arama çapraz doğrulama adı verilen bir teknik aracılığıyla bir makine öğrenimi modelinin
Çapraz doğrulama türleri
Çapraz doğrulama yöntemleri genel olarak iki kategoriye ayrılabilir: kapsamlı ve kapsamlı olmayan yöntemler.
Adından da anlaşılacağı gibi, kapsamlı çapraz doğrulama yöntemleri, orijinal veri örneğini bir eğitim ve bir test kümesine bölmek için tüm olası yolları test etmeye çalışır. Öte yandan, kapsamlı olmayan yöntemler, orijinal verileri eğitim ve değerlendirme kümelerine ayırmanın tüm yollarını hesaplamaz.
Aşağıda beş yaygın çapraz doğrulama türü bulunmaktadır.
1. Bekletme yöntemi
Holdout yöntemi , orijinal veri setinin eğitim verileri ve test verileri olmak üzere iki bölüme ayrıldığı temel çapraz doğrulama yaklaşımlarından biridir. Bu, kapsamlı olmayan bir yöntemdir ve beklendiği gibi, model eğitim veri kümesinde eğitilir ve test veri kümesinde değerlendirilir.
Çoğu durumda, eğitim veri kümesinin boyutu, test veri kümesinden iki kat daha fazladır, yani orijinal veri kümesi 80:20 veya 70:30 oranında bölünür. Ayrıca, veriler eğitim ve doğrulama kümelerine bölünmeden önce rastgele karıştırılır.
Ancak, bu çapraz doğrulama yönteminin bazı dezavantajları vardır. Model, farklı bir veri noktası kombinasyonu üzerinde eğitildiğinden, her eğitildiğinde farklı sonuçlar sergileyebilir. Ek olarak, seçilen eğitim veri kümesinin tüm veri kümesini temsil ettiğinden asla tam olarak emin olamayız.

Orijinal veri örneği çok büyük değilse, test verilerinin, eğitim verilerine dahil edilmediği için modelin tanıyamayacağı bazı önemli bilgiler içerme olasılığı da vardır.
Bununla birlikte, bir modeli eğitmek ve test etmek için aceleniz varsa ve büyük bir veri kümeniz varsa, çapraz doğrulama tekniği idealdir.
2. K-kat çapraz doğrulama
K-kat çapraz doğrulama yöntemi, holdout yönteminin geliştirilmiş bir versiyonudur. Eğitim ve test veri setini nasıl seçtiğimize bağlı olmadığı için modelin puanına daha fazla tutarlılık getirir.
Bu, kapsamlı olmayan bir çapraz doğrulama yöntemidir ve adından da anlaşılacağı gibi, veri kümesi k sayıda bölmeye bölünmüştür ve holdout yöntemi k kez gerçekleştirilir.
Örneğin, k'nin değeri ikiye eşitse, eşit büyüklükte iki alt küme olacaktır. İlk yinelemede, model bir alt örnek üzerinde eğitilir ve diğerinde doğrulanır. İkinci yinelemede model, önceki yinelemede doğrulamak için kullanılan alt küme üzerinde eğitilir ve diğer alt kümede test edilir. Bu yaklaşıma 2 kat çapraz doğrulama denir.
Benzer şekilde, k'nin değeri beşe eşitse, yaklaşıma 5 katlı çapraz doğrulama yöntemi denir ve beş alt küme ve beş yineleme içerecektir. Ayrıca, k değeri isteğe bağlıdır. Genellikle, k değeri 10'a ayarlanır. Bir değer seçme konusunda kafanız karıştıysa, aynısı önerilir.
K-kat çapraz doğrulama prosedürü, orijinal veri kümesini k sayıda kat veya alt kümeye rastgele bölmekle başlar. Her yinelemede model, tüm veri kümesinin k-1 alt kümeleri üzerinde eğitilir. Daha sonra model, performansını kontrol etmek için k. alt kümede test edilir.
Bu işlem, tüm k-katları değerlendirme kümesi olarak hizmet verene kadar tekrarlanır. Her yinelemenin sonuçlarının ortalaması alınır ve buna çapraz doğrulama doğruluğu denir. Çapraz doğrulama doğruluğu, farklı modellerin verimliliğini karşılaştırmak için bir performans ölçüsü olarak kullanılır.
Orijinal veri setindeki her veri noktası hem eğitim hem de test setinde görüneceğinden, k-kat çapraz doğrulama tekniği genellikle daha az önyargılı modeller üretir. Sınırlı miktarda veriye sahipseniz bu yöntem idealdir.
Ancak, beklendiği gibi, algoritmanın sıfırdan k kez yeniden çalışması gerektiğinden, bu süreç zaman alıcı olabilir. Bu aynı zamanda, holdout yönteminden k-1 kat daha fazla hesaplama gerektirdiği anlamına gelir.
3. Tabakalı k-kat çapraz doğrulama
Verileri rastgele karıştırdığımız ve k-kat çapraz doğrulamada katlara böldüğümüz için, dengesiz alt kümelerle sonuçlanma şansımız var. Bu, eğitimin yanlı olmasına neden olabilir ve bu da hatalı bir modelle sonuçlanır.
Örneğin, iki tür sınıf etiketinin her birinin orijinal verilerin yüzde 50'sini oluşturduğu bir ikili sınıflandırma problemini düşünün. Bu, iki sınıfın orijinal örnekte eşit oranlarda mevcut olduğu anlamına gelir. Basitlik adına, iki sınıfa A ve B adını verelim.
Verileri karıştırırken ve katlara ayırırken, veri noktalarının çoğunluğunun A sınıfından ve yalnızca birkaçının B sınıfından olduğu bir katla sonuçlanma olasılığımız yüksektir. Böyle bir alt küme, dengesiz bir alt küme olarak görülür ve yanlış bir sınıflandırıcı oluşturmaya yol açar.
Bu gibi durumlardan kaçınmak için, katlama adı verilen bir işlem kullanılarak kıvrımlar katmanlaştırılır . Tabakalandırmada, her bir alt kümenin tüm veri kümesini iyi bir şekilde temsil etmesini sağlamak için veriler yeniden düzenlenir.
Yukarıdaki ikili sınıflandırma örneğinde, bu, orijinal örneği, bir kattaki veri noktalarının yarısının A sınıfından ve geri kalanının B sınıfından olacağı şekilde bölmenin daha iyi olduğu anlamına gelir.
4. Bırakma çapraz doğrulaması
Bırakma çapraz doğrulama (LpOCV) , n ile temsil edilen toplam veri numunesi sayısından p sayıda veri noktasının çıkarıldığı kapsamlı bir yöntemdir.
Model, np veri noktalarında eğitilir ve daha sonra p veri noktalarında test edilir. Aynı işlem, orijinal numuneden olası tüm p kombinasyonları için tekrarlanır. Son olarak, çapraz doğrulama doğruluğunu elde etmek için her yinelemenin sonuçlarının ortalaması alınır.
5. Birini dışarıda bırakma çapraz doğrulama
Birini dışarıda bırakma çapraz doğrulama (LOOCV) yaklaşımı, LpOCV'nin basitleştirilmiş bir versiyonudur. Bu çapraz doğrulama tekniğinde p'nin değeri bir olarak ayarlanır. Bu nedenle, bu yöntem çok daha az kapsamlıdır. Bununla birlikte, modelin n sayıda takılması gerektiğinden, bu yöntemin uygulanması pahalı ve zaman alıcıdır.
Tekrarlanan rastgele alt örnekleme doğrulaması, iç içe çapraz doğrulama ve zaman serisi çapraz doğrulama dahil olmak üzere başka çapraz doğrulama teknikleri de vardır.
Çapraz doğrulama uygulamaları
Çapraz doğrulamanın birincil uygulaması, makine öğrenimi modellerinin performansını değerlendirmektir. Bu, makine öğrenimi yöntemlerini karşılaştırmaya ve belirli bir sorunu çözmek için hangisinin ideal olduğunu belirlemeye yardımcı olur.
Örneğin, optik karakter tanıma gerçekleştirmek için k-en yakın komşuları (KNN) veya temel bileşen analizini (PCA) düşündüğünüzü varsayalım. Bu durumda, her bir yöntem tarafından yanlış sınıflandırılan karakter sayısına göre ikisini karşılaştırmak için çapraz doğrulamayı kullanabilirsiniz.
Çapraz doğrulama, tahmin çıktısına en fazla katkıda bulunan özellikleri seçmek için özellik seçiminde de kullanılabilir.
Çapraz doğrulama sınırlamaları
Çapraz doğrulamanın birincil zorluğu, özellikle k-katlı CV gibi yöntemlerde aşırı hesaplama kaynaklarına duyulan ihtiyaçtır. Algoritmanın k kez sıfırdan yeniden çalıştırılması gerektiğinden, değerlendirmek için k kez daha fazla hesaplama gerektirir.
Diğer bir sınırlama, görünmeyen verileri çevreleyen sınırlamadır. Çapraz doğrulamada, test veri kümesi, modelin performansını değerlendirmek için kullanılan görünmeyen veri kümesidir. Teoride bu, gerçek dünya uygulamaları için kullanıldığında modelin nasıl çalıştığını kontrol etmenin harika bir yoludur.
Ancak uygulamada hiçbir zaman kapsamlı bir görünmeyen veri seti olamaz ve modelin gelecekte karşılaşabileceği veri türü asla tahmin edilemez.
Bir bireyin belirli bir bulaşıcı hastalığa yakalanma riskini tahmin etmek için bir modelin oluşturulduğunu varsayalım. Model, yalnızca belirli bir popülasyon grubunu (örneğin, 20'li yaşların ortasındaki kadınları) içeren bir araştırma çalışmasından elde edilen veriler üzerinde eğitilirse, genel popülasyona uygulandığında, tahmin performansı çapraz doğrulama doğruluğuna kıyasla önemli ölçüde farklılık gösterebilir. .
Ayrıca, çapraz doğrulama, yalnızca orijinal örnek setinde insan önyargıları kontrol edilirse anlamlı sonuçlar üretecektir.
Kurtarma için çapraz doğrulama
Çapraz doğrulamalı model oluşturma, daha yüksek doğruluk veya performansla makine öğrenimi uygulamaları oluşturmak için mükemmel bir yöntemdir. K-kat çapraz doğrulama gibi çapraz doğrulama teknikleri, test bölünmesinden ödün vermeden bir modelin performansını tahmin etmeyi mümkün kılar.
Ayrıca bir dengesizlik veri bölünmesinin neden olduğu sorunları da ortadan kaldırırlar; kısacası, veri bilimcilerinin şansa daha az ve yinelemelere daha fazla güvenmelerini sağlayabilirler.
İnsan beyninin işleyişini taklit etmeye çalışan bir makine öğrenimi alt kümesi var. Buna derin öğrenme denir ve eğer mümkünse yapay genel zeka, karar verme yeteneklerini gerektirir.