मैं एक कागल प्रतियोगिता ( मालवेयर क्लासिफिकेशन ) के जीतने के समाधान की रिपोर्ट पढ़ रहा था । रिपोर्ट इस फ़ोरम पोस्ट में पाई जा सकती है । समस्या एक वर्गीकरण समस्या थी (नौ कक्षाएं, ट्रेन सेट में 10000 तत्वों के साथ मीट्रिक का लॉगरिदमिक नुकसान था), परीक्षण सेट में 10000 तत्व।
प्रतियोगिता के दौरान, मॉडल का परीक्षण सेट के 30% के खिलाफ मूल्यांकन किया गया था। एक अन्य महत्वपूर्ण तत्व यह है कि मॉडल बहुत अच्छा प्रदर्शन कर रहे थे (100% सटीकता के करीब)
लेखकों ने निम्नलिखित तकनीक का इस्तेमाल किया:
एक और महत्वपूर्ण तकनीक जो हमारे सामने आई है वह है सेमीसुपरवाइज्ड लर्निंग। हम पहले अपने सर्वश्रेष्ठ मॉडल की अधिकतम संभावना को चुनकर परीक्षण सेट के छद्म लेबल उत्पन्न करते हैं। फिर हम ट्रेन डेटा और परीक्षण डेटा दोनों के साथ एक क्रॉस सत्यापन फैशन में फिर से सेट किए गए परीक्षण की भविष्यवाणी करते हैं। उदाहरण के लिए, परीक्षण डेटा सेट 4 भाग ए, बी, सी और डी के लिए विभाजित है। हम संपूर्ण प्रशिक्षण डेटा का उपयोग करते हैं, और नए डेटा सेट के रूप में एक साथ उनके छद्म लेबल के साथ डेटा ए, बी, सी का परीक्षण करते हैं और हम परीक्षण की भविष्यवाणी करते हैं डी। सेट करें
ए, बी और सी की भविष्यवाणी करने के लिए एक ही विधि का उपयोग किया जाता है। जिओझोउ द्वारा आविष्कार किया गया यह दृष्टिकोण आश्चर्यजनक रूप से अच्छी तरह से काम करता है और यह स्थानीय क्रॉस सत्यापन हानि, सार्वजनिक एलबी नुकसान और निजी एलबी नुकसान को कम करता है। सबसे अच्छा सेमीसुपराइज्ड लर्निंग मॉडल निजी एलबी लॉग लॉस में 0.0023 प्राप्त कर सकता है, जो हमारे सभी समाधानों में सबसे अच्छा स्कोर है।
मैं वास्तव में नहीं देखता कि यह परिणामों को कैसे बेहतर बना सकता है। क्या इसलिए कि परीक्षण सेट का 30% "लीक" हो गया था और यह इस जानकारी का उपयोग करने का एक तरीका था?
या फिर कोई सैद्धांतिक कारण है कि यह क्यों काम करता है?