পাঠ ৩৫ · ৩৫-এর মধ্যে · মডিউল ৮ · ক্যাপস্টোন
Home / AI Courses / Math for AI & ML / ক্যাপস্টোন — লিনিয়ার রিগ্রেশন

ক্যাপস্টোন — লিনিয়ার রিগ্রেশন সম্পূর্ণ গাণিতিকভাবে ডেরাইভ ও কোড করা

Capstone — deriving & coding linear regression end to end
২২ মিনিট পড়া উচ্চ · Advanced ক্যাপস্টোন প্রজেক্ট NumPy কোডসহ সম্পূর্ণ বাংলায়

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

  • লিনিয়ার রিগ্রেশনের মডেল ও মিন-স্কয়ারড-এরর (MSE) লস ফাংশন থেকে শুরু করে সম্পূর্ণ গ্রেডিয়েন্ট ডেরাইভেশন
  • নরমাল ইকুয়েশন — গ্রেডিয়েন্ট শূন্য বসিয়ে ক্লোজড-ফর্ম সমাধান বের করার সম্পূর্ণ প্রমাণ
  • কেন গাউসিয়ান নয়েজের অধীনে "স্কয়ারড এরর মিনিমাইজ করা" আর "ম্যাক্সিমাম লাইকলিহুড এস্টিমেট খোঁজা" একই কাজ
  • একই সিন্থেটিক ডেটাসেটে ক্লোজড-ফর্ম ও গ্রেডিয়েন্ট ডিসেন্ট — দুটো সম্পূর্ণ ভিন্ন পদ্ধতি একই উত্তরে পৌঁছায় তা কোডে যাচাই
  • Ridge regularization কীভাবে এই একই ফ্রেমওয়ার্কে যোগ হয় (পাঠ ৩২-এর সাথে সংযোগ)
  • পুরো ৩৫-পাঠের কোর্সের একটি সংশ্লিষ্ট, প্রয়োগযোগ্য পুনরালোচনা

১ · মডেল ও লস ফাংশন

লিনিয়ার রিগ্রেশনের মডেল সহজ — প্রতিটি ইনপুট ভেক্টর $\mathbf{x} \in \mathbb{R}^d$-এর জন্য একটি সংখ্যা পূর্বাভাস করা: $$\hat y = \mathbf{w}^T\mathbf{x} + b$$ এটিই পাঠ ০১-এ দেখা একক-নিউরনের গণনা — এখানে ওজন ভেক্টর $\mathbf{w} \in \mathbb{R}^d$ ও বায়াস $b$ হলো শেখার মতো প্যারামিটার। $n$টি ডেটা পয়েন্ট $\{(\mathbf{x}_i, y_i)\}_{i=1}^n$ থাকলে, আমাদের লস ফাংশনMean Squared Error, MSEপ্রতিটি পূর্বাভাস ও প্রকৃত মানের পার্থক্যের বর্গের গড়। হলো: $$\mathcal{L}(\mathbf{w}, b) = \frac{1}{n}\sum_{i=1}^n (\hat y_i - y_i)^2 = \frac{1}{n}\sum_{i=1}^n (\mathbf{w}^T\mathbf{x}_i + b - y_i)^2$$ লক্ষ্য — এমন $\mathbf{w}, b$ খুঁজে বের করা যা $\mathcal{L}$-কে সর্বনিম্ন করে। এই একটি সমীকরণকে দুটি সম্পূর্ণ ভিন্ন উপায়ে সমাধান করা যায় — একটি ক্যালকুলাসে ভিত্তি করে সরাসরি সূত্র বসিয়ে (নরমাল ইকুয়েশন), আরেকটি ধাপে ধাপে গ্রেডিয়েন্ট অনুসরণ করে (গ্রেডিয়েন্ট ডিসেন্ট) — এবং দুটোই একই উত্তরে পৌঁছায়, কারণ $\mathcal{L}$ একটি কনভেক্স ফাংশন (পাঠ ১৬)।

২ · গ্রেডিয়েন্ট ডেরাইভ করা (পাঠ ১৪)

পাঠ ১৪-এর নিয়ম অনুযায়ী, $\mathcal{L}$-এর প্রতিটি প্যারামিটারের সাপেক্ষে পার্শিয়াল ডেরিভেটিভ বের করি। প্রথমে $b$-এর সাপেক্ষে (চেইন রুল, পাঠ ১৩ ব্যবহার করে): $$\frac{\partial \mathcal{L}}{\partial b} = \frac{1}{n}\sum_{i=1}^n 2(\hat y_i - y_i)\cdot\frac{\partial \hat y_i}{\partial b} = \frac{2}{n}\sum_{i=1}^n (\hat y_i - y_i)$$ কারণ $\partial \hat y_i/\partial b = 1$। এখন $\mathbf{w}$-এর সাপেক্ষে — এখানে $\partial \hat y_i/\partial \mathbf{w} = \mathbf{x}_i$ (পাঠ ১৪-এ দেখা $\nabla_{\mathbf{x}}(\mathbf{w}^T\mathbf{x}) = \mathbf{w}$-এর প্রতিসম সংস্করণ): $$\nabla_{\mathbf{w}} \mathcal{L} = \frac{1}{n}\sum_{i=1}^n 2(\hat y_i - y_i)\,\mathbf{x}_i = \frac{2}{n}\sum_{i=1}^n (\hat y_i - y_i)\,\mathbf{x}_i$$ সব ডেটা পয়েন্ট একসাথে ম্যাট্রিক্স আকারে লিখলে ($\mathbf{X}$ হলো $n \times d$ ম্যাট্রিক্স, প্রতিটি সারি একটি $\mathbf{x}_i^T$; $\hat{\mathbf{y}} = \mathbf{Xw} + b\mathbf{1}$, পাঠ ০৭): $$\nabla_{\mathbf{w}} \mathcal{L} = \frac{2}{n}\mathbf{X}^T(\hat{\mathbf{y}} - \mathbf{y}), \qquad \frac{\partial \mathcal{L}}{\partial b} = \frac{2}{n}\sum_i(\hat y_i - y_i)$$

সরলীকরণ — বায়াসকে ভেতরে ভাঁজ করা

লেখা সহজ করতে $\mathbf{X}$-এ একটি অতিরিক্ত কলাম যোগ করি যার সব মান $1$, এবং $\tilde{\mathbf{X}} = [\mathbf{X} \mid \mathbf{1}]$, $\tilde{\mathbf{w}} = [\mathbf{w}; b]$ ধরি। তাহলে $\hat{\mathbf{y}} = \tilde{\mathbf{X}}\tilde{\mathbf{w}}$, এবং $$\nabla_{\tilde{\mathbf{w}}} \mathcal{L} = \frac{2}{n}\tilde{\mathbf{X}}^T(\tilde{\mathbf{X}}\tilde{\mathbf{w}} - \mathbf{y})$$ — একটি একক পরিচ্ছন্ন সূত্র, যা $\mathbf{w}$ ও $b$ উভয়ের গ্রেডিয়েন্ট একসাথে ধরে রাখে।

৩ · ক্লোজড-ফর্ম সমাধান — নরমাল ইকুয়েশন (পাঠ ০৯)

যেহেতু $\mathcal{L}$ কনভেক্স (এটি একটি কোয়াড্রেটিক ফর্ম, পাঠ ১২), এর গ্লোবাল মিনিমাম ঠিক সেই বিন্দুতে যেখানে গ্রেডিয়েন্ট শূন্য (পাঠ ১৬)। গ্রেডিয়েন্ট শূন্য বসাই: $$\frac{2}{n}\tilde{\mathbf{X}}^T(\tilde{\mathbf{X}}\tilde{\mathbf{w}} - \mathbf{y}) = \mathbf{0} \implies \tilde{\mathbf{X}}^T\tilde{\mathbf{X}}\tilde{\mathbf{w}} = \tilde{\mathbf{X}}^T\mathbf{y}$$ এই সমীকরণকেই বলে নরমাল ইকুয়েশন (normal equations)। যদি $\tilde{\mathbf{X}}^T\tilde{\mathbf{X}}$ ইনভার্টিবল হয় (অর্থাৎ পূর্ণ র‍্যাঙ্ক, পাঠ ০৯ — এর মানে ফিচারগুলো একে অপরের সাথে সম্পূর্ণ রৈখিকভাবে নির্ভরশীল নয়, পাঠ ০৬), তাহলে উভয় পাশে $(\tilde{\mathbf{X}}^T\tilde{\mathbf{X}})^{-1}$ দিয়ে গুণ করে সরাসরি সমাধান পাওয়া যায়: $$\boxed{\tilde{\mathbf{w}} = (\tilde{\mathbf{X}}^T\tilde{\mathbf{X}})^{-1}\tilde{\mathbf{X}}^T\mathbf{y}}$$ এটিই ক্লোজড-ফর্ম সমাধান — কোনো ইটারেশন ছাড়াই, একটি ম্যাট্রিক্স ইনভার্স ও কয়েকটি গুণ দিয়ে সরাসরি সর্বোত্তম $\mathbf{w}, b$ বের করা যায়।

যদি $\tilde{\mathbf{X}}^T\tilde{\mathbf{X}}$ ইনভার্টিবল না হয় (যেমন দুটি ফিচার পুরোপুরি সমানুপাতিক, বা $n < d$), তাহলে অসীম সংখ্যক সমাধান থাকতে পারে। ব্যবহারিকভাবে np.linalg.inv-এর বদলে np.linalg.lstsq বা pseudo-inverse ব্যবহার করা হয় — অথবা, নিচে দেখানো Ridge regularization যোগ করে সমস্যাটি সবসময়ের জন্য সমাধান করা যায়।

৪ · কেন এটি কাজ করে — গাউসিয়ান নয়েজের অধীনে MLE (পাঠ ৩০)

"স্কয়ারড এরর মিনিমাইজ করা" কি স্রেফ একটি সুবিধাজনক পছন্দ, নাকি এর পেছনে গভীর যুক্তি আছে? ধরি বাস্তব ডেটা তৈরি হয় এভাবে — সত্যিকারের রৈখিক সম্পর্ক প্লাস কিছুটা এলোমেলো নয়েজ: $$y = \mathbf{w}^T\mathbf{x} + b + \epsilon, \qquad \epsilon \sim \mathcal{N}(0, \sigma^2)$$ তাহলে (পাঠ ২৬-এর গাউসিয়ান PDF ব্যবহার করে) $y$, $\mathbf{x}$ দেওয়া থাকলে একটি গাউসিয়ান অনুসরণ করে: $y \mid \mathbf{x} \sim \mathcal{N}(\mathbf{w}^T\mathbf{x}+b, \sigma^2)$, অর্থাৎ $$P(y_i \mid \mathbf{x}_i; \mathbf{w}, b) = \frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{(y_i - \hat y_i)^2}{2\sigma^2}\right)$$ $n$টি ডেটা পয়েন্ট iid ধরলে (পাঠ ৩০-এর মতো), likelihood হলো এদের গুণফল, ও log-likelihood যোগফল: $$\ell(\mathbf{w}, b) = \sum_{i=1}^n \log P(y_i \mid \mathbf{x}_i) = -\frac{n}{2}\log(2\pi\sigma^2) - \frac{1}{2\sigma^2}\sum_{i=1}^n (y_i - \hat y_i)^2$$ লক্ষ করুন — এই রাশির মধ্যে $\mathbf{w}, b$-এর উপর নির্ভরশীল একমাত্র অংশ হলো $-\frac{1}{2\sigma^2}\sum_i(y_i-\hat y_i)^2$ (প্রথম পদটি $\mathbf{w}, b$-নিরপেক্ষ ধ্রুবক)। তাই: $$\arg\max_{\mathbf{w},b} \ell(\mathbf{w},b) = \arg\max_{\mathbf{w},b}\left[-\sum_i (y_i-\hat y_i)^2\right] = \arg\min_{\mathbf{w},b}\sum_i(y_i-\hat y_i)^2$$ অর্থাৎ — গাউসিয়ান নয়েজের অধীনে ম্যাক্সিমাম লাইকলিহুড এস্টিমেশন ঠিক স্কয়ারড এরর মিনিমাইজ করার সমতুল্য। "কেন বর্গ (square), অন্য কোনো পাওয়ার নয়?" — এই প্রশ্নের সঠিক উত্তর হলো এটাই: নয়েজ গাউসিয়ান ধরে নিলে, বর্গ-এরর ঠিক সেই রাশি যা likelihood থেকে স্বাভাবিকভাবে বেরিয়ে আসে।

তিন ধরনের গণিত, এক জায়গায়

এই একটি ডেরিভেশনেই — ম্যাট্রিক্স ও ইনভার্স (লিনিয়ার অ্যালজেব্রা, M2-M3), গ্রেডিয়েন্ট ও চেইন রুল (ক্যালকুলাস, M4), এবং গাউসিয়ান লাইকলিহুড (সম্ভাবনা তত্ত্ব, M6-M7) — পাঠ ০১-এ প্রতিশ্রুত তিন ধরনের গণিতের চক্র সম্পূর্ণরূপে একত্রিত হয়ে একটি বাস্তব, ব্যবহারযোগ্য অ্যালগরিদম তৈরি করছে।

📈 লিনিয়ার রিগ্রেশন ŷ = wᵀx + b 🔢 ম্যাট্রিক্স ইনভার্স Normal equations (L09) 📐 গ্রেডিয়েন্ট Chain rule (L13-L14, L17) 🎲 গাউসিয়ান MLE Gaussian noise (L26, L30)
লিনিয়ার রিগ্রেশন — কোর্সের তিন মূল স্তম্ভের একটি একক সংশ্লেষণ।

৫ · কোড: ক্লোজড-ফর্ম বনাম গ্রেডিয়েন্ট ডিসেন্ট — একই ডেটাসেটে

এখন এই দুটি সম্পূর্ণ ভিন্ন সমাধান পদ্ধতি — একটি সরাসরি সূত্র (ধারা ৩), আরেকটি পাঠ ১৭-এর ইটারেটিভ গ্রেডিয়েন্ট ডিসেন্ট (ধারা ২-এর গ্রেডিয়েন্ট ব্যবহার করে) — একই সিন্থেটিক ডেটাসেটে চালিয়ে দেখি তারা একই $\mathbf{w}, b$-এ পৌঁছায় কি না।

Python · NumPy
import numpy as np

rng = np.random.default_rng(42)

# --- সিন্থেটিক ডেটাসেট তৈরি: y = true_w . x + true_b + গাউসিয়ান নয়েজ ---
n, d = 200, 2
X = rng.normal(0, 1, size=(n, d))          # ফিচার ম্যাট্রিক্স (n x d)
true_w = np.array([3.0, -2.0])
true_b = 5.0
noise = rng.normal(0, 0.5, size=n)          # epsilon ~ N(0, 0.25)
y = X @ true_w + true_b + noise

# --- (A) ক্লোজড-ফর্ম সমাধান: নরমাল ইকুয়েশন ---
X_tilde = np.hstack([X, np.ones((n, 1))])   # বায়াসের জন্য কলাম যোগ
w_tilde_closed = np.linalg.inv(X_tilde.T @ X_tilde) @ X_tilde.T @ y
w_closed, b_closed = w_tilde_closed[:-1], w_tilde_closed[-1]

print("ক্লোজড-ফর্ম     -> w =", np.round(w_closed, 4), " b =", round(b_closed, 4))

# --- (B) গ্রেডিয়েন্ট ডিসেন্ট (পাঠ ১৭) ---
w_gd = np.zeros(d)
b_gd = 0.0
lr = 0.1
epochs = 1000

for epoch in range(epochs):
    y_hat = X @ w_gd + b_gd
    error = y_hat - y
    grad_w = (2 / n) * (X.T @ error)
    grad_b = (2 / n) * np.sum(error)
    w_gd -= lr * grad_w
    b_gd -= lr * grad_b

print("গ্রেডিয়েন্ট ডিসেন্ট -> w =", np.round(w_gd, 4), " b =", round(b_gd, 4))
print("প্রকৃত (true)      -> w =", true_w, " b =", true_b)

    
দুটি সম্পূর্ণ ভিন্ন পদ্ধতি — একটি একধাপে ম্যাট্রিক্স ইনভার্স দিয়ে, আরেকটি ১০০০ বার ছোট ছোট পদক্ষেপ নিয়ে — প্রায় হুবহু একই $\mathbf{w}, b$-এ পৌঁছায়, এবং দুটোই প্রকৃত (true) মানের কাছাকাছি (নয়েজের কারণে সামান্য পার্থক্য স্বাভাবিক)। এটিই প্রমাণ করে যে $\mathcal{L}$-এর একটিই গ্লোবাল মিনিমাম আছে (কনভেক্সিটি, পাঠ ১৬) — পথ ভিন্ন হলেও গন্তব্য এক।

৬ · বোনাস — Ridge regularization (পাঠ ৩২-এর সাথে সংযোগ)

পাঠ ৩২-এ আমরা দেখেছিলাম প্রতিটি ওজনের উপর গাউসিয়ান প্রায়র বসালে MAP এস্টিমেশন $L2$ regularization-এ পরিণত হয়। এখানে সেই একই ধারণা প্রয়োগ করলে লস ফাংশন হয় $\mathcal{L}_{ridge} = \frac{1}{n}\|\tilde{\mathbf{X}}\tilde{\mathbf{w}} - \mathbf{y}\|^2 + \lambda\|\mathbf{w}\|_2^2$ (সাধারণত বায়াস $b$-কে regularize করা হয় না)। একই পদ্ধতিতে গ্রেডিয়েন্ট শূন্য বসিয়ে সমাধান করলে: $$\tilde{\mathbf{w}} = (\tilde{\mathbf{X}}^T\tilde{\mathbf{X}} + \lambda \mathbf{I}')^{-1}\tilde{\mathbf{X}}^T\mathbf{y}$$ যেখানে $\mathbf{I}'$ হলো identity ম্যাট্রিক্স, শুধু বায়াসের অবস্থানে $0$ (যাতে বায়াস regularize না হয়)। লক্ষণীয় — $\lambda \mathbf{I}'$ যোগ করা $\tilde{\mathbf{X}}^T\tilde{\mathbf{X}}$-কে সবসময় ইনভার্টিবল করে তোলে, এমনকি যখন এটি নিজে থেকে ইনভার্টিবল না-ও হয় (পাঠ ০৯-এর সেই সমস্যাটির একটি সরাসরি সমাধান)।

Python · NumPy
# উপরের একই X, y, X_tilde ব্যবহার করে Ridge regression
lam = 1.0
reg_matrix = lam * np.eye(d + 1)
reg_matrix[-1, -1] = 0   # বায়াসকে regularize করা হয় না

w_tilde_ridge = np.linalg.inv(X_tilde.T @ X_tilde + reg_matrix) @ X_tilde.T @ y
print("Ridge (λ=1.0) -> w =", np.round(w_tilde_ridge[:-1], 4), " b =", round(w_tilde_ridge[-1], 4))

    
অভিনন্দন — আপনি কোর্সটি সম্পূর্ণ করেছেন

পাঠ ০১-এ আমরা বলেছিলাম একটি নিউরাল নেটওয়ার্ক তিন ধরনের গণিতের একটি চক্র। এই ৩৫টি পাঠে আপনি সেই চক্রের প্রতিটি অংশ সম্পূর্ণ গাণিতিকভাবে ডেরাইভ করেছেন — ভেক্টর ও ম্যাট্রিক্স থেকে শুরু করে (M2-M3), আইগেনভ্যালু ও SVD পেরিয়ে, চেইন রুল দিয়ে ব্যাকপ্রপাগেশন হাতে-কলমে ডেরাইভ করে (M4-M5), সম্ভাবনা তত্ত্ব ও পরিসংখ্যানের ভিত্তি বুঝে (M6-M7), এবং অবশেষে এই ক্যাপস্টোনে — যেখানে ম্যাট্রিক্স ইনভার্স, গ্রেডিয়েন্ট ও গাউসিয়ান লাইকলিহুড একসাথে মিলে একটি সম্পূর্ণ, বাস্তবে ব্যবহারযোগ্য মডেল তৈরি করেছে। এখন থেকে আপনি যখন কোনো পেপারের appendix-এ একটি ডেরিভেশন দেখবেন, বা কোনো লাইব্রেরির সোর্স কোডে np.linalg.inv বা গ্রেডিয়েন্টের হিসাব দেখবেন — সেই গণিতটা আর অচেনা লাগবে না, কারণ আপনি নিজের হাতে সেটা প্রথম থেকে তৈরি করেছেন। এটি একটি সমাপ্তি নয়, একটি ভিত্তি — Machine Learning ও Deep Learning কোর্সে এখন আপনি সূত্র দেখে থমকে না গিয়ে সরাসরি প্রয়োগে মনোযোগ দিতে পারবেন। অভিনন্দন, এবং শুভকামনা আপনার পরবর্তী ধাপের জন্য।

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

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

প্র ০১ নরমাল ইকুয়েশন যখন একটি একক সূত্রেই সরাসরি সমাধান দেয়, তাহলে বাস্তব ML সিস্টেমে (যেমন নিউরাল নেটওয়ার্ক) কেন সবসময় গ্রেডিয়েন্ট ডিসেন্ট ব্যবহার করা হয়?

দুটি কারণ। প্রথমত, $(\tilde{\mathbf{X}}^T\tilde{\mathbf{X}})^{-1}$ গণনার খরচ $O(d^3)$ — ফিচারের সংখ্যা $d$ যদি লক্ষ লক্ষ হয় (যেমন একটি বড় নিউরাল নেটওয়ার্কে), এই ইনভার্স ব্যবহারিকভাবে গণনা করাই অসম্ভব হয়ে যায়। দ্বিতীয়ত, নরমাল ইকুয়েশন কাজ করে কারণ MSE লস $\mathbf{w}$-এর একটি রৈখিক (linear) ফাংশনের সাপেক্ষে কোয়াড্রেটিক — কিন্তু নিউরাল নেটওয়ার্কে $\hat y$ প্যারামিটারের একটি nonlinear ফাংশন (একাধিক লেয়ার ও অ্যাক্টিভেশনের কারণে), তাই কোনো বন্ধ-আকারের সমাধানই থাকে না — গ্রেডিয়েন্ট ডিসেন্টই একমাত্র ব্যবহারিক উপায়।

প্র ০২ যদি দুটি ফিচার একে অপরের সাথে হুবহু সমানুপাতিক হয় (perfectly correlated), তাহলে নরমাল ইকুয়েশনে কী সমস্যা হবে, এবং এর সাথে পাঠ ০৬ ও পাঠ ০৯-এর সম্পর্ক কী?

দুটি ফিচার সমানুপাতিক হলে তারা রৈখিকভাবে নির্ভরশীল (পাঠ ০৬) — অর্থাৎ $\mathbf{X}$-এর কলামগুলো পূর্ণ র‍্যাঙ্ক তৈরি করে না, ফলে $\tilde{\mathbf{X}}^T\tilde{\mathbf{X}}$-ও পূর্ণ র‍্যাঙ্ক হয় না এবং এর ডিটারমিন্যান্ট $0$ (পাঠ ০৯) — অর্থাৎ ইনভার্স-ই নেই। ব্যবহারিকভাবে np.linalg.inv একটি error বা numerically অস্থিতিশীল ফলাফল দেবে। এই সমস্যার একটি সরাসরি সমাধানই হলো ধারা ৬-এর Ridge regularization, যা $\tilde{\mathbf{X}}^T\tilde{\mathbf{X}}$-এ $\lambda\mathbf{I}'$ যোগ করে সবসময় ইনভার্টিবল করে তোলে।

প্র ০৩ যদি নয়েজ $\epsilon$ গাউসিয়ান না হয়ে অন্য কোনো বিতরণ থেকে আসত (যেমন Laplace), তাহলে MLE কি এখনো স্কয়ারড এরর মিনিমাইজেশনের সমতুল্য হতো?

না। ধারা ৪-এর ডেরিভেশন সরাসরি গাউসিয়ান PDF-এর $\exp(-(y-\hat y)^2/2\sigma^2)$ আকারের উপর নির্ভরশীল, যা log নিলে একটি বর্গ-পদ দেয়। Laplace নয়েজের PDF-এ থাকে $\exp(-|y-\hat y|/b)$ — log নিলে এটি একটি absolute-value পদ দেয়, অর্থাৎ সেক্ষেত্রে MLE হবে $|y_i-\hat y_i|$-এর সমষ্টি মিনিমাইজ করা (L1 loss / mean absolute error), বর্গ নয়। এটি দেখায় লস ফাংশনের পছন্দ আসলে নয়েজ সম্পর্কে একটি সুস্পষ্ট পরিসংখ্যানগত অনুমান — কোনো স্বেচ্ছাচারী পছন্দ নয়।

অনুশীলন

  1. পরীক্ষা করুন: কোড সেলে n, noise-এর স্ট্যান্ডার্ড ডেভিয়েশন বা true_w/true_b-এর মান বদলে Run চাপুন। ক্লোজড-ফর্ম ও গ্রেডিয়েন্ট ডিসেন্ট এখনো একে অপরের কাছাকাছি থাকে কি না দেখুন। নয়েজ অনেক বাড়ালে (যেমন std=5.0) কী বদলায়?

    দুটি পদ্ধতি সবসময় একে অপরের কাছাকাছি থাকবে (কারণ তারা একই কনভেক্স ফাংশনের একই মিনিমাম খুঁজছে), কিন্তু নয়েজ বাড়ালে উভয় পদ্ধতির উত্তরই প্রকৃত (true) $\mathbf{w}, b$ থেকে বেশি দূরে সরে যাবে — কারণ বেশি নয়েজ মানে ডেটা থেকে প্রকৃত সম্পর্ক অনুমান করা কঠিন হয়ে যায় (কম "সিগনাল", বেশি "শব্দ")।

  2. ডেরাইভ করুন: একটি ফিচার ($d=1$) ধরে নিয়ে দেখান যে নরমাল ইকুয়েশন সমাধান পরিসংখ্যানের ক্লাসিক সরল রিগ্রেশন সূত্র $w = \dfrac{\sum_i(x_i-\bar x)(y_i-\bar y)}{\sum_i(x_i-\bar x)^2}$, $b=\bar y - w\bar x$-এর সমতুল্য।

    $d=1$-এ নরমাল ইকুয়েশন $\tilde{\mathbf{X}}^T\tilde{\mathbf{X}}\tilde{\mathbf{w}} = \tilde{\mathbf{X}}^T\mathbf{y}$ হাতে-কলমে লিখে ২টি সমীকরণ ২টি অজানা ($w, b$) সমাধান করলে ($\sum x_i$, $\sum x_i^2$, $\sum y_i$, $\sum x_iy_i$ পদগুলোর মাধ্যমে) ঠিক এই ক্লাসিক সূত্রেই পৌঁছাবেন — কারণ এটি শুধু একই নরমাল ইকুয়েশনের বীজগাণিতিকভাবে সরলীকৃত, বিশেষ ($d=1$) কেস।

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

পূর্ববর্তী পাঠ
ক্রস-এনট্রপি, KL ডাইভার্জেন্স ও লস ফাংশনের ভিত্তি