Supervised Learning: তত্ত্ব ও প্রয়োগ
Supervised Learning হল Machine Learning-এর একটি গুরুত্বপূর্ণ শাখা, যেখানে আমরা লেবেলযুক্ত ডেটা ব্যবহার করে মডেল প্রশিক্ষণ করি। এই পদ্ধতিতে, প্রতিটি ট্রেনিং উদাহরণের একটি ইনপুট এবং তার সঠিক আউটপুট (লেবেল) থাকে। মডেলটি এই উদাহরণগুলি থেকে শেখে এবং নতুন, অজানা ইনপুটগুলির জন্য সঠিক আউটপুট পূর্বাভাস করার ক্ষমতা অর্জন করে।
Supervised Learning দুটি প্রধান ধরনের সমস্যার সমাধানে ব্যবহৃত হয়: Regression এবং Classification। এই দুটি পদ্ধতির মধ্যে পার্থক্য বোঝা এবং তাদের প্রয়োগ বোঝা খুবই গুরুত্বপূর্ণ। আসুন এই ধারণাগুলি বিস্তারিতভাবে বুঝি এবং বাস্তব জীবনের উদাহরণ দেখি।
Regression vs Classification: মৌলিক পার্থক্য
Regression
Regression হল একটি পদ্ধতি যেখানে আমরা কোনও চলরাশির মান পূর্বাভাস করি। আউটপুট একটি ক্রমাগত মান (continuous value) হয়।
  • উদাহরণ: বাড়ির দাম পূর্বাভাস
  • উদাহরণ: তাপমাত্রা পূর্বাভাস
  • উদাহরণ: বিক্রয় সংখ্যা পূর্বাভাস
Classification
Classification হল একটি পদ্ধতি যেখানে আমরা ডেটা পয়েন্টগুলিকে পূর্বনির্ধারিত শ্রেণীতে বিভক্ত করি। আউটপুট একটি বিচ্ছিন্ন মান (discrete value) হয়।
  • উদাহরণ: ইমেইল Spam নাকি Ham
  • উদাহরণ: রোগ ডায়াগনোসিস
  • উদাহরণ: হ্যান্ড-রাইটেন সংখ্যা চিনতে
Regression এবং Classification উভয়ই Supervised Learning-এর অংশ, কিন্তু তাদের আউটপুট প্রকৃতি ভিন্ন। Regression একটি সংখ্যাসূচক মান পূর্বাভাস করে যা যেকোনো মান নিতে পারে, যেমন একটি বাড়ির দাম হতে পারে $250,000 বা $350,500। অন্যদিকে, Classification একটি শ্রেণী বা লেবেল নির্ধারণ করে, যেমন একটি ইমেইল হয় Spam নাকি না।
বাস্তব জীবনের Classification সমস্যার উদাহরণ
Classification অ্যালগরিদমগুলি আমাদের দৈনন্দিন জীবনে ব্যাপকভাবে ব্যবহৃত হয়। এখানে কিছু গুরুত্বপূর্ণ উদাহরণ দেওয়া হল:
ইমেইল ফিল্টারিং
ইমেইল সেবাগুলি ব্যবহারকারীদের ইনবক্স থেকে অবাঞ্ছিত বার্তা ফিল্টার করতে Classification অ্যালগরিদম ব্যবহার করে। প্রতিটি ইমেইল বিশ্লেষণ করা হয় এবং এটি Spam নাকি Ham তা নির্ধারণ করা হয়।
মেডিকেল ডায়াগনোসিস
ডাক্তাররা রোগীদের লক্ষণ, পরীক্ষার ফলাফল এবং মেডিকেল ইতিহাস ব্যবহার করে রোগ চিহ্নিত করতে Classification মডেল ব্যবহার করেন। এটি সঠিক চিকিৎসা পদ্ধতি নির্বাচনে সাহায্য করে।
হ্যান্ড-রাইটেন সংখ্যা চেনা
Postal সেবাগুলি এবং ব্যাংকগুলি হাতে লেখা সংখ্যা স্বয়ংক্রিয়ভাবে চিনতে Classification অ্যালগরিদম ব্যবহার করে। এটি ডাক বিতরণ এবং চেক প্রক্রিয়াকরণকে দ্রুত করে।
ক্রেডিট কার্ড জালিয়াতি সনাক্তকরণ
ব্যাংকগুলি অস্বাভাবিক লেনদেন চিহ্নিত করতে Classification মডেল ব্যবহার করে যা জালিয়াতির সম্ভাবনা নির্দেশ করে। এটি গ্রাহকদের আর্থিক নিরাপত্তা নিশ্চিত করে।
Linear Classification: মৌলিক ধারণা
Linear Classification হল Classification-এর একটি সরল কিন্তু শক্তিশালী পদ্ধতি। এই পদ্ধতিতে, আমরা একটি সরল রেখা (বা হাইপারপ্লেন) ব্যবহার করি যা ইনপুট স্পেসকে দুটি বা তার বেশি শ্রেণীতে বিভক্ত করে। এই রেখাকে বলা হয় Linear Separator বা Decision Boundary।
01
ইনপুট প্রস্তুতকরণ
প্রথমে আমরা ইনপুট ডেটাকে সংখ্যাসূচক ভেক্টরে রূপান্তর করি। প্রতিটি বৈশিষ্ট্য (feature) একটি মাত্রার প্রতিনিধিত্ব করে।
02
ওজন নির্ধারণ
আমরা প্রতিটি বৈশিষ্ট্যের জন্য ওজন (weights) নির্ধারণ করি যা তাদের গুরুত্ব নির্দেশ করে। এই ওজনগুলি প্রশিক্ষণ প্রক্রিয়ায় শেখা হয়।
03
সিদ্ধান্ত গ্রহণ
আমরা ওজনযুক্ত ইনপুটের যোগফল এবং একটি বাইয়াস মান ব্যবহার করে সিদ্ধান্ত নেই যে ডেটা পয়েন্টটি কোন শ্রেণীর অন্তর্গত।
Linear Classifier-এর সাধারণ সূত্র হল: f(x) = w₁x₁ + w₂x₂ + ... + wₙxₙ + b, যেখানে wᵢ হল ওজন, xᵢ হল ইনপুট বৈশিষ্ট্য, এবং b হল বাইয়াস। যদি f(x) > 0 হয়, তাহলে আমরা ডেটা পয়েন্টটিকে একটি শ্রেণীতে আবদ্ধ করি, অন্যথায় অন্য শ্রেণীতে।
Threshold Classifier: সরলতার মধ্যে শক্তি
থ্রেশহোল্ড ক্লাসিফায়ার একটি নিয়ম যা একটি নির্দিষ্ট সীমানা (থ্রেশহোল্ড) মূল্য ব্যবহার করে সিদ্ধান্ত নেয়। যদি পূর্বাভাসকৃত মূল্য থ্রেশহোল্ডের চেয়ে বেশি হয়, তাহলে এটি একটি ক্লাসে, অন্যথায় অন্য ক্লাসে শ্রেণীবদ্ধ করা হয়।
যদি Y >= থ্রেশহোল্ড তাহলে ক্লাস ১ অন্যথায় ক্লাস 0
সূত্র
h(x) = { 1 যদি w·x + b ≥ θ, 0 অন্যথায় }
প্যারামিটার
w = ওজন ভেক্টর, b = বাইয়াস, θ = থ্রেশহোল্ড
Input Space এবং Linear Separator
Input Space হল সমস্ত সম্ভাব্য ইনপুট ডেটার জ্যামিতিক প্রতিনিধিত্ব। প্রতিটি ডেটা পয়েন্ট একটি মাত্রা বা ভেক্টর হিসাবে দেখা হয় যেখানে প্রতিটি বৈশিষ্ট্য একটি মাত্রার প্রতিনিধিত্ব করে। উদাহরণস্বরূপ, যদি আমাদের দুটি বৈশিষ্ট্য থাকে যেমন বাড়ির আকার এবং ঘরের সংখ্যা, তাহলে আমরা একটি 2D ইনপুট স্পেস পাই।
ডেটা পয়েন্ট
প্রতিটি ডেটা পয়েন্ট ইনপুট স্পেসে একটি বিন্দু হিসাবে উপস্থাপিত হয়
Linear Separator
একটি সরল রেখা যা স্পেসকে দুটি অংশে বিভক্ত করে
সিদ্ধান্ত
রেখার কোন পাশে ডেটা পয়েন্ট রয়েছে তা শ্রেণী নির্ধারণ করে
Linear Separator বা Decision Boundary হল একটি হাইপারপ্লেন যা ইনপুট স্পেসকে দুটি বা তার বেশি অঞ্চলে বিভক্ত করে। এই রেখার সমীকরণ হল: w·x + b = 0। এই রেখার এক পাশে সব ডেটা পয়েন্ট একটি শ্রেণীর অন্তর্গত এবং অন্য পাশে অন্য শ্রেণীর অন্তর্গত। এই রেখার অবস্থান এবং দিক ওজন ভেক্টর w এবং বাইয়াস b দ্বারা নির্ধারিত হয়।
Threshold Classifier-এর সীমাবদ্ধতা
যদিও Threshold Classifier সরল এবং দক্ষ, তবুও এর কিছু গুরুতর সীমাবদ্ধতা রয়েছে যা এটিকে সব সমস্যার জন্য উপযুক্ত করে না।
1
রৈখিক বিভাজ্যতার প্রয়োজন
Threshold Classifier শুধুমাত্র তখনই কাজ করে যখন ডেটা রৈখিকভাবে বিভাজ্য (linearly separable)। যদি দুটি শ্রেণীর মধ্যে কোনও সরল রেখা টানা না যায়, তাহলে এই পদ্ধতি ব্যর্থ হয়।
2
জটিল প্যাটার্ন মিস করা
বাস্তব জীবনের ডেটা প্রায়শই জটিল প্যাটার্ন এবং সম্পর্ক ধারণ করে যা রৈখিক মডেল দ্বারা ধরা যায় না। এই ক্ষেত্রে অ-রৈখিক পদ্ধতি প্রয়োজন।
3
আউটলিয়ারের প্রভাব
Threshold Classifier আউটলিয়ার (outliers) এবং শব্দ (noise) এর প্রতি সংবেদনশীল। একটি ভুল ডেটা পয়েন্ট মডেলের কর্মক্ষমতাকে উল্টে দিতে পারে।
4
বহুমাত্রিক সমস্যা
উচ্চ মাত্রার ডেটাতে Threshold Classifier কার্যকর হতে পারে না কারণ রৈখিক বিভাজ্যতার সম্ভাবনা কমে যায় এবং ওভারফিটিং হওয়ার ঝুঁকি থাকে।
উদাহরণস্বরূপ, XOR সমস্যাটি রৈখিকভাবে বিভাজ্য নয়। এখানে দুটি ক্লাসের ডেটা পয়েন্টগুলি এমনভাবে সাজানো যে কোনও সরল রেখা দিয়ে তাদের আলাদা করা সম্ভব নয়। এই ধরনের সমস্যার জন্য আমাদের অ-রৈখিক মডেল বা আরও জটিল অ্যালগরিদম প্রয়োজন।
Misclassification Error এবং Accuracy
Misclassification Error
Misclassification Error হল একটি মডেলের কর্মক্ষমতা পরিমাপের একটি গুরুত্বপূর্ণ মেট্রিক। মিসক্লাসিফিকেশন ত্রুটি হল সেই সংখ্যক ডেটা পয়েন্টের শতাংশ যা ভুলভাবে শ্রেণীবদ্ধ করা হয়েছে।
সূত্র: Error Rate = (ভুল শ্রেণীভুক্ত ডেটা পয়েন্টের সংখ্যা) / (মোট ডেটা পয়েন্টের সংখ্যা)
Accuracy
Accuracy হল মডেলের কর্মক্ষমতা পরিমাপের আরেকটি মেট্রিক যা সঠিকভাবে শ্রেণীভুক্ত ডেটা পয়েন্টের শতাংশ নির্দেশ করে। এটি মোট ডেটা পয়েন্টের মধ্যে সঠিক পূর্বাভাসের সংখ্যা।
সূত্র: Accuracy = (সঠিক শ্রেণীভুক্ত ডেটা পয়েন্টের সংখ্যা) / (মোট ডেটা পয়েন্টের সংখ্যা) × 100%
Accuracy এবং Error Rate এর মধ্যে সম্পর্ক: Accuracy = 1 - Error Rate
95%
উচ্চ Accuracy
ভাল মডেলের জন্য সাধারণত 90% এর বেশি
5%
নিম্ন Error Rate
ভাল মডেলের জন্য সাধারণত 10% এর নিচে
100
টেস্ট ডেটা
মডেল মূল্যায়নের জন্য ব্যবহৃত ডেটা পয়েন্ট
বাস্তব উদাহরণ: ইমেইল Spam ফিল্টারিং
উদাহরণ ১:
ধরুন আমাদের কাছে ৫০টি ইমেইল রয়েছে এবং আমরা সেগুলি স্প্যাম বা স্প্যাম নয় এমন ভাবে শ্রেণীবদ্ধ করতে চাই।
গণনা:
  • সঠিক পূর্বাভাস = ৩৫ + ১০ = ৪৫
  • নির্ভুলতা = (৪৫ / ৫০) × ১০০% = ৯০%
  • মিসক্লাসিফিকেশন ত্রুটি = (৫ / ৫০) × ১০০% = ১০%
উদাহরণ ২: ছাত্র পাস/ফেল ভবিষ্যদ্বাণী
ধরুন একটি মডেল পরীক্ষার নম্বর দেখে ছাত্র পাস বা ফেল করবে তা ভবিষ্যদ্বাণী করে। থ্রেশহোল্ড = ৫০ নম্বর।
গণনা:
  • সঠিক পূর্বাভাস = ৫৫ + ৩৮ = ৯৩
  • নির্ভুলতা = (৯৩ / ১০০) × ১০০% = ৯৩%
  • মিসক্লাসিফিকেশন ত্রুটি = (৭ / ১০০) × ১০০% = ৭%
Made with