ওভারফিটিং

ওভারফিটিং মানে এমন একটি মডেল তৈরি করা যা প্রশিক্ষণ সেটের সাথে এত ঘনিষ্ঠভাবে মেলে ( মনে রাখে ) যে মডেলটি নতুন ডেটার সঠিক ভবিষ্যদ্বাণী করতে ব্যর্থ হয়। একটি ওভারফিট মডেল একটি উদ্ভাবনের অনুরূপ যা ল্যাবে ভাল পারফর্ম করে কিন্তু বাস্তব জগতে মূল্যহীন।

চিত্র 11-এ, কল্পনা করুন যে প্রতিটি জ্যামিতিক আকার একটি বর্গক্ষেত্র বনে একটি গাছের অবস্থানকে প্রতিনিধিত্ব করে। নীল হীরা সুস্থ গাছের অবস্থান চিহ্নিত করে, আর কমলা বৃত্ত অসুস্থ গাছের অবস্থান চিহ্নিত করে।

চিত্র 11. এই চিত্রটিতে প্রায় 60টি বিন্দু রয়েছে, যার অর্ধেকটি সুস্থ গাছ এবং বাকি অর্ধেকটি অসুস্থ গাছ।             স্বাস্থ্যকর গাছগুলি প্রধানত উত্তর-পূর্ব চতুর্ভুজে থাকে, যদিও কয়েকটি সুস্থ গাছ উত্তর-পশ্চিম চতুর্ভুজগুলিতে লুকিয়ে থাকে। অসুস্থ গাছগুলি প্রধানত দক্ষিণ-পূর্ব চতুর্ভুজ অঞ্চলে, তবে অসুস্থ গাছগুলির মধ্যে কয়েকটি অন্য চতুর্ভুজগুলিতে ছড়িয়ে পড়ে।
চিত্র 11. প্রশিক্ষণ সেট: একটি বর্গাকার বনে সুস্থ ও অসুস্থ গাছের অবস্থান।

অসুস্থ গাছ থেকে সুস্থ গাছকে আলাদা করতে মানসিকভাবে যেকোন আকৃতি-রেখা, বক্ররেখা, ডিম্বাকৃতি... যেকোনো কিছু আঁকুন। তারপরে, একটি সম্ভাব্য বিচ্ছেদ পরীক্ষা করতে পরবর্তী লাইনটি প্রসারিত করুন।

চিত্র 12. চিত্র 11-এর মতো সুস্থ এবং অসুস্থ গাছের একই বিন্যাস। যাইহোক, জটিল জ্যামিতিক আকারের একটি মডেল অসুস্থ গাছ থেকে প্রায় সমস্ত সুস্থ গাছকে আলাদা করে।
চিত্র 12. সুস্থ গাছ থেকে অসুস্থকে আলাদা করার জন্য একটি জটিল মডেল।

চিত্র 12-এ দেখানো জটিল আকারগুলি সফলভাবে দুটি গাছ ব্যতীত সকলকে শ্রেণীবদ্ধ করেছে। যদি আমরা একটি মডেল হিসাবে আকার চিন্তা, তারপর এটি একটি চমত্কার মডেল.

নাকি এটা? একটি সত্যিই চমৎকার মডেল সফলভাবে নতুন উদাহরণ শ্রেণীবদ্ধ. চিত্র 13 দেখায় যে একই মডেল পরীক্ষা সেট থেকে নতুন উদাহরণের উপর ভবিষ্যদ্বাণী করে তখন কী ঘটে:

চিত্র 13. চিত্র 12-এ দেখানো মডেলের উপর আচ্ছাদিত একটি সুস্থ এবং অসুস্থ গাছের একটি নতুন ব্যাচ। মডেলটি অনেকগুলি গাছকে ভুল শ্রেণিবদ্ধ করে।
চিত্র 13. টেস্ট সেট: সুস্থ গাছ থেকে অসুস্থকে আলাদা করার জন্য একটি জটিল মডেল।

সুতরাং, চিত্র 12-এ দেখানো জটিল মডেলটি প্রশিক্ষণ সেটে একটি দুর্দান্ত কাজ করেছে কিন্তু পরীক্ষার সেটে একটি বেশ খারাপ কাজ। এটি প্রশিক্ষণ সেট ডেটার সাথে ওভারফিটিং মডেলের একটি ক্লাসিক কেস।

ফিটিং, ওভারফিটিং এবং আন্ডারফিটিং

একটি মডেল নতুন তথ্য ভাল ভবিষ্যদ্বাণী করা আবশ্যক. অর্থাৎ, আপনি একটি মডেল তৈরি করার লক্ষ্য করছেন যা নতুন ডেটা "ফিট" করে৷

আপনি যেমন দেখেছেন, একটি ওভারফিট মডেল ট্রেনিং সেটে চমৎকার ভবিষ্যদ্বাণী করে কিন্তু নতুন ডেটাতে খারাপ ভবিষ্যদ্বাণী করে। একটি আন্ডারফিট মডেল এমনকি প্রশিক্ষণ ডেটাতে ভাল ভবিষ্যদ্বাণী করতে পারে না। যদি একটি ওভারফিট মডেল এমন একটি পণ্যের মতো হয় যা ল্যাবে ভাল পারফর্ম করে কিন্তু বাস্তব জগতে খারাপভাবে, তাহলে একটি আন্ডারফিট মডেল এমন একটি পণ্যের মতো যা ল্যাবেও ভাল করে না।

চিত্র 14. কার্টেসিয়ান প্লট। এক্স-অক্ষকে 'প্রশিক্ষণ সেটে ভবিষ্যদ্বাণীর গুণমান' লেবেল করা হয়েছে। Y-অক্ষকে 'বাস্তব-বিশ্বের তথ্যের ভবিষ্যদ্বাণীর গুণমান' লেবেল করা হয়েছে। একটি বক্ররেখা মূল থেকে শুরু হয় এবং ধীরে ধীরে বৃদ্ধি পায়, কিন্তু তারপর ঠিক তত দ্রুত পড়ে। বক্ররেখার নিচের-বাম অংশটি (বাস্তব-বিশ্বের ডেটাতে ভবিষ্যদ্বাণীর নিম্ন মানের এবং প্রশিক্ষণ সেটে ভবিষ্যদ্বাণীর নিম্ন মানের) লেবেলযুক্ত 'আন্ডারফিট মডেল'। বক্ররেখার নিচের-ডান অংশে (বাস্তব-বিশ্বের ডেটাতে ভবিষ্যদ্বাণীর নিম্ন মানের কিন্তু প্রশিক্ষণ সেটে উচ্চমানের ভবিষ্যদ্বাণী) 'ওভারফিট মডেল' লেবেলযুক্ত। বক্ররেখার শিখর (বাস্তব-বিশ্বের ডেটাতে উচ্চমানের ভবিষ্যদ্বাণী এবং প্রশিক্ষণ সেটে ভবিষ্যদ্বাণীর মাঝারি মানের) লেবেলযুক্ত 'ফিট মডেল'।
চিত্র 14. আন্ডারফিট, ফিট এবং ওভারফিট মডেল।

সাধারণীকরণ ওভারফিটিং এর বিপরীত। অর্থাৎ, একটি মডেল যা ভালভাবে সাধারণীকরণ করে নতুন ডেটাতে ভাল ভবিষ্যদ্বাণী করে। আপনার লক্ষ্য হল এমন একটি মডেল তৈরি করা যা নতুন ডেটাতে ভালভাবে সাধারণীকরণ করে।

ওভারফিটিং সনাক্ত করা হচ্ছে

নিম্নলিখিত বক্ররেখাগুলি আপনাকে ওভারফিটিং সনাক্ত করতে সহায়তা করে:

  • ক্ষতি বক্ররেখা
  • সাধারণীকরণ বক্ররেখা

একটি ক্ষতির বক্ররেখা প্রশিক্ষণের পুনরাবৃত্তির সংখ্যার বিপরীতে একটি মডেলের ক্ষতিকে প্লট করে। একটি গ্রাফ যা দুই বা ততোধিক ক্ষতি বক্ররেখা দেখায় তাকে সাধারণীকরণ বক্ররেখা বলা হয়। নিম্নলিখিত সাধারণীকরণ বক্ররেখা দুটি ক্ষতি বক্ররেখা দেখায়:

চিত্র 15. প্রশিক্ষণ সেটের ক্ষতি ফাংশন ধীরে ধীরে হ্রাস পায়। বৈধতা সেটের ক্ষতি ফাংশনটিও হ্রাস পায়, কিন্তু তারপরে এটি একটি নির্দিষ্ট সংখ্যক পুনরাবৃত্তির পরে বাড়তে শুরু করে।
চিত্র 15. একটি সাধারণীকরণ বক্ররেখা যা দৃঢ়ভাবে ওভারফিটিং বোঝায়।

লক্ষ্য করুন যে দুটি ক্ষতির বক্ররেখা প্রথমে একইভাবে আচরণ করে এবং তারপরে ভিন্ন হয়ে যায়। অর্থাৎ, নির্দিষ্ট সংখ্যক পুনরাবৃত্তির পরে, প্রশিক্ষণ সেটের জন্য ক্ষতি হ্রাস পায় বা স্থির থাকে (একত্রিত হয়), কিন্তু বৈধতা সেটের জন্য বৃদ্ধি পায়। এটি ওভারফিটিং পরামর্শ দেয়।

বিপরীতে, একটি ভাল-ফিট মডেলের জন্য একটি সাধারণীকরণ বক্ররেখা একই আকারের দুটি ক্ষতির বক্ররেখা দেখায়।

ওভারফিটিং এর কারণ কি?

খুব বিস্তৃতভাবে বলতে গেলে, ওভারফিটিং নিম্নলিখিত সমস্যাগুলির একটি বা উভয়ের কারণে হয়:

  • প্রশিক্ষণ সেটটি বাস্তব জীবনের ডেটা (বা বৈধতা সেট বা পরীক্ষার সেট) যথাযথভাবে উপস্থাপন করে না।
  • মডেলটি খুব জটিল।

সাধারণীকরণ শর্তাবলী

একটি মডেল একটি ট্রেনিং সেটে ট্রেনিং করে, কিন্তু একটি মডেলের মূল্যের আসল পরীক্ষা হল এটি নতুন উদাহরণের উপর, বিশেষ করে বাস্তব-বিশ্বের ডেটাতে কতটা ভাল ভবিষ্যদ্বাণী করে। একটি মডেল তৈরি করার সময়, আপনার পরীক্ষার সেট বাস্তব-বিশ্বের ডেটার জন্য একটি প্রক্সি হিসাবে কাজ করে। একটি মডেলকে প্রশিক্ষণ দেওয়া যা ভালভাবে সাধারণীকরণ করে তা নিম্নলিখিত ডেটাসেট শর্তগুলিকে বোঝায়:

  • উদাহরণগুলি অবশ্যই স্বাধীনভাবে এবং অভিন্নভাবে বিতরণ করা উচিত, যা বলার একটি অভিনব উপায় যে আপনার উদাহরণগুলি একে অপরকে প্রভাবিত করতে পারে না।
  • ডেটাসেটটি স্থির , মানে সময়ের সাথে ডেটাসেট উল্লেখযোগ্যভাবে পরিবর্তিত হয় না।
  • ডেটাসেট পার্টিশনের একই বন্টন আছে। অর্থাৎ, প্রশিক্ষণ সেটের উদাহরণগুলি পরিসংখ্যানগতভাবে বৈধকরণ সেট, পরীক্ষা সেট এবং বাস্তব-বিশ্বের ডেটার উদাহরণগুলির মতো।

নিম্নলিখিত অনুশীলনের মাধ্যমে পূর্ববর্তী শর্তগুলি অন্বেষণ করুন।

ব্যায়াম: আপনার উপলব্ধি পরীক্ষা করুন

নিম্নলিখিত ডেটাসেট পার্টিশনগুলি বিবেচনা করুন।
একটি অনুভূমিক বার তিনটি ভাগে বিভক্ত: বারের 70% প্রশিক্ষণ সেট, 15% বৈধকরণ সেট এবং 15% পরীক্ষা সেট
প্রশিক্ষণ সেটের উদাহরণগুলি যাচাইকরণ সেট এবং পরীক্ষার সেটের উদাহরণগুলির সাথে একই পরিসংখ্যানগত বন্টন রয়েছে তা নিশ্চিত করতে আপনার কী করা উচিত?
কিছুই করবেন না। যথেষ্ট উদাহরণ দেওয়া হয়েছে, গড় আইন স্বাভাবিকভাবেই নিশ্চিত করে যে বিতরণগুলি পরিসংখ্যানগতভাবে একই রকম হবে।
প্রথম থেকে সাম্প্রতিকতম উদাহরণগুলি সাজান।
বিভাজন করার আগে ডেটাসেটের উদাহরণগুলিকে ব্যাপকভাবে এলোমেলো করুন।
একটি স্ট্রিমিং পরিষেবা আগামী তিন বছরের জন্য সম্ভাব্য নতুন টেলিভিশন শোগুলির জনপ্রিয়তার পূর্বাভাস দেওয়ার জন্য একটি মডেল তৈরি করছে। স্ট্রিমিং পরিষেবা মডেলটিকে এমন একটি ডেটাসেটে প্রশিক্ষণ দেওয়ার পরিকল্পনা করেছে যেখানে কয়েক মিলিয়ন উদাহরণ রয়েছে, যা আগের দশ বছরে বিস্তৃত। এই মডেল একটি সমস্যার সম্মুখীন হবে?
সম্ভবত। দর্শকদের রুচি এমনভাবে পরিবর্তিত হয় যা অতীতের আচরণ অনুমান করতে পারে না।
সম্ভবত না। দর্শকদের রুচি অনুমানযোগ্যভাবে চক্রাকার উপায়ে পরিবর্তিত হয়। দশ বছরের ডেটা মডেলটিকে ভবিষ্যতের প্রবণতা সম্পর্কে ভাল ভবিষ্যদ্বাণী করতে সক্ষম করবে।
অবশ্যই না. ভাল ভবিষ্যদ্বাণী করার জন্য ডেটাসেট যথেষ্ট বড়।
একটি মডেলের লক্ষ্য হল আবহাওয়ার তথ্যের (তাপমাত্রা, শিশির বিন্দু এবং বৃষ্টিপাত) উপর ভিত্তি করে লোকেদের এক মাইল হাঁটতে যে সময় লাগে এমন একটি শহরের আবহাওয়া ঋতু অনুসারে উল্লেখযোগ্যভাবে পরিবর্তিত হয়। আপনি কি এই ডেটাসেট থেকে একটি মডেল তৈরি এবং পরীক্ষা করতে পারেন, যদিও আবহাওয়ার পাঠগুলি ঋতু অনুসারে নাটকীয়ভাবে পরিবর্তিত হয়?
হ্যাঁ
না

ব্যায়াম চ্যালেঞ্জ

আপনি একটি মডেল তৈরি করছেন যা রাইডারদের একটি নির্দিষ্ট রুটের জন্য ট্রেনের টিকিট কেনার জন্য আদর্শ তারিখের পূর্বাভাস দেয়। উদাহরণস্বরূপ, মডেলটি সুপারিশ করতে পারে যে ব্যবহারকারীরা 8 জুলাই তাদের টিকিট কেনার জন্য একটি ট্রেনের জন্য যা 23 জুলাই ছেড়ে যায়। ট্রেন কোম্পানি বিভিন্ন কারণের উপর ভিত্তি করে, কিন্তু প্রধানত উপলব্ধ আসনের বর্তমান সংখ্যার উপর ভিত্তি করে প্রতি ঘণ্টায় দাম আপডেট করে। অর্থাৎ:

  • যদি অনেক আসন পাওয়া যায়, টিকিটের দাম সাধারণত কম হয়।
  • খুব কম আসন পাওয়া গেলে, টিকিটের দাম সাধারণত বেশি হয়।
আপনার মডেল যাচাইকরণ সেট এবং পরীক্ষা সেটে কম ক্ষতি প্রদর্শন করে কিন্তু কখনও কখনও বাস্তব-বিশ্বের ডেটাতে ভয়ানক ভবিষ্যদ্বাণী করে। কেন?
উত্তর দেখতে এখানে ক্লিক করুন