পাঠ ০১ · ৪৫-এর মধ্যে · মডিউল ১
Home / AI Courses / Machine Learning / ML কী

ML কী — Supervised, Unsupervised, RL

What is Machine Learning — three types
৬ মিনিট পড়া শুরু · Beginner NumPy কোডসহ

এই পাঠে যা শিখবেন

  • মেশিন লার্নিং বনাম ঐতিহ্যবাহী প্রোগ্রামিং — মৌলিক পার্থক্য
  • Supervised, Unsupervised, Reinforcement — তিন ধরনের ভেতরের কাজ
  • প্রতিটি ধরনের বাস্তব উদাহরণ — বাংলাদেশের প্রসঙ্গে
  • scikit-learn দিয়ে প্রথম supervised মডেল চালানো

১ · ঐতিহ্যবাহী প্রোগ্রামিং বনাম ML

ঐতিহ্যবাহী প্রোগ্রামিং-এ আপনি নিয়ম লিখে দেন — কম্পিউটার সেই নিয়ম মেনে আউটপুট দেয়। যেমন — "যদি ইমেইলে 'lottery' শব্দ থাকে, তাহলে spam।" কিন্তু বাস্তব জগতে নিয়ম এত সরল নয়। স্প্যামাররা প্রতিদিন নতুন কৌশল ব্যবহার করে — আপনি কতগুলো শর্ত হাতে লিখবেন?

মেশিন লার্নিংMachine Learningএকটি কম্পিউটিং পদ্ধতি যেখানে অ্যালগরিদম ডেটা থেকে নিজেই নিয়ম শেখে — মানুষ নিয়ম লিখে দেয় না। Tom Mitchell-এর সংজ্ঞা (১৯৯৭): "একটি প্রোগ্রাম T কাজে অভিজ্ঞতা E থেকে শেখে যদি P পরিমাপ অনুসারে এর কার্যক্ষমতা বাড়ে।"-এ আপনি উদাহরণ দেন — মডেল নিজেই নিয়ম খুঁজে বের করে। ১০,০০০ স্প্যাম ও ১০,০০০ স্বাভাবিক ইমেইল দেখিয়ে দিন — মডেল প্যাটার্ন ধরে ফেলবে যা মানুষ হয়তো বলে দিতে পারত না।

দৃষ্টান্ত পরিবর্তন

ঐতিহ্যবাহী: Input + Rules → Output
ML: Input + Output → Rules
মানে — ML "নিয়ম শেখার" একটি প্রক্রিয়া, ডেটা হলো শিক্ষক।

২ · Supervised Learning — শিক্ষকসহ শেখা

Supervised learningSupervised Learningপ্রতিটি training উদাহরণে input $x$ ও সঠিক output $y$ (label) দু'টোই থাকে। মডেল $f(x) \approx y$ ফাংশন শেখে। ৮০% production ML এই ধরনের।-এ প্রতিটি training উদাহরণে দু'টি জিনিস — input ($x$) ও সঠিক উত্তর ($y$, যাকে label বলে)। মডেল এমন একটি ফাংশন $f$ শেখে যেন $f(x) \approx y$।

দু'টি উপ-ধরন:

  • Classification: output একটি শ্রেণি — "spam/not spam", "বিড়াল/কুকুর/পাখি"। L12 (Logistic Regression), L19 (Decision Tree), L27 (SVM)-এ বিস্তারিত।
  • Regression: output একটি সংখ্যা — "আগামীকালের তাপমাত্রা", "এই বাড়ির দাম"। L09 (Linear Regression)-এ বিস্তারিত।
ভাবুন — শিশুকে আপেল ও কমলা চেনাচ্ছেন। প্রতিবার ফল দেখিয়ে বলছেন "এটা আপেল", "এটা কমলা"। ১০০টি উদাহরণের পর শিশু নতুন ফল দেখে নিজেই বলতে পারবে। এটাই supervised learning — আপনি (শিক্ষক) প্রতিটি উদাহরণে সঠিক উত্তর দিচ্ছেন।

৩ · Unsupervised Learning — শিক্ষক ছাড়া

Unsupervised learningUnsupervised Learningশুধু input $x$ থাকে, কোনো label $y$ নেই। মডেল ডেটায় লুকানো গঠন খুঁজে বের করে — clusters, patterns, low-dimensional structure।-এ শুধু input আছে — কোনো label নেই। মডেল ডেটায় "লুকানো গঠন" খুঁজে বের করে।

প্রধান কাজ:

  • Clustering: "একই ধরনের" বস্তুগুলো একসাথে। K-Means (L31), DBSCAN (L33), Hierarchical (L32)।
  • Dimensionality reduction: ১০০-D ডেটা → ২-D plot. PCA (L34), t-SNE (L35)।
  • Anomaly detection: "অস্বাভাবিক" উদাহরণ চিহ্নিতকরণ — fraud, system failure।

উদাহরণ: Daraz-এ ১০ লক্ষ গ্রাহক — তাদের কেনাকাটার প্যাটার্ন থেকে ৫টি স্বতন্ত্র সেগমেন্ট বের করা — কেউ ফ্যাশন-প্রেমিক, কেউ গ্যাজেট-প্রেমিক — কেউ আগে থেকে এই গ্রুপ define করেনি, মডেল ডেটায় খুঁজে পেল।

৪ · Reinforcement Learning — অভিজ্ঞতা থেকে

Reinforcement LearningReinforcement Learningএকটি agent পরিবেশের সাথে interact করে — action নেয়, reward পায়। লক্ষ্য — দীর্ঘমেয়াদী পুরস্কার সর্বোচ্চ করা। AlphaGo, ChatGPT (RLHF), robot control — এই পদ্ধতি। (RL) — সবচেয়ে আলাদা। কোনো নির্দিষ্ট ডেটাসেট নেই। একটি agent পরিবেশের সাথে interact করে — action নেয়, reward পায়। লক্ষ্য — দীর্ঘমেয়াদী পুরস্কার সর্বোচ্চ করা।

উদাহরণ:

  • AlphaGo — কোটি কোটি গেম নিজে নিজে খেলে শিখেছে।
  • Pathao-এর route optimization — কোন রুট ছোট, কোনটা যানজটমুক্ত — driver-এর অভিজ্ঞতা থেকে শেখা।
  • ChatGPT-এর "RLHF" — মানুষের feedback থেকে উত্তর উন্নত করা।
RL এই কোর্সের সরাসরি বিষয় নয় — তবে প্রসঙ্গক্রমে আসবে। ABCL TECH-এর আলাদা Reinforcement Learning track-এ এই বিষয়ে গভীরভাবে শিখুন।
মেশিন লার্নিং — তিন ধরন Supervised · Unsupervised · Reinforcement 🎯 Supervised শিক্ষকসহ Input + Label (x, y) Classification Regression 📧 spam ফিল্টার 🏠 বাড়ির দাম 🩺 রোগ নির্ণয় 🔍 Unsupervised শিক্ষক ছাড়া Input only (x) Clustering Dim. reduction 🛒 গ্রাহক সেগমেন্ট 📊 PCA visualization 🚨 anomaly detection 🎮 Reinforcement পুরস্কার থেকে Action → Reward (s, a, r, s') Policy learning Long-term reward ♟ AlphaGo 🚗 self-driving 🤖 robot control এই কোর্সে: M2-M3 = Supervised · M5 = Unsupervised
ML-এর তিন ধরন — input, output, প্রয়োগ ক্ষেত্রে আলাদা।

৫ · কোন ধরন বাছাই করব?

সমস্যা থেকে ধরন বাছাই — একটি সহজ পথনির্দেশ:

সিদ্ধান্ত গাছ

১) আপনার কাছে label আছে? → হ্যাঁ → Supervised
২) label নেই, গঠন খুঁজছেন? → Unsupervised
৩) একটি system-এর সাথে interact করে শিখতে চান? → RL
৪) label নেই কিন্তু পরে label দেওয়া যায়? → Active learning / Semi-supervised

৬ · প্রথম supervised মডেল — হাতে-কলমে

scikit-learn দিয়ে একটি classification মডেল চালানো — মাত্র ৬ লাইনে:

Python · scikit-learn
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split

X, y = load_iris(return_X_y=True)        # input X, label y
X_tr, X_te, y_tr, y_te = train_test_split(X, y, test_size=0.3, random_state=42)

model = LogisticRegression(max_iter=200)
model.fit(X_tr, y_tr)                    # supervised — শিখছে
print("Test accuracy:", model.score(X_te, y_te))

    
Iris dataset — তিন ধরনের ফুল (setosa, versicolor, virginica)। মডেল ৪টি বৈশিষ্ট্য (পাপড়ির দৈর্ঘ্য, প্রস্থ ইত্যাদি) থেকে শ্রেণি predict করতে শিখছে। Accuracy ~৯৭%।

৭ · প্রথম unsupervised — clustering

Python · scikit-learn
from sklearn.datasets import load_iris
from sklearn.cluster import KMeans

X, _ = load_iris(return_X_y=True)        # label উপেক্ষা — unsupervised

km = KMeans(n_clusters=3, n_init=10, random_state=42)
km.fit(X)                                # গঠন খুঁজছে

print("Cluster labels (first 10):", km.labels_[:10])
print("Cluster centers shape:", km.cluster_centers_.shape)

    
মডেল কোনো label না দেখে ৩টি গ্রুপ আলাদা করল — ফুলের চারটি বৈশিষ্ট্যের সাদৃশ্য থেকে। K-Means এর গভীর তত্ত্ব L31-এ।

৮ · ML-এর গাণিতিক রূপ

Supervised learning-এর অনুষ্ঠানিক সংজ্ঞা — একটি ফাংশন $f: \mathcal{X} \to \mathcal{Y}$ শেখা যেন training set $\{(x_i, y_i)\}_{i=1}^n$-এর উপর lossLoss Functionpredicted output ও সঠিক output-এর মধ্যে "ভুলের" পরিমাপ। যেমন — squared error, cross-entropy. মডেল train মানে loss কমানো। ন্যূনতম হয়:

$$\hat{f} = \arg\min_{f \in \mathcal{H}} \frac{1}{n}\sum_{i=1}^{n} L(f(x_i), y_i)$$

এখানে $\mathcal{H}$ হলো hypothesis class (যেসব সম্ভাব্য function বিবেচনায়), $L$ হলো loss function। এই formulation-এর গভীর ব্যাখ্যা পরের পাঠে (L02 — ERM)।

ML "জাদু" নয় — পরিসংখ্যান + অপ্টিমাইজেশন + কম্পিউটিং। প্রতিটি মডেল ভুল করে। লক্ষ্য — গ্রহণযোগ্য সীমার ভেতরে ভুল রাখা, এবং কোথায় কেমন ভুল করছে তা বোঝা।

ভাবনার প্রশ্ন

প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।

প্র ০১ একটি সমস্যা আপনার কাছে এসেছে: "Daraz-এর প্রতিটি পণ্যে স্বয়ংক্রিয়ভাবে ক্যাটেগরি ট্যাগ বসানো — fashion, electronics, beauty ইত্যাদি।" এটি Supervised, Unsupervised, না Reinforcement? কেন?

এটি একটি Supervised classification সমস্যা — কিন্তু সরাসরি নয়, প্রসঙ্গের উপর নির্ভরশীল।

কেন supervised:

  • পূর্ববর্তী পণ্যগুলোর ক্যাটেগরি ইতিমধ্যেই মানুষের হাতে ট্যাগ করা — সেটাই training data ($x$ = পণ্যের নাম/বিবরণ/ছবি, $y$ = ক্যাটেগরি)।
  • লক্ষ্য — নতুন পণ্যের জন্য একই ধরনের ট্যাগ predict করা।
  • এটি classic multi-class classification — text classification ও image classification-এর সমন্বয়।

তবে কোম্পানি যদি একটি নতুন categorization scheme চায়:

  • প্রথম ধাপে — clustering (unsupervised) করে দেখা — পণ্যগুলো প্রাকৃতিকভাবে কয়টি গ্রুপে বিভক্ত।
  • সেই cluster-গুলো দেখে মানুষ ক্যাটেগরি নাম দেয়।
  • তারপর সেই label দিয়ে একটি supervised model train।

RL কেন নয়:

  • RL দরকার যেখানে action-এর result তাৎক্ষণিক, এবং action sequence গুরুত্বপূর্ণ।
  • একটি পণ্যের ক্যাটেগরি একবার ঠিক হলেই কাজ শেষ — ধারাবাহিক sequence নেই।
  • RL এই ধরনের কাজে অত্যধিক জটিল ও inefficient।

বাস্তব Daraz/Amazon কীভাবে করে: Multi-modal supervised — পণ্যের নাম (text), বিবরণ (text), ছবি (image), seller history সব মিলিয়ে একটি hybrid মডেল। লেবেল ক্রমাগত মানুষের ছোটো batch থেকে আসে। নতুন ক্যাটেগরি পেতে — periodic clustering analysis।

মূল উপলব্ধি: "কোন ধরনের ML" — সমস্যা নিজে বলে দেয় না, ডেটার উপস্থিতি ও ব্যবসায়িক লক্ষ্য বলে দেয়।

প্র ০২ "মডেল ৯৯% accuracy দিচ্ছে training-এ, কিন্তু production-এ ৬০%" — এই পরিচিত সমস্যা কেন হয়? এটি ML-এর কোন মৌলিক চ্যালেঞ্জের সাথে সম্পর্কিত?

এটি ML-এর সবচেয়ে গভীর সমস্যা — generalization gap। মডেল training data "মুখস্থ" করেছে, কিন্তু underlying pattern শেখেনি।

সম্ভাব্য কারণ:

  • Overfitting: মডেল এত complex যে training-এর প্রতিটি noise-ও শিখে ফেলেছে। নতুন ডেটায় সেই noise নেই — তাই ব্যর্থ। Bias-Variance tradeoff (L04)-এ বিস্তারিত।
  • Distribution shift: Training data ২০২৩-এর — production ২০২৬-এ। ব্যবহারকারীর আচরণ বদলেছে, ডেটাও বদলেছে।
  • Data leakage: Training-এ accidentally future information ঢুকেছে — যা production-এ পাওয়া যায় না।
  • Sampling bias: Training set উদাহরণ হয়তো শুধু ঢাকার গ্রাহকের, production-এ সারা দেশের — completely different।
  • Label leakage: Training-এ এমন feature যা label থেকে derived — মডেল "চিট" করছে।

সমাধান:

  • Train/Validation/Test বিভাজন (L03) — production-এর simulation।
  • Cross-validation (L05) — robust evaluation।
  • Regularization (L15 — Ridge, Lasso) — মডেল-কে simple রাখা।
  • Production data drift monitoring — বিভাজন পরিবর্তন track করা।

মূল উপলব্ধি: Training accuracy ML-এর শেষ মাপকাঠি নয় — generalization (নতুন ডেটায় কর্মক্ষমতা) আসল লক্ষ্য। এই কোর্সের ৩০% পাঠ এই একটি সমস্যা সমাধানে নিবেদিত।

প্র ০৩ "AI ChatGPT-র মতো এত বুদ্ধিমান কেন? এটা কি RL?" — এই প্রশ্নের উত্তরে আপনি কোন তিন ধরনের ML-এর সমন্বয় ব্যাখ্যা করবেন?

ChatGPT (এবং সব আধুনিক LLM) — তিন ধরনের ML-এর সমন্বয়। কোনোটি একা নয়।

(১) Self-supervised pretraining (Unsupervised-এর বিশেষ রূপ):

  • ইন্টারনেটের ট্রিলিয়ন token text — কোনো মানুষের দেওয়া label নেই।
  • "পরবর্তী শব্দ predict কর" — text-ই নিজেই label সরবরাহ করে।
  • এই ধাপে মডেল ভাষার গভীর গঠন শেখে — ব্যাকরণ, বিশ্বের জ্ঞান, যুক্তি।
  • এটি GPT-৪-এর ৯৯% শেখা — কিন্তু এতে "helpful assistant" আচরণ আসে না।

(২) Supervised fine-tuning (SFT):

  • মানুষের দেওয়া হাজার হাজার "ভাল উত্তর"-এর উদাহরণ।
  • প্রশ্ন: "বাংলা কবিতা লিখো" — উত্তর: একটি সুন্দর কবিতা।
  • মডেল conversation-এর format ও tone শেখে।
  • Classic supervised — input + label।

(৩) RLHF — Reinforcement Learning from Human Feedback:

  • মডেল দু'টি উত্তর তৈরি করে — মানুষ বলে কোনটি ভালো।
  • সেই preference থেকে একটি "reward model" তৈরি হয়।
  • মূল মডেল RL-এ এই reward সর্বোচ্চ করে।
  • এই ধাপে আসে — toxicity কমানো, helpful থাকা, refuse-এ ভদ্রতা।

চমকপ্রদ গাণিতিক fact:

  • Pretraining = ১০² থেকে ১০³ GPU-years compute।
  • SFT = ১% compute (~১০ GPU-years)।
  • RLHF = আরও ১%।
  • কিন্তু শেষ ২% ছাড়া — মডেল production-ready নয়।

সাম্প্রতিক বিকল্প: Constitutional AI (Anthropic), DPO (Direct Preference Optimization) — RL-এর সরাসরি বিকল্প। DPO 2024-এ অনেক জনপ্রিয়।

মূল উপলব্ধি: আধুনিক AI single technique-এর ফল নয় — multiple ML paradigm-এর coordinated combination। এই বোঝাপড়া আপনাকে যেকোনো AI system analyze করতে সক্ষম করবে।

প্র ০৪ একটি সাধারণ প্রশ্ন: "আমার কাছে শুধু ১০০টি লেবেলযুক্ত উদাহরণ আছে — ML কি কাজ করবে?" আপনি কী পরামর্শ দেবেন?

১০০ উদাহরণ — ছোট, কিন্তু "অসম্ভব" নয়। সঠিক কৌশলে কাজ করতে পারে। আজকের ML-এর একটি গুরুত্বপূর্ণ branch — low-resource learning।

বিবেচনা ১ — ডেটার ধরন:

  • Text/image: Pre-trained model ব্যবহার করে fine-tune. ১০০ উদাহরণে BERT বা ResNet ভিত্তিক transfer learning ভাল কাজ করে।
  • Tabular: Simple model (Logistic Regression, Decision Tree) — ১০০ row-এ overfitting হবে না।
  • Time series: ১০০ point-এ statistical method (ARIMA) সাধারণত ML-এর চেয়ে ভালো।

বিবেচনা ২ — সমস্যার জটিলতা:

  • Binary classification, balanced: ১০০ উদাহরণ যথেষ্ট হতে পারে।
  • 10-class classification: প্রতি class-এ ১০ উদাহরণ — প্রায় অসম্ভব।
  • Image segmentation, NER: ১০,০০০ লাগে।

কৌশলগুলো:

  • Transfer learning: বড় pre-trained model-এর শেষ স্তর retrain — ১০০ উদাহরণ যথেষ্ট।
  • Data augmentation: rotation, noise, paraphrase — ১০০ থেকে ১০০০ effective।
  • Few-shot/zero-shot prompting: GPT-4-কে ১০ উদাহরণ দিয়ে in-context learning।
  • Active learning: মডেলকে জিজ্ঞাসা — "কোন example label করলে সবচেয়ে শিখব?" — তারপর সেগুলো label।
  • Semi-supervised: ১০০ labeled + ১০,০০০ unlabeled — দু'টোই ব্যবহার।

আমার বাস্তব পরামর্শ:

  • প্রথম — সরল baseline (Logistic Regression, Naive Bayes — L18) চালান। প্রায়ই surprising results।
  • দ্বিতীয় — pre-trained model (Hugging Face)-এ fine-tune।
  • তৃতীয় — যদি ক্রিটিক্যাল project, আরো ৫০০ লেবেল সংগ্রহে বিনিয়োগ করুন।

সতর্কতা:

  • ১০০ উদাহরণে cross-validation essential — single train/test split unreliable।
  • Confidence intervals সবসময় জানান — accuracy "৮৫%" না বলে "৭৫-৯২%"।
  • Production-এ কম-ডেটা মডেল প্রায়ই brittle — careful monitoring।

মূল উপলব্ধি: "কত ডেটা" থেকে গুরুত্বপূর্ণ "কী ধরনের সমস্যা ও কোন কৌশল"। ১০০ ভাল উদাহরণ ১০,০০০ মলিন উদাহরণের চেয়ে ভালো।

অনুশীলন

  1. শ্রেণিবদ্ধ করুন: নিচের প্রতিটি সমস্যা — Supervised (classification/regression), Unsupervised, না RL?
    • (ক) ইমেইল spam কি না
    • (খ) ঢাকার আগামীকালের তাপমাত্রা পূর্বাভাস
    • (গ) ১০ লক্ষ গান থেকে "একই ধরনের গান" গ্রুপ তৈরি
    • (ঘ) দাবা খেলায় শেখা
    • (ঙ) X-ray ছবি থেকে নিউমোনিয়া ডায়াগনোসিস
    • (ক) Supervised — Binary classification
    • (খ) Supervised — Regression
    • (গ) Unsupervised — Clustering
    • (ঘ) Reinforcement Learning
    • (ঙ) Supervised — Binary classification (image)
  2. scikit-learn চালান: উপরের Iris উদাহরণ চালান — accuracy কত পেলেন? max_iter বাড়িয়ে কী হলো?

    সাধারণত ~৯৭% accuracy। max_iter কম থাকলে convergence warning, accuracy একটু কম। ২০০-এ stable।

  3. ভাবুন: বাংলাদেশের একটি বাস্তব ML সমস্যা চিন্তা করুন — যেমন "Bkash-এ fraud transaction detection।" এটি কোন ধরনের? কী input, কী output? সম্ভাব্য চ্যালেঞ্জ?

    ধরন: Supervised binary classification (fraud / not fraud) — তবে label দুর্লভ, তাই hybrid approach।

    Input: transaction amount, time, location, device, user history, recipient.

    Output: fraud probability।

    চ্যালেঞ্জ: imbalanced (fraud ০.১%, L43 — SMOTE), real-time inference লাগে, নতুন fraud pattern (concept drift), false positive-এর cost (legitimate transaction block)।

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

কোড রানার কাজ না করলে? ব্রাউজারে কাজ না করলে Google Colab ব্যবহার করুন — Google-এর ফ্রি অনলাইন Python পরিবেশ, শুধু Gmail অ্যাকাউন্ট লাগে।
কোর্স তালিকা
Machine Learning — হোম