ওভারফিটিং মানে এমন একটি মডেল তৈরি করা যা প্রশিক্ষণ সেটের সাথে এত ঘনিষ্ঠভাবে মেলে ( মনে রাখে ) যে মডেলটি নতুন ডেটার সঠিক ভবিষ্যদ্বাণী করতে ব্যর্থ হয়। একটি ওভারফিট মডেল একটি উদ্ভাবনের অনুরূপ যা ল্যাবে ভাল পারফর্ম করে কিন্তু বাস্তব জগতে মূল্যহীন।
চিত্র 11-এ, কল্পনা করুন যে প্রতিটি জ্যামিতিক আকার একটি বর্গক্ষেত্র বনে একটি গাছের অবস্থানকে প্রতিনিধিত্ব করে। নীল হীরা সুস্থ গাছের অবস্থান চিহ্নিত করে, আর কমলা বৃত্ত অসুস্থ গাছের অবস্থান চিহ্নিত করে।
অসুস্থ গাছ থেকে সুস্থ গাছকে আলাদা করতে মানসিকভাবে যেকোন আকৃতি-রেখা, বক্ররেখা, ডিম্বাকৃতি... যেকোনো কিছু আঁকুন। তারপরে, একটি সম্ভাব্য বিচ্ছেদ পরীক্ষা করতে পরবর্তী লাইনটি প্রসারিত করুন।
চিত্র 12-এ দেখানো জটিল আকারগুলি সফলভাবে দুটি গাছ ব্যতীত সকলকে শ্রেণীবদ্ধ করেছে। যদি আমরা একটি মডেল হিসাবে আকার চিন্তা, তারপর এটি একটি চমত্কার মডেল.
নাকি এটা? একটি সত্যিই চমৎকার মডেল সফলভাবে নতুন উদাহরণ শ্রেণীবদ্ধ. চিত্র 13 দেখায় যে একই মডেল পরীক্ষা সেট থেকে নতুন উদাহরণের উপর ভবিষ্যদ্বাণী করে তখন কী ঘটে:
সুতরাং, চিত্র 12-এ দেখানো জটিল মডেলটি প্রশিক্ষণ সেটে একটি দুর্দান্ত কাজ করেছে কিন্তু পরীক্ষার সেটে একটি বেশ খারাপ কাজ। এটি প্রশিক্ষণ সেট ডেটার সাথে ওভারফিটিং মডেলের একটি ক্লাসিক কেস।
ফিটিং, ওভারফিটিং এবং আন্ডারফিটিং
একটি মডেল নতুন তথ্য ভাল ভবিষ্যদ্বাণী করা আবশ্যক. অর্থাৎ, আপনি একটি মডেল তৈরি করার লক্ষ্য করছেন যা নতুন ডেটা "ফিট" করে৷
আপনি যেমন দেখেছেন, একটি ওভারফিট মডেল ট্রেনিং সেটে চমৎকার ভবিষ্যদ্বাণী করে কিন্তু নতুন ডেটাতে খারাপ ভবিষ্যদ্বাণী করে। একটি আন্ডারফিট মডেল এমনকি প্রশিক্ষণ ডেটাতে ভাল ভবিষ্যদ্বাণী করতে পারে না। যদি একটি ওভারফিট মডেল এমন একটি পণ্যের মতো হয় যা ল্যাবে ভাল পারফর্ম করে কিন্তু বাস্তব জগতে খারাপভাবে, তাহলে একটি আন্ডারফিট মডেল এমন একটি পণ্যের মতো যা ল্যাবেও ভাল করে না।
সাধারণীকরণ ওভারফিটিং এর বিপরীত। অর্থাৎ, একটি মডেল যা ভালভাবে সাধারণীকরণ করে নতুন ডেটাতে ভাল ভবিষ্যদ্বাণী করে। আপনার লক্ষ্য হল এমন একটি মডেল তৈরি করা যা নতুন ডেটাতে ভালভাবে সাধারণীকরণ করে।
ওভারফিটিং সনাক্ত করা হচ্ছে
নিম্নলিখিত বক্ররেখাগুলি আপনাকে ওভারফিটিং সনাক্ত করতে সহায়তা করে:
- ক্ষতি বক্ররেখা
- সাধারণীকরণ বক্ররেখা
একটি ক্ষতির বক্ররেখা প্রশিক্ষণের পুনরাবৃত্তির সংখ্যার বিপরীতে একটি মডেলের ক্ষতিকে প্লট করে। একটি গ্রাফ যা দুই বা ততোধিক ক্ষতি বক্ররেখা দেখায় তাকে সাধারণীকরণ বক্ররেখা বলা হয়। নিম্নলিখিত সাধারণীকরণ বক্ররেখা দুটি ক্ষতি বক্ররেখা দেখায়:
লক্ষ্য করুন যে দুটি ক্ষতির বক্ররেখা প্রথমে একইভাবে আচরণ করে এবং তারপরে ভিন্ন হয়ে যায়। অর্থাৎ, নির্দিষ্ট সংখ্যক পুনরাবৃত্তির পরে, প্রশিক্ষণ সেটের জন্য ক্ষতি হ্রাস পায় বা স্থির থাকে (একত্রিত হয়), কিন্তু বৈধতা সেটের জন্য বৃদ্ধি পায়। এটি ওভারফিটিং পরামর্শ দেয়।
বিপরীতে, একটি ভাল-ফিট মডেলের জন্য একটি সাধারণীকরণ বক্ররেখা একই আকারের দুটি ক্ষতির বক্ররেখা দেখায়।
ওভারফিটিং এর কারণ কি?
খুব বিস্তৃতভাবে বলতে গেলে, ওভারফিটিং নিম্নলিখিত সমস্যাগুলির একটি বা উভয়ের কারণে হয়:
- প্রশিক্ষণ সেটটি বাস্তব জীবনের ডেটা (বা বৈধতা সেট বা পরীক্ষার সেট) যথাযথভাবে উপস্থাপন করে না।
- মডেলটি খুব জটিল।
সাধারণীকরণ শর্তাবলী
একটি মডেল একটি ট্রেনিং সেটে ট্রেনিং করে, কিন্তু একটি মডেলের মূল্যের আসল পরীক্ষা হল এটি নতুন উদাহরণের উপর, বিশেষ করে বাস্তব-বিশ্বের ডেটাতে কতটা ভাল ভবিষ্যদ্বাণী করে। একটি মডেল তৈরি করার সময়, আপনার পরীক্ষার সেট বাস্তব-বিশ্বের ডেটার জন্য একটি প্রক্সি হিসাবে কাজ করে। একটি মডেলকে প্রশিক্ষণ দেওয়া যা ভালভাবে সাধারণীকরণ করে তা নিম্নলিখিত ডেটাসেট শর্তগুলিকে বোঝায়:
- উদাহরণগুলি অবশ্যই স্বাধীনভাবে এবং অভিন্নভাবে বিতরণ করা উচিত, যা বলার একটি অভিনব উপায় যে আপনার উদাহরণগুলি একে অপরকে প্রভাবিত করতে পারে না।
- ডেটাসেটটি স্থির , মানে সময়ের সাথে ডেটাসেট উল্লেখযোগ্যভাবে পরিবর্তিত হয় না।
- ডেটাসেট পার্টিশনের একই বন্টন আছে। অর্থাৎ, প্রশিক্ষণ সেটের উদাহরণগুলি পরিসংখ্যানগতভাবে বৈধকরণ সেট, পরীক্ষা সেট এবং বাস্তব-বিশ্বের ডেটার উদাহরণগুলির মতো।
নিম্নলিখিত অনুশীলনের মাধ্যমে পূর্ববর্তী শর্তগুলি অন্বেষণ করুন।
ব্যায়াম: আপনার উপলব্ধি পরীক্ষা করুন
ব্যায়াম চ্যালেঞ্জ
আপনি একটি মডেল তৈরি করছেন যা রাইডারদের একটি নির্দিষ্ট রুটের জন্য ট্রেনের টিকিট কেনার জন্য আদর্শ তারিখের পূর্বাভাস দেয়। উদাহরণস্বরূপ, মডেলটি সুপারিশ করতে পারে যে ব্যবহারকারীরা 8 জুলাই তাদের টিকিট কেনার জন্য একটি ট্রেনের জন্য যা 23 জুলাই ছেড়ে যায়। ট্রেন কোম্পানি বিভিন্ন কারণের উপর ভিত্তি করে, কিন্তু প্রধানত উপলব্ধ আসনের বর্তমান সংখ্যার উপর ভিত্তি করে প্রতি ঘণ্টায় দাম আপডেট করে। অর্থাৎ:
- যদি অনেক আসন পাওয়া যায়, টিকিটের দাম সাধারণত কম হয়।
- খুব কম আসন পাওয়া গেলে, টিকিটের দাম সাধারণত বেশি হয়।
উত্তর: বাস্তব বিশ্বের মডেল একটি প্রতিক্রিয়া লুপের সাথে লড়াই করছে।
উদাহরণ স্বরূপ, ধরুন মডেলটি সুপারিশ করে যে ব্যবহারকারীরা 8 জুলাই টিকিট কিনুন৷ কিছু রাইডার যারা মডেলের সুপারিশ ব্যবহার করে 8 জুলাই সকাল 8:30 টায় তাদের টিকিট কেনেন৷ 9:00-এ, ট্রেন কোম্পানি দাম বাড়ায় কারণ কম আসন এখন উপলব্ধ। মডেলের সুপারিশ ব্যবহার করে রাইডাররা দাম পরিবর্তন করেছে। সন্ধ্যার মধ্যে, টিকিটের দাম সকালের তুলনায় অনেক বেশি হতে পারে।