মেশিন লার্নিং শেখার সময় আমরা প্রায়শই শুনি “overfitting” এবং “underfitting” শব্দ দুটি। কিন্তু কীভাবে বুঝবেন আপনার মডেল আসলে বেশি শিখে ফেলেছে না কম? উত্তর হচ্ছে — Learning Curve।
🧠 Learning Curve কী?
Learning Curve হলো এমন একটি গ্রাফ, যা দেখায় আপনার মডেল কিভাবে ট্রেনিং ও ভ্যালিডেশন ডেটার উপর পারফর্ম করছে। এটি মূলত Training score এবং Validation score এর পরিবর্তন দেখায় ডেটাসেটের আকার বৃদ্ধির সাথে।
📊 কেন এটি গুরুত্বপূর্ণ?
- Overfitting আছে কি না বুঝতে সাহায্য করে
- Model উন্নত করার জন্য আরও ডেটা দরকার কি না তা জানতে
- Model এর bias এবং variance বিশ্লেষণ করতে
🧪 Python উদাহরণ (Sklearn ব্যবহার করে)
from sklearn.model_selection import learning_curve
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
from sklearn.model_selection import ShuffleSplit
import matplotlib.pyplot as plt
import numpy as np
# সিমুলেটেড ডেটা তৈরি
X, y = make_classification(n_samples=1000, n_features=20, random_state=42)
# Model ও cross-validation setup
model = LogisticRegression()
cv = ShuffleSplit(n_splits=5, test_size=0.2, random_state=0)
# Learning curve গণনা
train_sizes, train_scores, val_scores = learning_curve(
model, X, y, cv=cv, n_jobs=-1, train_sizes=np.linspace(0.1, 1.0, 5)
)
# গড় স্কোর বের করা
train_mean = np.mean(train_scores, axis=1)
val_mean = np.mean(val_scores, axis=1)
# গ্রাফ আঁকা
plt.plot(train_sizes, train_mean, 'o-', color='blue', label='Training Score')
plt.plot(train_sizes, val_mean, 'o-', color='green', label='Validation Score')
plt.xlabel('Training Set Size')
plt.ylabel('Accuracy')
plt.title('Learning Curve')
plt.legend(loc='best')
plt.grid(True)
plt.show()
🔍 কীভাবে বুঝবেন:
- High Bias: Training এবং Validation score দুটোই কম → মডেল আরো শক্তিশালী করা দরকার
- High Variance: Training score বেশি, Validation score কম → Overfitting হচ্ছে
- Good Fit: Training ও Validation score কাছাকাছি এবং উভয়ই ভালো → মডেল ভালো
📌 উপসংহার
Learning Curve হলো মডেল পারফরম্যান্স বিশ্লেষণের জন্য একটি দরকারী হাতিয়ার। এটি আপনাকে জানায় কখন মডেলকে আরও ডেটা খাওয়াতে হবে, কখন পরিবর্তন করতে হবে হাইপারপ্যারামিটার, বা কখন নতুন মডেল ট্রাই করা দরকার।
✍️ লেখক পরিচিতি
Amanul Islam বর্তমানে PhD in Security করছেন University of Colorado at Colorado Springs-এ। তিনি বাংলাদেশের পাঠকদের জন্য বাংলা ভাষায় মেশিন লার্নিং ও কৃত্রিম বুদ্ধিমত্তা সহজভাবে শেখানোর লক্ষ্যে এই ব্লগ সিরিজ শুরু করেছেন।
👉 আরো পড়ুন: ICT Academy Bangladesh
🔜 পরবর্তী ব্লগে আসছে:
🧠 Introduction to Deep Learning: মানুষ কিভাবে শেখে, মেশিনও ঠিক তেমন!

0 মন্তব্যসমূহ