মেশিন লার্নিং (Machine Learning) এর দুটি প্রধান শাখা হলো Supervised Learning এবং Unsupervised Learning। এই দুটি শাখার মধ্যে গুরুত্বপূর্ণ পার্থক্য রয়েছে, যেমন ডেটার গঠন, উদ্দেশ্য এবং মডেল প্রশিক্ষণের পদ্ধতি।
১. Supervised Learning (সুপারভাইজড লার্নিং)
Supervised Learning এমন একটি মেশিন লার্নিং পদ্ধতি যেখানে মডেলটি পূর্বে লেবেলকৃত (labelled) ডেটা থেকে শিখে এবং তারপরে ভবিষ্যদ্বাণী করতে বা শ্রেণীবদ্ধ করতে ব্যবহার করা হয়।
বৈশিষ্ট্য:
- লেবেলকৃত ডেটা: সুপারভাইজড লার্নিংয়ে প্রতিটি ইনপুট ডেটার জন্য একটি সঠিক আউটপুট (লেবেল) থাকে। এই লেবেলটি একটি ক্লাস বা একটি পরিমাণ হতে পারে, যেমন "স্প্যাম" বা "নন-স্প্যাম"।
- মডেল প্রশিক্ষণ: মডেলটি ইনপুট এবং আউটপুটের সম্পর্ক শিখে, যাতে নতুন ইনপুট ডেটা আসলে সঠিক আউটপুট প্রদান করতে পারে।
উদাহরণ:
- ক্লাসিফিকেশন (Classification): এটি একটি সাধারণ সুপারভাইজড লার্নিং সমস্যা যেখানে আউটপুটটি একটি নির্দিষ্ট শ্রেণী বা ক্লাস হতে হবে। যেমন, একটি ইমেইল যদি "স্প্যাম" বা "নন-স্প্যাম" শ্রেণীতে বিভক্ত করা হয়।
- উদাহরণ: একটি সেলফি ছবিতে কি "কুকুর" বা "বিড়াল" আছে, তা চিহ্নিত করা।
- রিগ্রেশন (Regression): এখানে আউটপুট একটি ক্রমাগত মান হতে পারে। এটি সাধারণত পূর্বাভাস তৈরিতে ব্যবহৃত হয়।
- উদাহরণ: একটি বাড়ির দাম পূর্বাভাস দেওয়া, যেখানে আউটপুট একটি নির্দিষ্ট পরিমাণ (বাজার মূল্য) হতে পারে।
মডেল উদাহরণ:
- লিনিয়ার রিগ্রেশন (Linear Regression): রিগ্রেশন সমস্যায় ব্যবহৃত হয়।
- লজিস্টিক রিগ্রেশন (Logistic Regression): ক্লাসিফিকেশন সমস্যায় ব্যবহৃত হয়।
- ডিসিশন ট্রি (Decision Tree): ক্লাসিফিকেশন এবং রিগ্রেশন উভয় সমস্যায় ব্যবহৃত হয়।
- সাপোর্ট ভেক্টর মেশিন (SVM): ক্লাসিফিকেশন সমস্যায় ব্যবহৃত হয়।
উদাহরণ কোড (Supervised Learning - Classification):
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
# Iris dataset লোড করা
iris = load_iris()
X = iris.data
y = iris.target
# ডেটা ট্রেনিং এবং টেস্টিং সেটে ভাগ করা
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
# মডেল তৈরি এবং প্রশিক্ষণ
model = RandomForestClassifier()
model.fit(X_train, y_train)
# পূর্বাভাস করা
y_pred = model.predict(X_test)
# মডেল মূল্যায়ন
print("Accuracy:", accuracy_score(y_test, y_pred))
২. Unsupervised Learning (আনসুপারভাইজড লার্নিং)
Unsupervised Learning এমন একটি মেশিন লার্নিং পদ্ধতি যেখানে মডেলটি লেবেলহীন ডেটা থেকে শিখে এবং ডেটার মধ্যে লুকানো প্যাটার্ন বা সম্পর্ক খুঁজে বের করার চেষ্টা করে। এখানে ডেটার আউটপুট বা লেবেল কোনো কিছু জানানো হয় না, সুতরাং মডেলটি নিজের পছন্দমতো তথ্য শ্রেণীবদ্ধ বা গ্রুপ করতে শিখে।
বৈশিষ্ট্য:
- লেবেলহীন ডেটা: আনসুপারভাইজড লার্নিংয়ে ডেটা আউটপুটের জন্য কোন লেবেল দেওয়া হয় না।
- প্যাটার্ন বা গ্রুপিং খোঁজা: মডেলটি ইনপুট ডেটাতে লুকানো প্যাটার্ন বা সম্পর্ক খুঁজে বের করতে চেষ্টা করে। যেমন, ডেটার মধ্যে ক্লাস্টার (clusters) খোঁজা।
উদাহরণ:
- ক্লাস্টারিং (Clustering): এটি সবচেয়ে সাধারণ আনসুপারভাইজড লার্নিং সমস্যা যেখানে ডেটা পয়েন্টগুলিকে বিভিন্ন ক্লাস্টারে ভাগ করা হয়। মডেলটি ডেটার মধ্যে সাধারণ বৈশিষ্ট্য খুঁজে বের করে।
- উদাহরণ: কাস্টমারদের ক্রয়ের ধরন অনুযায়ী শ্রেণীবদ্ধ করা (যে কাস্টমার একই ধরনের পণ্য ক্রয় করে তাদের একটি গ্রুপে রাখা)।
- অ্যাসোসিয়েশন (Association): এখানে ডেটা পয়েন্টগুলির মধ্যে সম্পর্ক খুঁজে বের করা হয়। যেমন, গ্রাহকদের যে পণ্যগুলোর সাথে অন্য পণ্য কিনতে দেখা যায়।
- উদাহরণ: মার্কেট বাস্কেট অ্যানালাইসিসে পণ্য সম্পর্ক খুঁজে বের করা।
মডেল উদাহরণ:
- K-means Clustering: ক্লাস্টারিং সমস্যা সমাধানে ব্যবহৃত হয়।
- Hierarchical Clustering: ডেটার হায়ারার্কিক্যাল সম্পর্ক বিশ্লেষণ করে।
- Principal Component Analysis (PCA): ডেটার মাত্রা কমানোর জন্য ব্যবহৃত হয়।
উদাহরণ কোড (Unsupervised Learning - Clustering):
from sklearn.datasets import load_iris
from sklearn.cluster import KMeans
import numpy as np
# Iris dataset লোড করা
iris = load_iris()
X = iris.data
# KMeans ক্লাস্টারিং মডেল তৈরি
kmeans = KMeans(n_clusters=3)
kmeans.fit(X)
# ক্লাস্টার সেন্টার এবং ক্লাস্টার পছন্দ
print("Cluster Centers:\n", kmeans.cluster_centers_)
print("Predicted Labels:", kmeans.labels_)
পার্থক্য: Supervised এবং Unsupervised Learning
| বৈশিষ্ট্য | Supervised Learning | Unsupervised Learning |
|---|---|---|
| ডেটা | লেবেলকৃত (Labelled) ডেটা | লেবেলহীন (Unlabelled) ডেটা |
| কাজের ধরন | ক্লাসিফিকেশন, রিগ্রেশন | ক্লাস্টারিং, অ্যাসোসিয়েশন |
| উদ্দেশ্য | নির্দিষ্ট আউটপুট বা ক্লাস শিখানো | ডেটার মধ্যে লুকানো প্যাটার্ন বা সম্পর্ক খোঁজা |
| ডেটা প্রক্রিয়াকরণ | আউটপুট বা লেবেল সহ সঠিক সম্পর্ক শিখে | ডেটার মধ্যে কোনো সম্পর্ক বা কাঠামো খুঁজে বের করা |
| ব্যবহার | ভবিষ্যদ্বাণী করা, শ্রেণীবদ্ধ করা | ডেটাকে ক্লাস্টার করা, সম্পর্ক খুঁজে বের করা |
| মডেল উদাহরণ | লিনিয়ার রিগ্রেশন, ডিসিশন ট্রি, SVM | K-means ক্লাস্টারিং, PCA |
সারাংশ
Supervised Learning মডেলগুলো লেবেলকৃত ডেটা থেকে শিখে এবং সঠিক আউটপুট তৈরি করতে পারে, যেটি সাধারণত ক্লাসিফিকেশন এবং রিগ্রেশন কাজের জন্য ব্যবহৃত হয়। Unsupervised Learning মডেলগুলো লেবেলহীন ডেটা থেকে প্যাটার্ন বা সম্পর্ক খুঁজে বের করতে সাহায্য করে, যেটি ক্লাস্টারিং এবং অ্যাসোসিয়েশন কাজের জন্য ব্যবহৃত হয়। মেশিন লার্নিং এর এই দুটি শাখা বিভিন্ন প্রকার সমস্যার সমাধান করতে ব্যবহৃত হয়, এবং প্রতিটির নিজস্ব ব্যবহার ক্ষেত্র রয়েছে।