One-vs-Rest (OvR) এবং One-vs-One (OvO) হল দুটি জনপ্রিয় কৌশল যা মাল্টিক্লাস ক্লাসিফিকেশন সমস্যায় ব্যবহৃত হয়, যেখানে আউটপুটের অনেক ক্লাস থাকে। এই পদ্ধতিগুলি বাইনারি ক্লাসিফায়ার যেমন লজিস্টিক রিগ্রেশন বা SVM (Support Vector Machine) কে মাল্টিক্লাস সমস্যার জন্য উপযুক্ত করে তোলে।
1. One-vs-Rest (OvR) পদ্ধতি:
One-vs-Rest (OvR), যা One-vs-All হিসাবেও পরিচিত, একটি ক্লাসিফিকেশন কৌশল যেখানে একটি ক্লাসের বিরুদ্ধে অন্যান্য সব ক্লাসকে একত্রিত করা হয়। প্রতিটি ক্লাসের জন্য আলাদা বাইনারি শ্রেণীকরণ মডেল তৈরি করা হয়, এবং ক্লাসিফায়ারটি সেই ক্লাসের বিরুদ্ধে অন্য সব ক্লাসকে বিভক্ত করে।
পদ্ধতি:
- প্রতিটি ক্লাসের জন্য একটি বাইনারি শ্রেণীকরণ মডেল তৈরি করুন:
- ধরুন, আপনার ডেটাতে 4টি ক্লাস আছে (A, B, C, D)। OvR কৌশলে 4টি বাইনারি শ্রেণীকরণ মডেল তৈরি করা হবে:
- মডেল 1: A vs. (B, C, D)
- মডেল 2: B vs. (A, C, D)
- মডেল 3: C vs. (A, B, D)
- মডেল 4: D vs. (A, B, C)
- ধরুন, আপনার ডেটাতে 4টি ক্লাস আছে (A, B, C, D)। OvR কৌশলে 4টি বাইনারি শ্রেণীকরণ মডেল তৈরি করা হবে:
- প্রতিটি মডেলের মাধ্যমে একটি প্রেডিকশন: প্রতিটি মডেল তার নিজস্ব ক্লাসের বিরুদ্ধে প্রেডিকশন করবে (1 বা 0)।
- ফাইনাল সিদ্ধান্ত: সব মডেল প্রেডিকশন করার পর, যেই ক্লাসের জন্য মডেলটি সবচেয়ে উচ্চ প্রোবাবিলিটি বা স্কোর দেবে, সেই ক্লাসটিই চূড়ান্ত আউটপুট হিসেবে নির্বাচিত হবে।
উদাহরণ:
- যদি 3টি ক্লাস থাকে (A, B, C), তবে:
- মডেল 1: A বনাম B ও C
- মডেল 2: B বনাম A ও C
- মডেল 3: C বনাম A ও B
প্রতিটি মডেল ট্রেনিং করার পর, আপনার কোড নির্ধারণ করবে, কোন মডেল সবচেয়ে বেশি সঠিক প্রেডিকশন দিয়েছে।
সুবিধা:
- সহজ এবং বাস্তবায়নযোগ্য।
- সাধারণত দ্রুত এবং কার্যকরী যদি ডেটার সংখ্যা কম থাকে।
অসুবিধা:
- যখন ক্লাসের সংখ্যা খুব বেশি হয়, তখন মডেল তৈরির সংখ্যা বাড়িয়ে দেয় (যেমন 100টি ক্লাসের জন্য 100টি মডেল)।
- Class imbalance সমস্যা হতে পারে, যেখানে কিছু ক্লাসের সংখ্যা অনেক বেশি বা অনেক কম থাকে।
2. One-vs-One (OvO) পদ্ধতি:
One-vs-One (OvO) কৌশলে, প্রতিটি দুটি ক্লাসের মধ্যে একটি বাইনারি শ্রেণীকরণ মডেল তৈরি করা হয়। ধরুন, আপনার ডেটাতে 4টি ক্লাস আছে (A, B, C, D), তাহলে এই পদ্ধতিতে 6টি বাইনারি ক্লাসিফায়ার তৈরি করা হবে:
- মডেল 1: A vs. B
- মডেল 2: A vs. C
- মডেল 3: A vs. D
- মডেল 4: B vs. C
- মডেল 5: B vs. D
- মডেল 6: C vs. D
পদ্ধতি:
- প্রতিটি জোড়া ক্লাসের জন্য একটি বাইনারি শ্রেণীকরণ মডেল তৈরি করুন: মডেলগুলি প্রতিটি ক্লাসের দুটি ক্লাসের বিরুদ্ধে কাজ করবে।
- প্রতিটি মডেল প্রেডিকশন করবে: সমস্ত মডেল তাদের প্রেডিকশন (1 বা 0) করবে।
- ফাইনাল সিদ্ধান্ত: যেহেতু অনেক মডেল আছে, প্রতিটি মডেল একটি ভোট দেয় এবং যেই ক্লাস সবচেয়ে বেশি ভোট পাবে, সেটি চূড়ান্ত সিদ্ধান্ত হবে।
উদাহরণ:
- যদি 3টি ক্লাস থাকে (A, B, C), তাহলে:
- মডেল 1: A vs. B
- মডেল 2: A vs. C
- মডেল 3: B vs. C
এবং তারপর প্রতিটি মডেল ভোট দেবে, এবং যে ক্লাস সবচেয়ে বেশি ভোট পাবে সেটি চূড়ান্ত আউটপুট হবে।
সুবিধা:
- সাধারণত বেশ কার্যকরী, কারণ প্রতিটি মডেল শুধুমাত্র দুটি ক্লাসের মধ্যে সিদ্ধান্ত নেয়।
- Class imbalance সমস্যা কম হতে পারে, কারণ প্রতিটি মডেল দুটি ক্লাসের উপর কাজ করে।
অসুবিধা:
- অনেক মডেল তৈরি করার প্রয়োজন (যদি ক্লাস থাকে, তাহলে মোট মডেল সংখ্যা হবে )।
- যদি ক্লাসের সংখ্যা অনেক বেশি হয়, তাহলে খুব বেশি মডেল তৈরি করতে হবে, যা কম্পিউটেশনালভাবে ব্যয়বহুল।
3. OvR vs OvO তুলনা
| বৈশিষ্ট্য | One-vs-Rest (OvR) | One-vs-One (OvO) |
|---|---|---|
| মডেল সংখ্যা | (যেখানে হল ক্লাসের সংখ্যা) | (যেখানে হল ক্লাসের সংখ্যা) |
| প্রচেষ্টা | তুলনামূলকভাবে কম কম্পিউটেশনাল প্রচেষ্টা | বেশি কম্পিউটেশনাল প্রচেষ্টা |
| ক্লাস ইমব্যালেন্স | Class imbalance বেশি হতে পারে | Class imbalance কম হতে পারে |
| পারফরম্যান্স | দ্রুত এবং সহজ, তবে ক্লাস সংখ্যা বেশি হলে সমস্যা হতে পারে | সাধারণত আরও ভালো পারফরম্যান্স, তবে বেশি মডেল তৈরি করতে হয় |
সারাংশ:
- One-vs-Rest (OvR) পদ্ধতি একটি সহজ এবং কম্পিউটেশনালভাবে কম ব্যয়বহুল পদ্ধতি, যেখানে এক ক্লাসের বিরুদ্ধে অন্য সব ক্লাসগুলো একত্রিত করা হয়।
- One-vs-One (OvO) পদ্ধতিতে প্রতিটি ক্লাসের জন্য অন্য সমস্ত ক্লাসের সঙ্গে আলাদা বাইনারি মডেল তৈরি করা হয়, যা সাধারণত আরও ভালো পারফরম্যান্স দিতে পারে তবে অনেক বেশি মডেল তৈরি করতে হয়।
- উভয় পদ্ধতি মাল্টিক্লাস ক্লাসিফিকেশন সমস্যার জন্য ব্যবহার করা যেতে পারে, এবং প্রতিটির সুবিধা ও অসুবিধা রয়েছে, যা ডেটার প্রকৃতি এবং মডেল ট্রেনিংয়ের নির্দিষ্ট প্রয়োজন অনুযায়ী নির্বাচন করা উচিত।
Read more