Home › Lectures › Machine Learning

🤖 মেশিন লার্নিং পরিচিতি · Machine Learning Basics

মেশিন লার্নিংয়ের মূল ধারণা ও কর্মপ্রবাহ।

Core ideas and workflow of machine learning.

📅 ৩. মেশিন লার্নিং⏳ ~1 সপ্তাহ📘 6 টপিক🧩 18 সাব-টপিক🎬 0 ভিডিও💻 রানযোগ্য কোড

🎯 যা শিখবেন / Outcomes

Frame ML problems, split and validate correctly

🧰 টুলস / Tools

scikit-learn

🏁 প্রজেক্ট / Capstone

First end-to-end classifier on Iris

📌 পূর্বশর্ত / Prerequisites

📊 Statistics 🛠️ Feature Engineering

📅

সাপ্তাহিক পরিকল্পনা · Weekly plan

~২ ঘণ্টা/দিন ধরে
1

What is Machine Learning

How machines learn from data.
Beginner
📘 বাংলা: মেশিন কীভাবে ডেটা থেকে শেখে।
🌐 English: How machines learn from data.

💡 নিয়ম হাতে না লিখে উদাহরণ থেকে প্যাটার্ন শেখানো—আধুনিক AI-এর ভিত্তি।

  1. 1
    ঐতিহ্যগত প্রোগ্রাম: নিয়ম + ডেটা → উত্তর; ML: ডেটা + উত্তর → নিয়ম (মডেল)
  2. 2
    তিন ধরন: supervised (লেবেলসহ), unsupervised (লেবেল ছাড়া), reinforcement (পুরস্কারে শেখা)
  3. 3
    কর্মপ্রবাহ: সমস্যা সংজ্ঞা → ডেটা → প্রিপ্রসেস → মডেল → মূল্যায়ন → ডিপ্লয় → মনিটর
  4. 4
    কখন ML দরকার নেই: সহজ নিয়মে সমাধান হলে
সংজ্ঞাস্পষ্ট প্রোগ্রাম ছাড়া অভিজ্ঞতা থেকে শেখা
ধরনSupervised, Unsupervised, Reinforcement
কর্মপ্রবাহডেটা → মডেল → মূল্যায়ন → ডিপ্লয়
2

Supervised vs Unsupervised

Labelled vs unlabelled learning.
Beginner
📘 বাংলা: লেবেলযুক্ত বনাম লেবেলহীন শেখা।
🌐 English: Labelled vs unlabelled learning.

💡 সমস্যার ধরন চিনলেই সঠিক অ্যালগরিদম ও মেট্রিক বাছা যায়।

  1. 1
    লেবেল আছে? হ্যাঁ → supervised
  2. 2
    টার্গেট সংখ্যা → রিগ্রেশন (দাম, তাপমাত্রা); ক্যাটাগরি → ক্লাসিফিকেশন (রোগ হ্যাঁ/না)
  3. 3
    লেবেল নেই → unsupervised: ক্লাস্টারিং (গ্রুপ খোঁজা), ডাইমেনশন রিডাকশন, অ্যানোমালি
  4. 4
    অল্প লেবেল → semi-supervised; LLM প্রি-ট্রেনিং = self-supervised
Supervisedরিগ্রেশন ও ক্লাসিফিকেশন
Unsupervisedক্লাস্টারিং ও ডাইমেনশন রিডাকশন
Semi/Self-supervisedআধুনিক পদ্ধতি
3

Train Test Split

Split data to evaluate honestly.
Intermediate
📘 বাংলা: মডেল যাচাইয়ের জন্য ডেটা ভাগ।
🌐 English: Split data to evaluate honestly.

💡 মডেল নতুন ডেটায় কেমন করবে তার সৎ অনুমান পেতে।

  1. 1
    X (ফিচার) ও y (টার্গেট) আলাদা করুন
  2. 2
    train_test_split(X, y, test_size=0.2, random_state=42)
  3. 3
    ক্লাসিফিকেশনে stratify=y দিন
  4. 4
    টাইম সিরিজে এলোমেলো নয়—অতীত দিয়ে ট্রেন, ভবিষ্যৎ দিয়ে টেস্ট; টেস্ট সেট শেষ মূল্যায়ন পর্যন্ত ছোঁবেন না
train_test_split৮০/২০
stratifyক্লাস অনুপাত বজায়
Validation setটিউনিংয়ের জন্য
4

Bias Variance Tradeoff

Balance underfitting and overfitting.
Intermediate
📘 বাংলা: আন্ডারফিট ও ওভারফিটের ভারসাম্য।
🌐 English: Balance underfitting and overfitting.

💡 কেন সহজ মডেল আন্ডারফিট আর জটিল মডেল ওভারফিট করে—মডেল বাছাইয়ের কেন্দ্রীয় ধারণা।

  1. 1
    Bias: মডেলের সরলীকরণজনিত ভুল (সরলরেখা দিয়ে বক্ররেখা)
  2. 2
    Variance: ট্রেনিং ডেটার নয়েজ মুখস্থ করা
  3. 3
    লক্ষণ: ট্রেন ও টেস্ট দুটোই খারাপ = high bias; ট্রেন ভালো, টেস্ট খারাপ = high variance
  4. 4
    সমাধান: bias → জটিল মডেল/ভালো ফিচার; variance → বেশি ডেটা, রেগুলারাইজেশন, সরল মডেল
Biasঅতিসরল মডেল (আন্ডারফিট)
Varianceঅতিজটিল (ওভারফিট)
সমাধানরেগুলারাইজেশন, বেশি ডেটা
5

Cross Validation

Reliable evaluation with k folds.
Advanced
📘 বাংলা: নির্ভরযোগ্য মূল্যায়ন।
🌐 English: Reliable evaluation with k folds.

💡 একবারের train/test ভাগ ভাগ্যনির্ভর—ক্রস-ভ্যালিডেশন স্থিতিশীল অনুমান দেয়।

  1. 1
    ডেটাকে k ভাগে (সাধারণত ৫) ভাগ করুন
  2. 2
    প্রতিবার একটি ভাগ ভ্যালিডেশন, বাকি ট্রেন—k বার
  3. 3
    k টি স্কোরের গড় ও SD রিপোর্ট করুন
  4. 4
    ক্লাসিফিকেশনে StratifiedKFold, টাইম সিরিজে TimeSeriesSplit, স্থানিক ডেটায় GroupKFold/spatial CV
K-Foldk ভাগে পালাক্রমে টেস্ট
Stratified K-Foldক্লাস ভারসাম্য
TimeSeriesSplitসময়ক্রম রক্ষা
6

Scikit-learn Intro

Python's main ML library.
Advanced
📘 বাংলা: পাইথনের প্রধান ML লাইব্রেরি।
🌐 English: Python's main ML library.

💡 Python-এ ক্লাসিক্যাল ML-এর মানদণ্ড লাইব্রেরি—সব মডেলের একই ইন্টারফেস।

  1. 1
    মডেল তৈরি: model = RandomForestClassifier(n_estimators=200)
  2. 2
    শেখানো: model.fit(X_train, y_train)
  3. 3
    পূর্বাভাস: model.predict(X_test), সম্ভাবনা predict_proba
  4. 4
    মূল্যায়ন: model.score বা sklearn.metrics; সেভ: joblib.dump(model, "model.pkl")
Estimator APIfit, predict, score
datasetsload_iris ইত্যাদি
model_selection ও metrics মডিউল
💻

হাতে-কলমে কোড · Hands-on code

Run চাপুন — পাইথন আপনার ব্রাউজারেই চলবে (Ctrl+Enter)
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.tree import DecisionTreeClassifier
X,y=load_iris(return_X_y=True)
Xtr,Xte,ytr,yte=train_test_split(X,y,test_size=.2,stratify=y,random_state=0)
for d in [1,3,None]:
    m=DecisionTreeClassifier(max_depth=d,random_state=0).fit(Xtr,ytr)
    print(f"depth={d}: train={m.score(Xtr,ytr):.2f} test={m.score(Xte,yte):.2f} cv={cross_val_score(m,X,y,cv=5).mean():.2f}")
📝

অনুশীলন · Practice tasks

  1. ৩টি বাস্তব সমস্যাকে supervised/unsupervised হিসেবে শ্রেণিবদ্ধ করুন
  2. depth পরিবর্তন করে ওভারফিটিং দেখান
  3. 5-fold cross validation চালান
  4. ক্যাপস্টোন: First end-to-end classifier on Iris
❓

কুইজ · Quick quiz

1. ওভারফিটিংয়ের লক্ষণ?

2. stratify কী রক্ষা করে?

🎬

ভিডিও লাইব্রেরি · Videos

সাইটের ভেতরে ফ্লোটিং প্লেয়ারে চলবে
এই শাখার ভিডিও এখনো সংরক্ষিত হয়নি। যেকোনো টপিক পেজ খুললে ভিডিও স্বয়ংক্রিয়ভাবে খুঁজে MySQL-এ সংরক্ষিত হবে (API key থাকলে)।

📺 Reference channels

🔗

সংযুক্ত বিষয় · Connected

← আগের শাখা🛠️ Feature Engineeringপরের শাখা →🎯 Supervised Learning
🎬 Video