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

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

ভারসাম্যহীন হিসাবে গণনা কি? উত্তরটি হালকা থেকে চরম পর্যন্ত হতে পারে, যেমনটি নীচের সারণীটি দেখায়।

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

ভারসাম্যহীন ডেটার জন্য কেন সন্ধান করবেন? আপনার যদি ভারসাম্যহীন ডেটা সেট সহ একটি শ্রেণীবিভাগের কাজ থাকে তবে আপনাকে একটি নির্দিষ্ট নমুনা কৌশল প্রয়োগ করতে হতে পারে।

একটি মডেলের নিম্নলিখিত উদাহরণটি বিবেচনা করুন যা জালিয়াতি সনাক্ত করে। এই ডেটা সেটে প্রতি 200টি লেনদেনে একবার জালিয়াতির ঘটনা ঘটে, তাই সত্যিকারের বিতরণে, প্রায় 0.5% ডেটা ইতিবাচক।

দুই বার সহ বার গ্রাফ। একটি বার প্রায় 200টি নেতিবাচক লেনদেন দেখায়, অন্য বারটি 1টি ইতিবাচক লেনদেন দেখায়।

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

আপনার যদি একটি ভারসাম্যহীন ডেটা সেট থাকে, তাহলে প্রথমে সত্যিকারের বিতরণের প্রশিক্ষণের চেষ্টা করুন। যদি মডেলটি ভাল কাজ করে এবং সাধারণীকরণ করে, আপনি সম্পন্ন করেছেন! যদি তা না হয়, নিম্নলিখিত ডাউনস্যাম্পলিং এবং আপওয়েটিং কৌশলটি চেষ্টা করুন।

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

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

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

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

দুই বার সহ বার গ্রাফ। একটি বার 20টি নেতিবাচক লেনদেন দেখায়, অন্য বারটি 1টি ইতিবাচক লেনদেন দেখায়।

ধাপ 2: ডাউনস্যাম্পল ক্লাসের ওজন বাড়ান : শেষ ধাপ হল ডাউনস্যাম্পল ক্লাসে উদাহরণ ওজন যোগ করা। যেহেতু আমরা 10 এর একটি ফ্যাক্টর দ্বারা স্যাম্পেল করেছি, উদাহরণের ওজন 10 হওয়া উচিত।

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

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

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

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

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

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

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