Çoğunlukla alınan - Ben o biraz daha teori ile bu yedeklemek için güzel olacağını düşündüm bu yüzden en çok upvoted cevap gerçekten :) soruya cevap vermez bu komik : "Pratik Yapay Öğrenme Araçları ve Teknikleri Veri Madenciliği" ve Tom Mitchell "Makine Öğrenmesi" .
Giriş.
Bu yüzden bir sınıflandırıcıya ve sınırlı bir veri setine sahibiz ve belirli bir miktarda veri eğitim setine girmeli ve gerisi test için kullanılmalıdır (gerekirse doğrulama için kullanılan üçüncü bir alt set).
Karşılaştığımız ikilem şudur: İyi bir sınıflayıcı bulmak için, "eğitim altkümesi" mümkün olduğu kadar büyük olmalı, ancak iyi bir hata elde etmek için "test altkümesi" mümkün olduğu kadar büyük olmalıdır - ancak her iki altkümeden de alınmalıdır. Aynı havuz
Eğitim seti test kümesi daha büyük olması gerektiği aşikardır - olduğu, split 1 olmamalıdır: 1 (ana amacı şudur tren değil, testin ) - ancak ayrık olması gereken yerde açık değil.
Bekletme prosedürü.
"Süper kümesi" alt gruplara bölme prosedürüne holdout yöntemi denir . Kolayca şanssız hale gelebileceğinizi ve belirli bir sınıfın örneklerinin, alt gruplardan birinde kaybolabileceğini (veya fazla yayınlandığını) unutmayın.
- Her bir sınıfın tüm veri alt gruplarında doğru bir şekilde temsil edildiğini garanti eden rastgele örnekleme - prosedür, tabakalı bekletme olarak adlandırılır.
- Bunun üzerine tekrarlanan eğitim testi onaylama işlemi ile rastgele örnekleme - buna tekrar tekrar tabakalı bekletme denir
Tek (tekrarlanmayan) bir bekletme prosedüründe, test ve eğitim verilerinin rollerini değiştirmeyi düşünebilir ve iki sonucu ortalayabilirsiniz, ancak bu yalnızca eğitim ve test setleri arasında kabul edilemez olan 1: 1'lik bir bölünme ile mümkündür (bkz. Giriş ). Ancak bu bir fikir verir ve geliştirilmiş bir yöntem ( bunun yerine çapraz doğrulama olarak adlandırılır ) - aşağıya bakın!
Çapraz doğrulama.
Çapraz onaylamada, sabitlenmiş sayıda kıvrımlara (verilerin bölümleri) karar verirsiniz . Üç kat kullanırsak, veriler üç eşit bölüme ayrılır ve
- eğitim için 2/3, test için 1/3 kullanıyoruz
- ve prosedürü üç kez tekrarlayın, böylece sonuçta, her bir örnek test için tam olarak bir kez kullanılmıştır.
Buna üç kat çapraz doğrulama denir ve eğer stratiasyon da benimsenirse (çoğu zaman doğrudur) katmanlandırılmış üç kat çapraz doğrulama olarak adlandırılır .
Ama bak şu işe, standart yoludur değil 1/3 bölünmüş: 2/3. Quotting "Veri Madenciliği: Pratik Makine Öğrenme Araçları ve Teknikleri" ,
Standart yol [...], 10 katlı çapraz onaylama kullanmaktır. Veriler, sınıfın tam veri setinde olduğu gibi yaklaşık olarak aynı oranlarda temsil edildiği 10 parçaya rasgele bölünmüştür. Her bölüm sırayla gerçekleştirilir ve öğrenme düzeni kalan dokuzuncu onda eğitilir; daha sonra hata oranı bekleme setinde hesaplanır. Bu nedenle öğrenme prosedürü (her biri çok ortak noktası olan) farklı eğitim setlerinde toplam 10 kez uygulanır. Son olarak, toplam hata tahminini vermek için 10 hata tahmininin ortalaması alınır.
Neden 10 Çünkü "farklı öğrenme teknikleri ile çok sayıda veri setleri üzerinde ..Extensive testleri, 10 hatasının en iyi tahmin almak için kıvrımların doğru sayısı hakkında ve bazı teorik kanıtlar da olduğunu göstermiştir ki destekliyor bu kadar .." Ben cenneti Hangi kapsamlı testleri ve teorik kanıtları kastettiklerini anlamadılar ancak bu daha fazlasını kazmak için iyi bir başlangıç gibi görünüyor - dilerseniz.
Basitçe diyorlar ki
Bu argümanlar hiçbir şekilde kesin olmamakla birlikte, tartışmalar makine öğrenmesi ve veri madenciliği çevrelerinde değerlendirme için en iyi programın ne olduğu konusunda öfkeli olmaya devam etse de, pratikte 10'lu çapraz onaylama standart yöntem haline gelmiştir. [...] Dahası, 10: 5 kat ya da 20 kat çapraz doğrulama sayısının neredeyse tamamı kadar iyi olacağı konusunda sihir yoktur.
Önyükleme ve - sonunda! - Orijinal sorunun cevabı.
Fakat biz hala cevap olarak gelmedik, neden 2/3: 1/3 sıklıkla öneriliyor? Benim düşüncem bootstrap yönteminden miras alınması .
Değişim ile örneklemeye dayanır. Önceden, "büyük kümeden" bir örneği tam alt gruplardan birine yerleştirdik. Önyükleme farklıdır ve bir örnek hem eğitim hem de test setinde kolayca görünebilir.
Biz bir veri kümesi almak belirli bir senaryoya atalım D1 ait n örnekleri ve bunu örneklemek n değiştirilmesi ile sürelerini, başka veri kümesi almak için D2 ait n örneklerini.
Şimdi dar izle.
D2'deki bazı öğeler (neredeyse kesinlikle) tekrarlanacağından, orijinal veri kümesinde seçilmemiş bazı örnekler olmalıdır: bunları test örnekleri olarak kullanacağız.
D2 için belirli bir örneğin alınamaması ihtimali nedir ? Her çekimde alınma olasılığı 1 / n'dir, yani tam tersi (1 - 1 / n) 'dir .
Bu olasılıkları birlikte çarptığımızda, (1 - 1 / n) ^ n ki bu da e ^ -1, yani 0.3'tür. Bu, test setimizin yaklaşık 1/3 olacağı ve eğitim setinin yaklaşık 2/3 olacağı anlamına gelir.
Ben sanırım 2/3 bölünmüş: Bu oran önyükleme tahmin yöntemiyle alınır bu kullanımda 1/3 önerilir nedeni budur.
Sarmalamak.
Veri madenciliği kitabından (ispatlayamadığım ancak doğru olduğunu iddia edemediğim) bir teklifle bitirmek istiyorum, burada genellikle 10 kat çapraz doğrulama tercih ediyorlar:
Önyükleme prosedürü, çok küçük veri kümeleri için hatayı tahmin etmenin en iyi yolu olabilir. Bununla birlikte, bir kez dışarıda bırakılan çapraz onaylama gibi, iki sınıflı tamamen rasgele bir veri kümesi olan özel, sanatsal bir durum düşünülerek gösterilebilecek dezavantajları vardır. Gerçek hata oranı, herhangi bir tahmin kuralı için% 50'dir. Ancak, eğitim setini ezberleyen bir şema,% 100'lük mükemmel bir yeniden yerleştirme puanı verir, böylece etraining örnekleri = 0 ve 0.632 önyükleme değeri bu değeri 0.368 ila Yanıltıcı bir şekilde iyimser olan sadece% 31.6 (0.632 ¥ 50% + 0.368 ¥% 0) genel hata oranı verir.