আমাকে সম্প্রতি বলা হয়েছিল যে আমি যে প্রক্রিয়াটি অনুসরণ করেছি (একটি এমএস থিসিসের উপাদান) ওভার-ফিটিং হিসাবে দেখা যেতে পারে। আমি এটির আরও ভাল ধারণা পেতে চাইছি এবং অন্যরা রাজি হচ্ছে কিনা তা দেখুন।
কাগজের এই অংশটির উদ্দেশ্য হ'ল
ডেটা সেটে র্যান্ডম অরণ্যের বিরুদ্ধে গ্রেডিয়েন্ট বুস্টেড রিগ্রেশন ট্রিগুলির পারফরম্যান্স তুলনা করুন।
নির্বাচিত চূড়ান্ত মডেলের কর্মক্ষমতা দেখুন (জিবিএম বা আরএফ হয়)।
gbm
এবং randomForest
আর প্যাকেজ সহ ব্যবহার করা হচ্ছে,
caret
।
নিম্নলিখিত প্রক্রিয়াটি নিম্নলিখিত ছিল:
- ডেটা প্রাথমিক প্রসেসিং (উদাহরণস্বরূপ "অনুপস্থিত" নামক একটি পৃথক বিভাগ সহ নামমাত্র ভবিষ্যদ্বাণীকারীদের অনুপস্থিত মানগুলি প্লাগিং করা)। কোনও পূর্ব প্রক্রিয়াজাতকরণ (যা খুব কম ছিল) সম্পর্কিত লক্ষ্য ভেরিয়েবলের দিকে তাকাতে হয়নি।
- প্রতিটি অ্যালগরিদমের মেটা-প্যারামিটারের জন্য মূল্যগুলির গ্রিড তৈরি করুন (যেমন জিবিএমের জন্য পুনরাবৃত্তির সংখ্যা)।
- ডেটা সেটের 25 টি এলোমেলো বিভাজন তৈরি করুন (65% প্রশিক্ষণ এবং 35% পরীক্ষা)।
জিবিএম-এর জন্য নিম্নলিখিত বারের 25 বার পুনরাবৃত্তি করুন (প্রতিটি সময় এলোমেলো ট্রেন / পরীক্ষার বিভাজনগুলির মধ্যে একটির ব্যবহার করুন।
- গ্রিড অনুসন্ধানের মাধ্যমে অ্যালগরিদমের "অনুকূল" প্যারামিটার সেটিংস সন্ধান করতে 5-ভাঁজ ক্রস বৈধকরণ ব্যবহার করুন। পূর্ববর্তী রান থেকে কিছুই এখনকার রানে মোটেই ব্যবহৃত হয়নি।
- একবার নির্ধারিত হয়ে গেলে, সম্পূর্ণ "বর্তমান" প্রশিক্ষণ সেটটিতে একটি মডেল ফিট করুন এবং "বর্তমান" পরীক্ষার সেটটি পূর্বাভাস দিন। এই রানের পারফরম্যান্স পরিমাপ আলাদা করে দিন।
একবার 25 পারফরম্যান্সের ব্যবস্থা (আসলে একটি ডোমেন নির্দিষ্ট পরিমাপ, তবে এটিকে যথার্থ হিসাবে মনে করুন) এই ফ্যাশনে প্রাপ্ত হয়, ট্রেন এবং পরীক্ষার সঠিক একই স্বাধীন নমুনা ব্যবহার করে ঠিক একই প্রক্রিয়াটি অনুসরণ করুন, একই প্রক্রিয়াটি, কেবল আলাদা সহ অবশ্যই গ্রিড অনুসন্ধান)।
এখন, আমার কাছে জিবিএম এবং আরএফের তত্কালীন "বর্তমান" পরীক্ষার সেটগুলি থেকে 25 টি কর্মক্ষমতা রয়েছে। আমি তাদের সাথে উইলকক্সন স্বাক্ষরিত র্যাঙ্ক টেস্ট এবং একটি ক্রমশক্তি পরীক্ষা ব্যবহার করে তুলনা করি। আমি জিবিএমকে আরও উন্নত হতে দেখেছি। আমি আরও দাবি করেছি যে জিবিএমের জন্য এই 25 রান থেকে পারফরম্যান্স পরিমাপের বিতরণটি চূড়ান্ত জিবিএম শ্রেণিবদ্ধের প্রত্যাশিত কর্মক্ষমতা।
আমি যা করিনি তা হ'ল প্রথম থেকেই একটি এলোমেলো পরীক্ষার সেটটি বের করে এনে সমস্ত প্রশিক্ষণের ডেটা থেকে তৈরি চূড়ান্ত জিবিএম মডেলের সাথে তুলনা করার জন্য এটিকে আলাদা করে রাখা। আমি দাবি করি যে আমি যা করেছি তা আসলেই আরও ভাল ছিল কারণ আমি স্প্লিট ডেটা / টিউন মডেল / পরীক্ষাটি হোল্ড আউট প্রক্রিয়াটির পুনরাবৃত্তি 25 বার একবার বনাম একবারই করেছি।
এখানে কি ওভার-ফিটিং রয়েছে? যেহেতু 25 রান জিবিএম বনাম আরএফ নির্বাচন করতে ব্যবহৃত হয়েছিল তার অর্থ কি এই প্রক্রিয়া থেকে অর্জিত পারফরম্যান্স পদক্ষেপগুলি পুরো মডেলের জন্য পারফরম্যান্স অনুমান হিসাবে ব্যবহার করা যাবে না?
এডিআইটি ওয়েনের মন্তব্যের জবাবে, 25 রানের প্রত্যেকটির সময় যা করা হয়েছিল তা এখানে:
- আইথ প্রশিক্ষণ সেট (i = 1, .., 25) এর জন্য নমুনাযুক্ত ডেটা 5 টি সমান আকারের গ্রুপে বিভক্ত হয়েছিল। একটি মডেল 5 টির মধ্যে 4 টি গ্রুপ ব্যবহার করে ফিট ছিল, জিবিএম প্যারামিটারগুলি নির্ধারণ করেছিল (যেমন পুনরাবৃত্তির সংখ্যা) jth (j = 1, .., 18) গ্রিডের মানগুলির সমান।
- এই মডেলটি ব্যবহার করে 5 তম গ্রুপের পারফরম্যান্স গণনা করা হয়েছিল।
- পদক্ষেপ 1 এবং 2 আরও 4 বার পুনরাবৃত্তি হয়েছিল (কে = 5 সহ নিয়মিত পুরাতন কে-ফোল্ড সিভি)। 5 টি উপ-রান থেকে পারফরম্যান্সটির গড় গড় ছিল এবং এটি প্যারামিটার মানগুলির নির্দিষ্ট সেট সহ জিবিএমের প্রত্যাশিত পারফরম্যান্স তৈরি করে।
- গ্রিডে অন্যান্য 17 "সারি" এর জন্য 1 -3 পদক্ষেপ পুনরাবৃত্তি হয়েছিল।
একবার সম্পূর্ণ হয়ে গেলে, উপরের অনুশীলনের সেরা প্যারামিটার মানগুলি নির্ধারণ করা হয়েছিল এবং এই প্যারামিটার মানগুলি এবং পূর্ণ আইথ প্রশিক্ষণ সেট ব্যবহার করে একটি জিবিএম ফিট ছিল। আইথ পরীক্ষার সেটটিতে এর পারফরম্যান্স ধরা হয়েছিল।
একবার এই পুরো প্রক্রিয়াটি 25 বার হয়ে গেলে, জিবিএমের জন্য 25 টি কর্মক্ষমতা উপলব্ধ ছিল। তারপরে তারা ঠিক একইভাবে আরএফের জন্য জড়ো হয়েছিল।
জিবিএম তুলনা এবং চয়ন করার পরে, আমি এই 25 টি কার্য সম্পাদনের ব্যবস্থা দেখেছি এবং এই ডেটাতে একটি জিবিএম মডেলের জন্য একটি আস্থা অন্তর নির্ধারণ করতে গড় এবং স্ট্যান্ড ত্রুটি নিয়েছি।