Bir Kaggle yarışmasının ( Malware Classification ) kazanan çözümünün raporunu okuyordum . Rapor bu forum gönderisinde bulunabilir . Sorun, tren setinde 10000 element, test setinde 10000 element olan bir sınıflandırma problemiydi (dokuz sınıf, metrik logaritmik kayıptı).
Yarışma sırasında, modeller test setinin% 30'una karşı değerlendirildi. Bir diğer önemli unsur, modellerin çok iyi performans göstermesidir (% 100 doğruluğa yakın)
Yazarlar aşağıdaki tekniği kullandılar:
Karşılaştığımız bir diğer önemli teknik ise yarı-destekli öğrenme. İlk olarak, en iyi modelimizin maksimum olasılığını seçerek sahte test setleri üretiyoruz. Daha sonra, test setinin hem tren verisi hem de test verisi ile çapraz doğrulama yönteminde tekrar olacağını tahmin ediyoruz. Örneğin, test verileri seti 4 bölüm A, B, C ve D'ye bölünmüştür. Tüm eğitim verilerini kullanıyoruz ve A, B, C test verilerini sözde etiketleri ile birlikte yeni eğitim seti olarak kullanıyoruz ve testi öngörüyoruz. D.
Aynı yöntem A, B ve C'yi tahmin etmek için kullanılır. Xiaozhou tarafından icat edilen bu yaklaşım şaşırtıcı derecede iyi çalışıyor ve yerel çapraz doğrulama kaybını, kamu LB kaybını ve özel LB kaybını azaltır. En iyi yarı eğitimli öğrenme modeli, tüm çözümlerimizde en iyi puan olan özel LB log kaybında 0.0023 elde edebilir.
Sonuçları nasıl iyileştirebileceğini gerçekten anlamıyorum. Test setinin% 30'unun "sızdırıldığı" ve bu bilgiyi kullanmanın bir yolu olduğu için mi?
Yoksa neden işe yaradığını açıklayan teorik bir sebep var mı?