Home › Lectures › Machine Learning

🎯 সুপারভাইজড লার্নিং · Supervised Learning

লেবেলযুক্ত ডেটা থেকে পূর্বাভাস করা শেখা।

Learning to predict from labelled data.

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

🎯 যা শিখবেন / Outcomes

Train, compare and choose regression/classification models

🧰 টুলস / Tools

scikit-learn, XGBoost

🏁 প্রজেক্ট / Capstone

Loan default or disease-risk classifier

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

🤖 Machine Learning Basics

📅

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

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

Linear Regression

Predict a number with a straight-line fit.
Beginner
📘 বাংলা: সংখ্যা অনুমানের সবচেয়ে সহজ মডেল।
🌐 English: Predict a number with a straight-line fit.

💡 সবচেয়ে সহজ ও ব্যাখ্যাযোগ্য মডেল—বেসলাইন ও প্রভাব ব্যাখ্যায় এখনো জনপ্রিয়।

  1. 1
    মডেল: ŷ = β₀ + β₁x₁ + ... + βₙxₙ
  2. 2
    OLS: বর্গ ত্রুটির যোগফল ন্যূনতম করে সহগ নির্ধারণ
  3. 3
    সহগের অর্থ: অন্যগুলো স্থির রেখে x এক একক বাড়লে y কত বদলায়
  4. 4
    অনুমান যাচাই: রৈখিকতা, রেসিডুয়াল স্বাধীন ও সমান বিস্তার; statsmodels দিয়ে p-value ও CI
মডেলy = β₀ + β₁x
OLSবর্গ ত্রুটির যোগফল ন্যূনতম
অনুমানরৈখিকতা, স্বাধীন ত্রুটি
2

Polynomial Regression

Model curved relationships.
Beginner
📘 বাংলা: বক্ররেখা সম্পর্ক মডেল।
🌐 English: Model curved relationships.

💡 বক্র সম্পর্ক লিনিয়ার মডেল দিয়েই ধরা।

  1. 1
    PolynomialFeatures(degree=2) দিয়ে x, x², x·z তৈরি
  2. 2
    LinearRegression দিয়ে ফিট—মডেল সহগে এখনো রৈখিক
  3. 3
    ডিগ্রি ১–৫ ক্রস-ভ্যালিডেশনে তুলনা করুন
  4. 4
    স্কেলিং ও রেগুলারাইজেশন (Ridge) যোগ করুন—উচ্চ ডিগ্রিতে অস্থিরতা
PolynomialFeaturesx², x³
ডিগ্রি নির্বাচনওভারফিট ঝুঁকি
ক্রস-ভ্যালিডেশনে যাচাই
3

Ridge Lasso Regularization

Penalties that reduce overfitting.
Beginner
📘 বাংলা: ওভারফিটিং কমানোর কৌশল।
🌐 English: Penalties that reduce overfitting.

💡 অনেক ফিচার বা কোরিলেটেড ফিচারে ওভারফিটিং ঠেকায় ও স্থিতিশীল সহগ দেয়।

  1. 1
    লসের সাথে শাস্তি যোগ: Ridge = MSE + α·Σβ², Lasso = MSE + α·Σ|β|
  2. 2
    Ridge সব সহগ ছোট করে; Lasso কিছু সহগ ঠিক শূন্য করে (ফিচার সিলেকশন)
  3. 3
    ElasticNet দুটোর মিশ্রণ
  4. 4
    α ক্রস-ভ্যালিডেশনে বাছুন (RidgeCV, LassoCV); আগে স্কেলিং বাধ্যতামূলক
Ridge (L2)ওজন ছোট করে
Lasso (L1)কিছু ওজন শূন্য, ফিচার সিলেকশন
ElasticNetদুটোর মিশ্রণ
4

Logistic Regression

Predict a probability for two classes.
Beginner
📘 বাংলা: দুই শ্রেণিতে ভাগ করার মডেল।
🌐 English: Predict a probability for two classes.

💡 হ্যাঁ/না সিদ্ধান্তের ব্যাখ্যাযোগ্য সম্ভাবনা মডেল—স্বাস্থ্য গবেষণায় বহুল ব্যবহৃত।

  1. 1
    লিনিয়ার স্কোর z = β₀ + Σβx
  2. 2
    সিগময়েড σ(z) = 1/(1+e⁻ᶻ) দিয়ে ০–১ সম্ভাবনা
  3. 3
    লগ-লস কমিয়ে প্রশিক্ষণ; থ্রেশহোল্ড (০.৫ বা প্রয়োজন অনুযায়ী) দিয়ে ক্লাস
  4. 4
    সহগ → odds ratio = e^β (β=0.7 → odds ~২ গুণ)
সিগময়েডসম্ভাবনা 0–1
লগ-লসপ্রশিক্ষণ লক্ষ্য
থ্রেশহোল্ড0.5 ও তার পরিবর্তন
5

KNN

Classify by nearest neighbours.
Intermediate
📘 বাংলা: নিকটতম প্রতিবেশীর ভিত্তিতে সিদ্ধান্ত।
🌐 English: Classify by nearest neighbours.

💡 প্রশিক্ষণ ছাড়াই কাজ করা সহজ মডেল—"তোমার প্রতিবেশীরা যা, তুমিও তা"।

  1. 1
    নতুন বিন্দু থেকে সব ট্রেনিং বিন্দুর দূরত্ব হিসাব
  2. 2
    সবচেয়ে কাছের k টি বাছুন
  3. 3
    ক্লাসিফিকেশনে সংখ্যাগরিষ্ঠ ভোট, রিগ্রেশনে গড়
  4. 4
    k ক্রস-ভ্যালিডেশনে বাছুন (বিজোড়); স্কেলিং অপরিহার্য; weights="distance" দিয়ে কাছেরদের বেশি গুরুত্ব
দূরত্বইউক্লিডিয়ান, ম্যানহাটন
k নির্বাচনছোট k = নয়েজি
স্কেলিং অপরিহার্য
6

Naive Bayes

Probabilistic classifier.
Intermediate
📘 বাংলা: সম্ভাবনাভিত্তিক ক্লাসিফায়ার।
🌐 English: Probabilistic classifier.

💡 টেক্সট ক্লাসিফিকেশনে দ্রুত, কম ডেটায়ও ভালো বেসলাইন।

  1. 1
    বেইজ থিওরেম: P(ক্লাস|ফিচার) ∝ P(ফিচার|ক্লাস)·P(ক্লাস)
  2. 2
    "Naive" অনুমান: ক্লাস জানা থাকলে ফিচারগুলো স্বাধীন
  3. 3
    ধরন: GaussianNB (সংখ্যা), MultinomialNB (শব্দ গণনা), BernoulliNB (হ্যাঁ/না)
  4. 4
    শূন্য সম্ভাবনা এড়াতে Laplace smoothing (alpha=1)
বেইজ থিওরেম প্রয়োগ
"Naive" স্বাধীনতা অনুমান
ধরনGaussian, Multinomial (টেক্সট)
7

Decision Tree

Decisions via a tree of questions.
Intermediate
📘 বাংলা: প্রশ্ন-উত্তরের গাছে সিদ্ধান্ত।
🌐 English: Decisions via a tree of questions.

💡 মানুষের মতো "যদি-তাহলে" নিয়ম—ব্যাখ্যা করা সহজ, এনসেম্বলের ভিত্তি।

  1. 1
    প্রতিটি ধাপে সেরা প্রশ্ন বাছুন (বয়স > ৪৫?) যা ডেটাকে সবচেয়ে বিশুদ্ধ দুই ভাগে ভাগ করে
  2. 2
    বিশুদ্ধতা মাপ: Gini বা Entropy (information gain)
  3. 3
    পাতা বিশুদ্ধ বা সীমা না পৌঁছানো পর্যন্ত পুনরাবৃত্তি
  4. 4
    ওভারফিট ঠেকাতে max_depth, min_samples_leaf, ccp_alpha দিয়ে প্রুনিং; plot_tree দিয়ে দেখুন
বিভাজন মানদণ্ডGini, Entropy
গভীরতা ও প্রুনিং
ব্যাখ্যাযোগ্য নিয়ম
8

Random Forest

Many trees voting together.
Intermediate
📘 বাংলা: অনেক গাছের সম্মিলিত সিদ্ধান্ত।
🌐 English: Many trees voting together.

💡 ট্যাবুলার ডেটায় শক্তিশালী, কম টিউনিংয়ে ভালো ফল—প্রথম পছন্দের মডেল।

  1. 1
    বুটস্ট্র্যাপ: প্রতিটি গাছ ডেটার র‍্যান্ডম নমুনায় (প্রতিস্থাপনসহ)
  2. 2
    প্রতিটি বিভাজনে র‍্যান্ডম ফিচার উপসেট (max_features)
  3. 3
    শত শত গাছের ভোট/গড়—ভ্যারিয়েন্স কমে
  4. 4
    OOB স্কোর দিয়ে ফ্রি ভ্যালিডেশন; feature_importances_ দিয়ে গুরুত্ব
ব্যাগিংবুটস্ট্র্যাপ নমুনা
র‍্যান্ডম ফিচার সাবসেট
ফিচার ইম্পর্ট্যান্স ও OOB স্কোর
9

SVM

Best separating margin.
Advanced
📘 বাংলা: সর্বোত্তম সীমারেখা দিয়ে শ্রেণিবিন্যাস।
🌐 English: Best separating margin.

💡 উচ্চমাত্রার ও ছোট ডেটাসেটে শক্তিশালী শ্রেণিবিন্যাস।

  1. 1
    দুই ক্লাসের মাঝে সর্বোচ্চ মার্জিনের সীমারেখা খোঁজে
  2. 2
    সীমার সবচেয়ে কাছের বিন্দুগুলো = সাপোর্ট ভেক্টর
  3. 3
    C: ছোট = নরম মার্জিন (বেশি সাধারণীকরণ), বড় = কঠোর
  4. 4
    কার্নেল (RBF) দিয়ে অরৈখিক সীমা; gamma নিয়ন্ত্রণ; স্কেলিং অপরিহার্য
মার্জিন সর্বাধিকসাপোর্ট ভেক্টর
কার্নেল ট্রিকRBF, polynomial
C প্যারামিটারসফট মার্জিন
10

Gradient Boosting XGBoost

Trees that correct previous errors.
Advanced
📘 বাংলা: ভুল থেকে ধাপে ধাপে শেখা শক্তিশালী মডেল।
🌐 English: Trees that correct previous errors.

💡 Kaggle ও বাস্তব ট্যাবুলার সমস্যায় সবচেয়ে সফল অ্যালগরিদম পরিবার।

  1. 1
    প্রথমে একটি সরল গাছ; তারপর প্রতিটি নতুন গাছ আগের ভুল (রেসিডুয়াল) শোধরায়
  2. 2
    learning_rate ছোট (০.০৫) + বেশি গাছ = ভালো সাধারণীকরণ
  3. 3
    max_depth ৩–৮, subsample, colsample দিয়ে নিয়ন্ত্রণ
  4. 4
    early_stopping_rounds দিয়ে ভ্যালিডেশন লস বাড়লে থামুন
বুস্টিংধারাবাহিক দুর্বল মডেল
লার্নিং রেট ও n_estimators
XGBoostরেগুলারাইজড, দ্রুত
11

LightGBM CatBoost

Fast gradient boosting libraries.
Advanced
📘 বাংলা: দ্রুত বুস্টিং লাইব্রেরি।
🌐 English: Fast gradient boosting libraries.

💡 বড় ডেটায় আরও দ্রুত বুস্টিং; CatBoost ক্যাটাগরি সরাসরি সামলায়।

  1. 1
    LightGBM: হিস্টোগ্রাম-ভিত্তিক, leaf-wise বৃদ্ধি—খুব দ্রুত; num_leaves নিয়ন্ত্রণ করুন
  2. 2
    CatBoost: cat_features দিলে নিজেই এনকোড, ডিফল্ট সেটিংসে ভালো
  3. 3
    তিনটিই (XGB, LGBM, CatBoost) ক্রস-ভ্যালিডেশনে তুলনা করুন
  4. 4
    Optuna দিয়ে হাইপারপ্যারামিটার টিউন
LightGBMলিফ-ওয়াইজ বৃদ্ধি, দ্রুত
CatBoostক্যাটাগরি সরাসরি
ট্যাবুলার ডেটায় সেরা পারফরম্যান্স
💻

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

Run চাপুন — পাইথন আপনার ব্রাউজারেই চলবে (Ctrl+Enter)
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
X,y=load_breast_cancer(return_X_y=True); Xtr,Xte,ytr,yte=train_test_split(X,y,random_state=1)
for n,m in {"LogReg":make_pipeline(StandardScaler(),LogisticRegression(max_iter=500)),"KNN":make_pipeline(StandardScaler(),KNeighborsClassifier()),
 "RandomForest":RandomForestClassifier(random_state=0),"GradBoost":GradientBoostingClassifier()}.items():
    print(f"{n:13s} accuracy = {m.fit(Xtr,ytr).score(Xte,yte):.3f}")
📝

অনুশীলন · Practice tasks

  1. একই ডেটায় ৫টি মডেল তুলনা টেবিল তৈরি করুন
  2. Ridge ও Lasso-র সহগ তুলনা করুন
  3. Random Forest-এর feature importance চার্ট আঁকুন
  4. ক্যাপস্টোন: Loan default or disease-risk classifier
❓

কুইজ · Quick quiz

1. Lasso কোন রেগুলারাইজেশন?

2. Random Forest কোন কৌশল?

🎬

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

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

📺 Reference channels

🔗

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

← আগের শাখা🤖 Machine Learning Basicsপরের শাখা →📏 Model Evaluation
🎬 Video