ডেটাসেট: ভারসাম্যহীন ডেটাসেট

একটি শ্রেণীবদ্ধ লেবেল ধারণকারী একটি ডেটাসেট বিবেচনা করুন যার মান হয় ইতিবাচক বা নেতিবাচক । একটি সুষম ডেটাসেটে, ইতিবাচক এবং নেতিবাচক লেবেলের সংখ্যা প্রায় সমান। যাইহোক, যদি একটি লেবেল অন্য লেবেলের চেয়ে বেশি সাধারণ হয়, তাহলে ডেটাসেটটি ভারসাম্যহীন । একটি ভারসাম্যহীন ডেটাসেটে প্রধান লেবেলটিকে সংখ্যাগরিষ্ঠ শ্রেণী বলা হয়; কম সাধারণ লেবেলকে সংখ্যালঘু শ্রেণী বলা হয়।

নিম্নলিখিত সারণীটি ভারসাম্যহীনতার বিভিন্ন ডিগ্রির জন্য সাধারণত গৃহীত নাম এবং ব্যাপ্তি প্রদান করে:

সংখ্যালঘু শ্রেণীর অন্তর্গত ডেটার শতাংশ ভারসাম্যহীনতার ডিগ্রি
ডেটাসেটের 20-40% মৃদু
ডেটাসেটের 1-20% পরিমিত
ডেটাসেটের <1% চরম

উদাহরণস্বরূপ, একটি ভাইরাস সনাক্তকরণ ডেটাসেট বিবেচনা করুন যেখানে সংখ্যালঘু শ্রেণী ডেটাসেটের 0.5% প্রতিনিধিত্ব করে এবং সংখ্যাগরিষ্ঠ শ্রেণী 99.5% প্রতিনিধিত্ব করে। এই ধরনের অত্যন্ত ভারসাম্যহীন ডেটাসেটগুলি ওষুধে সাধারণ কারণ বেশিরভাগ বিষয়ে ভাইরাস থাকবে না।

চিত্র 5. দুটি বার সহ বার গ্রাফ। একটি বার প্রায় 200টি নেতিবাচক ক্লাস দেখায়; অন্য বারটি 1টি পজিটিভ ক্লাস দেখায়।
চিত্র 5. অত্যন্ত ভারসাম্যহীন ডেটাসেট।

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

প্রায়শই, বিশেষ করে হালকা ভারসাম্যহীন এবং কিছু মাঝারি ভারসাম্যহীন ডেটাসেটের জন্য, ভারসাম্যহীনতা কোনও সমস্যা নয়। সুতরাং, আপনাকে প্রথমে মূল ডেটাসেটের প্রশিক্ষণের চেষ্টা করা উচিত। মডেল ভাল কাজ করে, আপনি সম্পন্ন. যদি তা না হয়, অন্তত সাবঅপ্টিমাল মডেল ভবিষ্যতের পরীক্ষার জন্য একটি ভাল বেসলাইন প্রদান করে। তারপরে, ভারসাম্যহীন ডেটাসেটের কারণে সৃষ্ট সমস্যাগুলি কাটিয়ে উঠতে আপনি নিম্নলিখিত কৌশলগুলি চেষ্টা করতে পারেন।

ডাউনস্যাম্পলিং এবং আপওয়েটিং

একটি ভারসাম্যহীন ডেটাসেট পরিচালনা করার একটি উপায় হল সংখ্যাগরিষ্ঠ শ্রেণীর নমুনা কমানো এবং ওজন বৃদ্ধি করা। এখানে সেই দুটি নতুন পদের সংজ্ঞা রয়েছে:

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

ধাপ 1: সংখ্যাগরিষ্ঠ শ্রেণির নমুনা নিন। প্রতি 200টি নেতিবাচক লেবেলের জন্য 1টি ইতিবাচক লেবেলের অনুপাতযুক্ত ভাইরাস ডেটাসেটটি বিবেচনা করুন। 20 ফ্যাক্টর দ্বারা ডাউনস্যাম্পলিং ভারসাম্য উন্নত করে 1 ইতিবাচক থেকে 10 নেতিবাচক (10%)। যদিও ফলাফলের প্রশিক্ষণ সেটটি এখনও মাঝারিভাবে ভারসাম্যহীন , তবে ইতিবাচক থেকে নেতিবাচকের অনুপাত মূল অত্যন্ত ভারসাম্যহীন অনুপাতের (0.5%) তুলনায় অনেক ভালো।

চিত্র 6. দুটি বার সহ বার গ্রাফ। একটি বার 20টি নেতিবাচক ক্লাস দেখায়; অন্য বারটি 1টি পজিটিভ ক্লাস দেখায়।
চিত্র 6. ডাউনস্যাম্পলিং।

ধাপ 2: ডাউনস্যাম্পল ক্লাসের ওজন বাড়ান : ডাউনস্যাম্পল ক্লাসে উদাহরণের ওজন যোগ করুন। 20 এর একটি ফ্যাক্টর দ্বারা স্যাম্পল করার পরে, উদাহরণের ওজন 20 হওয়া উচিত। (হ্যাঁ, এটি বিপরীতমুখী মনে হতে পারে, তবে আমরা পরে ব্যাখ্যা করব কেন।)

চিত্র 7. ডাউনস্যাম্পলিং এবং আপওয়েটিংয়ের একটি দ্বি-পদক্ষেপ চিত্র।             ধাপ 1: ডাউনস্যাম্পলিং সংখ্যাগরিষ্ঠ শ্রেণী থেকে এলোমেলো উদাহরণ বের করে। ধাপ 2: ওজন কমানো উদাহরণে ওজন যোগ করে।
চিত্র 7. ওজন বৃদ্ধি।

ওজন শব্দটি মডেল প্যারামিটারগুলিকে বোঝায় না (যেমন, w 1 বা w 2 )। এখানে, ওজন উদাহরণের ওজন বোঝায়, যা প্রশিক্ষণের সময় একটি পৃথক উদাহরণের গুরুত্ব বৃদ্ধি করে। 10-এর একটি উদাহরণের ওজন মানে মডেলটি উদাহরণটিকে ওজন 1-এর উদাহরণের চেয়ে 10 গুণ গুরুত্বপূর্ণ (যখন কম্পিউট করার সময়) হিসাবে বিবেচনা করে।

আপনি যে ফ্যাক্টরটি ডাউন নমুনা করতে ব্যবহার করেন তার ওজন সমান হওয়া উচিত:

\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]

ডাউনস্যাম্পিংয়ের পরে উদাহরণ ওজন যোগ করা অদ্ভুত বলে মনে হতে পারে। সর্বোপরি, আপনি সংখ্যালঘু শ্রেণীতে মডেলটিকে উন্নত করার চেষ্টা করছেন, তাহলে কেন সংখ্যাগরিষ্ঠ শ্রেণীকে আপওয়েট করবেন? প্রকৃতপক্ষে, সংখ্যাগরিষ্ঠ শ্রেণীর ওজন বৃদ্ধি পূর্বাভাসের পক্ষপাত কমাতে থাকে। অর্থাৎ, ডাউনস্যাম্পলিং এর পরে ওজন বাড়ালে আপনার মডেলের ভবিষ্যদ্বাণীর গড় এবং আপনার ডেটাসেটের লেবেলের গড় মধ্যে ডেল্টা কমে যায়।

ভারসাম্য অনুপাত

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

  • ব্যাচের আকার
  • ভারসাম্যহীনতার অনুপাত
  • প্রশিক্ষণ সেটে উদাহরণের সংখ্যা

আদর্শভাবে, প্রতিটি ব্যাচে একাধিক সংখ্যালঘু শ্রেণীর উদাহরণ থাকা উচিত। যে ব্যাচগুলিতে পর্যাপ্ত সংখ্যালঘু ক্লাস নেই সেগুলি খুব খারাপভাবে প্রশিক্ষণ দেবে। ব্যাচের আকার ভারসাম্যহীন অনুপাতের চেয়ে কয়েকগুণ বেশি হওয়া উচিত। উদাহরণস্বরূপ, যদি ভারসাম্যহীনতার অনুপাত 100:1 হয়, তাহলে ব্যাচের আকার কমপক্ষে 500 হওয়া উচিত।

অনুশীলন: আপনার বোঝার পরীক্ষা করুন

নিম্নলিখিত পরিস্থিতি বিবেচনা করুন:

  • ব্যাচের আকার 128।
  • ভারসাম্যহীনতার অনুপাত হল 100:1।
  • প্রশিক্ষণ সেটে এক বিলিয়ন উদাহরণ রয়েছে।
নিচের কোন বিবৃতিটি সত্য?
ব্যাচের আকার 1,024-এ বাড়ানো ফলে মডেলটিকে উন্নত করবে।
1,024 ব্যাচের আকার সহ, প্রতিটি ব্যাচে গড়ে প্রায় 10টি সংখ্যালঘু শ্রেণীর উদাহরণ থাকবে, যা প্রশিক্ষণের জন্য যথেষ্ট হওয়া উচিত। ডাউনস্যাম্পলিং ছাড়াই, প্রশিক্ষণ সেটে এক বিলিয়ন উদাহরণ রয়েছে।
ব্যাচের আকার 128 এ রাখার সময় 20:1 এ ডাউনস্যাম্পলিং (এবং ওজন বৃদ্ধি) ফলাফলের মডেলকে উন্নত করবে।
প্রতিটি ব্যাচে গড়ে প্রায় 9টি সংখ্যালঘু শ্রেণীর উদাহরণ থাকবে, যা প্রশিক্ষণের জন্য যথেষ্ট হওয়া উচিত। ডাউনস্যাম্পলিং কার্যকরভাবে প্রশিক্ষণের উদাহরণের সংখ্যা এক বিলিয়ন থেকে 40 মিলিয়নে কমিয়ে দেয়।
বর্তমান অবস্থা ভালো।
একটি দরকারী মডেল প্রশিক্ষণের জন্য বেশিরভাগ ব্যাচে যথেষ্ট সংখ্যালঘু শ্রেণী থাকবে না।