আমি একটি কাগল প্রতিযোগিতার বিজয়ী সমাধানের প্রতিবেদনটি পড়ছিলাম ( ম্যালওয়্যার শ্রেণিবিন্যাস )। প্রতিবেদনটি এই ফোরামের পোস্টে পাওয়া যাবে । সমস্যাটি ছিল একটি শ্রেণিবদ্ধকরণ সমস্যা (নয়টি ক্লাস, মেট্রিকটি লোগারিথমিক ক্ষতি) ট্রেনের সেটটিতে 10000 উপাদান, পরীক্ষার সেটে 10000 উপাদান রয়েছে।
প্রতিযোগিতার সময়, পরীক্ষাগুলির 30% বিপরীতে মডেলগুলি মূল্যায়ন করা হয়েছিল। আর একটি গুরুত্বপূর্ণ উপাদান হ'ল মডেলগুলি খুব ভাল পারফর্ম করছিল (প্রায় 100% যথার্থতা)
লেখকরা নিম্নলিখিত কৌশলটি ব্যবহার করেছেন:
আর একটি গুরুত্বপূর্ণ কৌশল আমরা সামনে এলাম সেমিসুপারভিসড লার্নিং। আমরা আমাদের সেরা মডেলের সর্বাধিক সম্ভাবনা বেছে নিয়ে পরীক্ষার সেটটির সিউডো লেবেল তৈরি করি। তারপরে আমরা ট্রেনের ডেটা এবং পরীক্ষার ডেটা উভয়ই আবার ক্রস বৈধতা ফ্যাশনে পরীক্ষার সেটটি পূর্বাভাস করি। উদাহরণস্বরূপ, পরীক্ষার ডেটা সেটটি 4 টি এ, বি, সি এবং ডিতে বিভক্ত হয় আমরা সম্পূর্ণ প্রশিক্ষণের ডেটা এবং পরীক্ষামূলক তথ্য এ, বি, সি তাদের সিউডো লেবেলগুলি একসাথে নতুন প্রশিক্ষণ সেট হিসাবে ব্যবহার করি এবং আমরা পরীক্ষার পূর্বাভাস করি সেট ডি
এ, বি এবং সি পূর্বাভাস দেওয়ার জন্য একই পদ্ধতি ব্যবহার করা হয় জিয়াওঝৌ দ্বারা উদ্ভাবিত এই পদ্ধতিটি আশ্চর্যজনকভাবে ভালভাবে কাজ করে এবং এটি স্থানীয় ক্রস বৈধতা ক্ষতি, পাবলিক এলবি ক্ষতি এবং ব্যক্তিগত এলবি ক্ষতি হ্রাস করে। সেরা সেমিস্পেরভিজড লার্নিং মডেল বেসরকারী এলবি লগ লস এ 0.0023 অর্জন করতে পারে যা আমাদের সকল সমাধানের মধ্যে সেরা স্কোর।
আমি কীভাবে ফলাফলগুলিকে উন্নতি করতে পারি তা সত্যই দেখছি না। এটি কি কারণ পরীক্ষার 30% সেট "ফাঁস" হয়েছিল এবং এটি এই তথ্যটি ব্যবহার করার একটি উপায় ছিল?
বা কেন এটি কাজ করে তা ব্যাখ্যা করার কোনও তাত্ত্বিক কারণ রয়েছে?