কম্পিউটার টিউটোরিয়াল

স্যাম্পলিং-ভিত্তিক পদ্ধতিসমূহ কী?


স্যাম্পলিং ক্লাস অসমতা সমস্যা হ্যান্ডেল করার একটি ব্যাপকভাবে ব্যবহৃত পদ্ধতি। স্যাম্পলিং-এর কনসেপ্ট হলো উদাহরণের ডিস্ট্রিবিউশন পরিবর্তন করা যাতে রেয়ার ক্লাস ট্রেনিং সেটে ভালোভাবে প্রতিনিধিত্ব পায়। স্যাম্পলিং-এর বিভিন্ন কৌশল আছে যেমন আন্ডারস্যাম্পলিং, ওভারস্যাম্পলিং, এবং দুটির হাইব্রিড পদ্ধতি। উদাহরণস্বরূপ, একটি ডেটাসেট বিবেচনা করুন যেতে ১০০ পজিটিভ এবং ১০০০ নেগেটিভ উদাহরণ আছে।

আন্ডারস্যাম্পলিং পদ্ধতিতে, ১০০ নেগেটিভ উদাহরণের একটি র‍্যান্ডম স্যাম্পল নির্বাচন করা হয় ট্রেনিং সেট গঠন করতে সব পজিটিভ উদাহরণের পাশাপাশি। এই পদ্ধতির একটা সমস্যা হলো কিছু উপকারী নেগেটিভ উদাহরণ ট্রেনিংয়ের জন্য নির্বাচিত হয় না, ফলে অপ্টিমাল মডেলের চেয়ে কম ভালো মডেল তৈরি হয়।

এই সমস্যা সমাধানের পদ্ধতি হলো আন্ডারস্যাম্পলিং একাধিকবার করা এবং একইভাবে একাধিক ক্লাসিফায়ার তৈরি করা, এনসেম্বেল লার্নিং পদ্ধতির মতো। ফোকাসড আন্ডারস্যাম্পলিং পদ্ধতি ব্যবহার করা যায়, যেখানে স্যাম্পলিং প্রসেস নেগেটিভ উদাহরণগুলো কী হটাও দূর করতে হবে সে বিষয়ে সচেতন সিদ্ধান্ত নেয়, যেন সিদ্ধান্ত সীমানার দূরে অবস্থিত موارد।

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

কিন্তু নয়েজি ডেটার জন্য, ওভারস্যাম্পলিং মডেল ওভারফিটিং তৈরি করতে পারে কারণ একাধিক নয়েজ উদাহরণ একাধিকবার রিপ্লিকেট হয়। ওভারস্যাম্পলিং ট্রেনিং সেটে কোনো নতুন তথ্য যোগ করে না। পজিটিভ উদাহরণ রিপ্লিকেট করা লার্নিং অ্যালগরিদমকে মডেলের নির্দিষ্ট অংশ প্রুনিং থেকে বাঁচায় যা সেই অঞ্চল বর্ণনা করে যেনে কিছু ট্রেনিং উদাহরণ থাকে (অর্থাৎ ছোট ডিসজাঙ্ক্ট)। বেশি পজিটিভ উদাহরণ মডেল বিল্ডিং-এর কম্পিউটেশন টাইমও বৃদ্ধি করে।

হাইব্রিড পদ্ধতিতে মেজorité ক্লাস আন্ডারস্যাম্পলিং এবং রেয়ার ক্লাস ওভারস্যাম্পলিং কম্বাইন করা হয় ইউনিফর্ম ক্লাস ডিস্ট্রিবিউশন পেতে। আন্ডারস্যাম্পলিং র‍্যান্ডম বা ফোকাসড সাবস্যাম্পলিং দিয়ে করা যায়। ওভারস্যাম্পলিং বর্তমান পজিটিভ উদাহরণ রিপ্লিকেট করে বা বর্তমান পজিটিভ উদাহরণের নIGHBOURHOOD-এ নতুন পজিটিভ উদাহরণ জেনারেট করে করা যায়।


  1. C#-এ অ্যারে উদাহরণসমূহ (Good Examples of Arrays)

  2. C#-এ রিফ্লেকশন (Reflection) কী এবং ব্যবহার

  3. C#-এ ইনডেক্সার কী?

  4. C#-এ নেমস্পেস (Namespaces) কী?