Saya sedang membaca laporan dari solusi memenangkan kompetisi Kaggle ( Klasifikasi Malware ). Laporan ini dapat ditemukan di posting forum ini . Masalahnya adalah masalah klasifikasi (sembilan kelas, metrik adalah kehilangan logaritmik) dengan 10.000 elemen di set kereta, 10.000 elemen di set tes.
Selama kompetisi, model dievaluasi terhadap 30% dari set tes. Elemen penting lainnya adalah bahwa model yang berkinerja sangat baik (mendekati 100% akurasi)
Para penulis menggunakan teknik berikut:
Teknik lain yang penting kita datang adalah Semisupervised Learning. Kami pertama menghasilkan label palsu dari tes set dengan memilih probabilitas max model terbaik kami. Kemudian kita memprediksi tes diatur lagi dalam validasi mode cross dengan baik data kereta api dan data uji. Misalnya, kumpulan data uji dibagi menjadi 4 bagian A, B, C, dan D. Kami menggunakan seluruh data pelatihan, dan data uji A, B, C dengan label pseudo mereka, bersama-sama sebagai rangkaian pelatihan baru dan kami memperkirakan tes set D.
Metode yang sama digunakan untuk memprediksi A, B dan C. Pendekatan ini, ditemukan oleh Xiaozhou, bekerja sangat baik dan mengurangi kerugian validasi silang lokal, kerugian LB publik dan kerugian LB pribadi. Model pembelajaran Semisupervised terbaik dapat mencapai 0,0023 di LB log kerugian pribadi, yang merupakan skor terbaik atas semua solusi kami.
Saya benar-benar tidak melihat bagaimana hal itu dapat meningkatkan hasil. Apakah karena 30% dari set tes "bocor" dan itu adalah cara untuk menggunakan informasi ini?
Atau adakah alasan teoretis yang menjelaskan mengapa ini berhasil?