ম্যাশিন লার্নিং (খণ্ড ১)

learning to recognize patterns

Posted by Rabiul Awal on December 22, 2021

ড্যাটা ও মডেল

মডেল ফিটিং

নিয়ারেস্ট নেইবোর

পারফরম্যান্স

ব্যাকগ্রাউন্ড গণিত

লিনিয়ার এলজেব্রা

লিনিয়ার এলজেব্রা হলো ভেক্টর এবং ভেক্টর ম্যানিপুলেশন গণিত। আমরা উচ্চ মাধ্যমিকে যেসব ভেক্টর নিয়ে সেগুলি ছিল জিওমেট্রিক ভেক্টর। দুটো ভেক্টরকে যোগ করা যায় কিংবা কোন একটা স্ক্যালার দিয়ে গুণ করে নতুন ভেক্টর পাওয়া যায়।

\begin{equation} \vec{\bf a} + \vec{\bf b} = \vec{\bf c} \ \end{equation}

\begin{equation} c \vec{\bf x}, c \in \mathbb{R} \ \end{equation}

ম্যাশিন লার্নিং ভেক্টর পরিচিত। $n$ সংখ্যক বাস্তব সংখ্যার $\mathbb{R}^n$ টুপলস (tuples) ভেক্টর। ধরা যাক,

\(a =\) \(\begin{bmatrix} 1 \\ 2 \\ 3 \\ \end{bmatrix}\) \(\in \mathbb{R}^3\)

ভেক্টর স্পেস

ভেক্টর স্পেস হলো একটি ভেক্টরগুলির সেট যেখানে দুইটা ভেক্টর যোগ বা একটি ভেক্টরকে স্ক্যালার মান দিয়ে গুণ করতে পারি। যোগ বা গুণ থেকে প্রাপ্ত নতুন ভেক্টরটি নির্দিষ্ট স্পেসের মধ্যেই থাকবে। এছাড়া ভেক্টরগুলির মধ্যে যোগ, গুণ ইত্যাদি অপারেশন গণিতের এসোসিয়েটিভ ও ডিস্ট্রিবিউটিভ সূত্র মেনে চলে। তাহলে, ভেক্টর হলো ভেক্টর স্পেসের ইলিমেন্ট।

গাণিতিক কথায়, ভেক্টর স্পেস হলো একটি সেট $X$ (ভেক্টর) একটা ফিল্ডের (স্ক্যালার) উপর নিম্ন উপায়ে কাজ করে

  • যা abelian গ্রুপ যোগের নিয়মে,
  • $X$ স্ক্যালার মাল্টিপ্লিকেশনের আন্ডারে ক্লোজড এবং
  • $+, .$ অপারেটর এসোসিয়েটিভ ও ডিস্ট্রিবিউটিভ সূত্র মেনে কাজ করে।

ক্লোজড আন্ডার এডিশন মানে হলো আমরা যদি ভেক্টর $x_1$ ও $x_2$ কে যোগ দিই তাদের যোগফল $x_3=x_1+x_2$ ওই ভেক্টর স্পেসেই আবদ্ধ থাকবে – ভেক্টর স্পেস ছেড়ে যাবে না।

দুটি ভেক্টর স্পেসের মধ্যকার স্ট্রাকচার বজায় রাখে এমন ম্যাপকে বলে লিনিয়ার ম্যাপ। লিনিয়ার ম্যাপ হলো একটি ফাংশন। দুটি ভেক্টর স্পেস $X$ ও $Y$ যারা একটি ফিল্ডের উপর কাজ করে, ভেক্টর দুটির লিনিয়ার ম্যাপ হচ্ছে একটি ফাংশন $\phi: X \rightarrow Y $ যে নিচের বৈশিষ্ট্য মেনে চলবে –

  1. $\phi (v+w) = \phi v + \phi w$ যেখানে $v,w \in X$
  2. $\phi (av) = a \phi(v)$ //  এখানে $a$ স্ক্যালার মান

সেটের যেমন সাবসেট হয়, ভেক্টর স্পেসেরও সাবস্পেস আছে। ভেক্টর সাবস্পেস হলো ভেক্টর স্পেসের একটি সাবসেট। ভেক্টর সাবস্পেস $U$ মূল ভেক্টর স্পেস $V$ এর অংশ, $U \subset V$।

লিনিয়ার ইন্ডিপেন্ডেন্স

ভেক্টরের সমষ্টি হলো লিনিয়ার কম্বিনেশন। $x_1, x_2, … , x_n$ যদি $n$ সংখ্যক ভেক্টর হয়, তাহলে সবগুলি ভেক্টরের যোগফল $x_1 + x_2 + … + x_n$ কে বলবো লিনিয়ার কম্বিনেশন। লিনিয়ার কম্বিনেশন দিয়ে আমরা একটা গুরুত্বপূর্ন কনসেপ্ট লিনিয়ার ইন্ডিপেন্ট সম্পর্কে ধারণা পেতে পারি।

\begin{equation} a_1 x_1 + a_2 x_2 + … + a_n x_n = 0 \end{equation} উপরের ইকুয়েশনের সল্যুশন পাওয়ার জন্য সবচে ট্রিভিয়াল উপায় হচ্ছে সবগুলি কোএফিশিয়েন্টের মান $0$ বানিয়ে দেয়া। যদি আমরা এমন একটি সল্যুশন বের করতে পারি যেখানে সবগুলি কোএফিশিয়েন্টের মান $0$ শূন্য নয় সেটাকে বলে নন ট্রিভিয়াল সল্যুশন এবং ভেক্টরগুলি তখন লিনিয়ারলি ডিপেন্ডেন্ট। কিভাবে? ধরা যাক, $x_n$ এর মান শূন্য নয় তাহলে আমরা $x_n$ সমীকরণের বাম দিকে রেখে অন্য ভ্যালুগুলির মাধ্যমে প্রকাশ করতে পারি। এর মানে $x_n$ অন্যদের উপর ডিপেন্ডেন্ট! তাহলে যা দাঁড়ালো, নন ট্রিভিয়াল সল্যুশন ছাড়া যদি অন্য কোন সল্যুশন না পাওয়া যায় তাহলে লিনিয়ারলি ডিপেন্ডেন্ট, অন্যথায় লিনিয়ারলি ইন্ডিপেন্ট। মানে লিনিয়ার ইনডিপেন্ডেন্ট হতে গেলে সবগুলি কোএফিশিয়েন্টের মান শূন্য হতে হবে।

উদাহরণ, একটা ভেক্টর যদি লিনিয়ার ইন্ডিপেন্ট হবে যদি এর মান শূন্য না হয়। দুটি ভেক্টর যদি একই সরলরেখার উপর না থাকে, তাহলে ভেক্টর দুটি লিনিয়ারলি ইন্ডিপেন্ডেন্ট (এর মানে একটা ভেক্টর অন্যটার স্ক্যালার গুণ করে পাইনি)।

স্প্যান ও বেসিস

একটি ভেক্টর স্পেস হলো অনেকগুলি ভেক্টরের সেট। লিনিয়ার কম্বিনেশন থেকে আমরা জানতে পারি দুটি ভেক্টরকে যোগ, স্ক্যালার গুণ থেকে একটি নতুন ভেক্টর পাওয়া যায়। আমাদের ভেক্টর স্পেস $X$ থেকে পাওয়া যায় এমন কয়েকটি ভেক্টর নিচে দেওয়া হলো –

\(\) \(\begin{bmatrix} 0 \\ 1 \\ \end{bmatrix}\) \(,\) \(\begin{bmatrix} 1 \\ 0 \\ \end{bmatrix}\) \(,\) \(\begin{bmatrix} 3 \\ 0 \\ \end{bmatrix}\) \(,\) \(\begin{bmatrix} 2 \\ 1 \\ \end{bmatrix}\) \(\)

খেয়াল করলে বুঝতে পারবো যে, প্রথম ভেক্টর থেকে আমরা তৃতীয় ভেক্টর পেতে পারি স্ক্যালার গুণ করে। আর চতুর্থ ভেক্টরটি পেতে আমাদের প্রথম দুটি ভেক্টরের যোগ ও স্ক্যালার গুণ করতে হবে। প্রথম দুটি ভেক্টর বাদে বাকি ভেক্টরগুলি রিডানডেন্ট। কারণ প্রথম দুটি ভেক্টর থেকে বাকিগুলি লিনিয়ার কম্বিনেশনের মাধ্যমে জেনারেট করতে পারি। ভেক্টর স্পেসের সব রকম লিনিয়ার কম্বিনেশন সেটকে আমরা স্প্যান বললো। স্প্যানিং সেট হলো সবচে ছোট সাবস্পেস যাদের লিনিয়ার কম্বিনেশন ভেক্টর স্পেসের সবগুলি ভেক্টর ধারণ করে। ভেক্টর স্প্যান $span[X]$ হলো সেই জেনারেটিং সেট।

বেসিস হলো মিনিমাল স্প্যানিং সেট যার ভেক্টরগুলি লিনিয়ারলি ম্যাক্সিমালি ইনডিপেন্ডেন্ট। ম্যাক্সিমালি ইন্ডিপেন্ডেন্ট শব্দগুচ্ছটি এখানে গুরুত্বপূর্ণ যার মানে দাঁড়ায় বেসিস সেট থেকে যদি কোন একটি ভেক্টরকে বাদ দেয়া হয়, তাহলে ভেক্টর স্পেসে সবগুলি ভেক্টর জেনারেট করতে পারবো না। পুরো ভেক্টর স্পেস ধারণ বা স্প্যান করা তখন আর সম্ভব নয়।

ফাইনাইট ডাইমেনশন

যে ভেক্টর স্পেসের ফাইনাইট বেসিস থাকে তাকে বলা হয় ফাইনাইট ডাইমেনশনাল ভেক্টর স্পেস। ডাইমেনশনালিটি ম্যাশিং লার্নিংয়ে বেশ গুরত্বপূর্ণ ধারণা।

র‍্যাঙ্ক

লিনিয়ার ম্যাপিংস ও এফাইন স্পেস

টেনসর

ম্যাট্রিক্স গুণন, ইনভার্স

জিওমেট্রি, নর্ম

অর্থোগোনালিটি

প্রজেকশন

সিঙ্গুলার ভ্যালু ডিকম্পজিশন (SVD)

সম্ভাব্যতা

সম্ভাব্যতা থিওরি

সম্ভাব্যতা হলো ঘটনাটি কতবার ঘটছে মোট ঘটনার মধ্যে; লিমিটে হচ্ছে অসীম (inifinity) ট্রায়াল হতে পারে। সংজ্ঞা অনুযায়ী সম্ভাব্যতা $[০, ১]$ ইন্টার্ভালে ভ্যালু নিতে হবে।

$P(A) = ৪/ ১০$ $P(B) = ৬/১০$

প্যাটার্ন রিকগনিশন আনসার্টেইনটি পরিমাপ ডিসিশন থিওরি র‍্যান্ডম ভ্যারিয়েবল

যোগের নিয়ম (sum rule) ও গুণের নিয়ম (product rule)

যৌথ সম্ভাব্যতা (joint probability)

যোগের নিয়ম ব্যবহার করে মার্জিনাল প্রোবাবিলিটি (marginal probaliblity) বের করা যায়। এটাকে মার্জিনাল সম্ভাব্যতা বলা হয় মান বের করার জন্য আমরা কারণ অন্য চলকগুলির উপর যোগ করে বা মার্জিনাইল করছি। কন্ডিশনাল প্রোবাবিলিটি সম্ভাব্যতার গুণের নিয়ম

সম্ভাব্যতার নিয়মগুলিঃ
যোগের নিয়ম\begin{equation} p(X) = \sum_Y p(X, Y) \end{equation} গুণের নিয়ম\begin{equation} p(X,Y) = p(Y|X)p(X) \end{equation}

গুণের নিয়ম থেকে আমরা লিখতে পারিঃ \begin{equation} p(Y|X) = \frac{p(X|Y)p(Y)}{p(X)} \end{equation} যাকে বলা হয় বায়েস থিওরমে (Bayes’ theorem)। আমরা যোগের নিয়ম ব্যবহার করে হরের অংশটিকে লিখতে পারি। যে নতুন রুপ দাঁড়াবে একে বলা হয় নরমালাইজেশন ধ্রুবক। এটার মাধ্যমে আমরা সকল $Y$ ভ্যালুর জন্য বামের যে সম্ভাব্যতা সেটা ১ নিশ্চিত করতে পারি।

র‍্যান্ডম ভ্যারিয়েবল

সম্ভাব্যতার ডিস্ট্রিবিউশন হিস্টোগ্রাম প্লট। ড্যাটা থেকে ডিস্ট্রিবিউশন তইরি করা প্যাটার্ন রিকগনিশনের খুবই গুরুত্বপূর্ণ কাজ।

বিচ্ছিন্ন র‍্যান্ডম ভ্যারিয়বলের কোন একটা ইন্টারভ্যাল $[a, b]$ সম্ভাব্যতা কত? ইন্টারভ্যালের ভেতর সবগুলি ইউনিট মাস ভ্যালু যোগ করে নিলেই আমরা ভ্যালুটা পেয়ে যাবো।

\begin{equation} p(a\leq x \leq b) = \sum_{x:a\leq x \leq b} p(x) \end{equation}

কন্টিনিয়াস র‍্যান্ডম ভ্যারিয়ল একটি কন্টিনিউয়াস র‍্যাঞ্জের মধ্যে ভ্যালু নিবে। সরল রেখা কোন অংশ কতো সম্ভাব্যতা মাস আছে তা প্রবাবিলিটি ঘনত্ব দিয়ে মাপা হয়। আমরা এটা হিশেব করতে পারি ইন্টার্ভাল কার্ভের নিচের আয়তন থেকে (area under the curve)। প্রবাবিলিটি ডেনসিটিকে তুষারপাতের সাথে তুলনা করা যায়। গাণিতিকভাবে এরিয়া আন্ডার দ্য কার্ভ একটা ইন্টেগ্রাল।

\begin{equation} p(x) = \int_{a}^{b} p(x) \,dx \end{equation} এই ইন্টেগ্র্যাল সলভ করলেই আমরা সম্ভাব্যতার ঘনত্ব (probability density) পেয়ে যাবো। বিচ্ছিন্ন চলকের সাথে একই বৈশিষ্ট্য অনুযায়ী pdf $f(x) \geq = 0$ হতে হবে। pdf এর মোট ক্ষেত্র (total area under the pdf) হবে $\int_{-\infty}^{\infty} f(x) \,dx = 1$।

এক্সপেকটেশন

মলি বাজারে যায় এবং লটারি কেনে। প্রতিটা লটারিতে ৩ রকমের প্রাইজ আছেঃ ১টা চকোলেট (১ টাকা), ২টা পেন্সিল (৬ টাকা), ১ পটেটো চিপস (১০ টাকা), ১ লিটার কোকাকোলা (৩০ টাকা)। মলি এই খেলাটা গত ১০০০ দিন ধরে খেলছে এবং সে প্রতিটা প্রাইজের সম্ভাব্যতা গুণে রেখেছেঃ

$p$(চকোলেট) $= ৬.৫/১০$
$p$(পেন্সিল) $= ২/১০$
$p$(চিপস) = $১.৫/১০$
$p$(কোকাকোলা) $= ০.৫/১০$

আমরা বের করতে চাচ্ছি ওর এক্সপেক্টেড প্রাইজ জেতার মান কতো। \begin{align} \frac{১ * ৬৫০ + ৬ * ২০০ + ১০ * ১৫০ + ৩০* ৫০}{১০০০} \end{align} \begin{align} = ১ * ৬.৫ + ৬ * ২ + ১০ * ১.৫ + ৩০* ০.৫
\end{align}

তাহলে আমরা একটা মান পেলাম যেটা আমাদের র‍্যান্ডম ভ্যারিয়েবলের (লটারির প্রাইজের) এভারেজ। উপরের যোগ্যতা করলাম আমরা সেখানে প্রত্যেকটা র‍্যান্ডম ভ্যারিয়েবলের মান নিলাম যেমন চকোলেটের মান ১ টাকা এবং সেই ভ্যালুকে একটা প্রবাবিলিটি দিয়ে গুণ দিলাম। লক্ষ্য করুন, প্রবাবিলিটি ভ্যালু হচ্ছে অই র‍্যান্ডম ভ্যারিয়েবল জেতার সম্ভাব্যতা। আমাদের র‍্যান্ডম ভ্যারিয়েবল $(X)$ ৪ রকমের ভ্যালু $(x)$ নিতে পারে এবং প্রত্যেকটা ভ্যালু নেয়ার সম্ভাব্যতা মান আমরা $p(x)$। একটা আইটেমের জন্য এই দুটোকে গুণ দিলামঃ $x * p(x)$। এই কাজটাই সবগুলি র‍্যান্ডম ভ্যারিয়েবল ভ্যালুর জন্য করলাম। এবার তাহলে ইকুয়েশন লিখে নিইঃ

\begin{align} \mathbb{E}(X) = \sum_x x p(x) \end{align}

আমরা বলতে পারি, এক্সপেকটেশন হলো র‍্যান্ডম ভ্যারিয়েবলের মিন। এটার ইন্টারপ্রিটেশন কি? এখানে একটা বিষয় খেয়াল করতে হবে আমরা $p(x)$ এর মান আগে থেকে হিশেব করে রেখেছি। এই হিশেব সঠিক হবার জন্য আমাদেরকে অনেকগুলি এক্সপেরিমেন্ট চালাতে হবে; যেমন এখানে ১০০০ বার এক্সপেরিমেন্ট চালানো। তাহলে এক্সপেকটেশন হলো এক্সপেরিমেন্টটি স্বাধীনভাবে অনেক বড় সংখ্যক পরিমাণ রিপিট করলে যে এভারেজ পাবো তাই।

বার্নুলি র‍্যান্ডম ভ্যারিয়েবল এক্সপেকটেশন

$X = 1$ হলে সম্ভাব্যতা $p$
$X = 0$ হলে $1-p$

তাহলে বার্নুলি এক্সপেকটেশনঃ $\mathbb{E}(X) = 1 \cdot p + 0 \cdot (1-p) = p$।

ইউনিফর্ম র‍্যান্ডম ভ্যারিয়েবল এক্সপেকটেশন

ইউনিফর্ম র‍্যান্ডম ভ্যারিয়েবল $0, 1, …, n$। যেকোন ভ্যালু পাবার সম্ভাব্যনা সমান। তাহলে মোট $n$ টা ভ্যালু আছে, সেখান থেকে যেকোন ভ্যালু ড্র করার সম্ভাব্যতা হলো $1/(n+1)$।

\begin{align} \mathbb{E}(X) = 0 \cdot \frac{1}{n+1} + 1 \cdot \frac{1}{n+1} + … + n \cdot \frac{1}{n+1} \ = \frac{1}{n+1} (0 + 1 + … + n) \ \end{align} \begin{align} = \frac{1}{n+1} \frac{n(n+1)}{2} \ = \frac{n}{2}
\end{align}

ভ্যারিয়েন্স \begin{align} \textrm{Var}(X) = E[(X-E[X])^2] = E[X^2]-E[X]^2 \end{align}

\begin{align} \sigma = \sqrt{\textrm{Var}(X)} \end{align}

Gaussian (নরমাল) ডিস্ট্রিবিউশন

\begin{align} X \sim \mathcal{N}(\mu,\,\sigma^{2}) = \frac{1}{(2\pi\sigma^{2})^{1/2}}\exp \left(-\frac{1}{2\sigma^{2}}(x-\mu)^{2}\right) \end{align}

Distribution PDF $E[X]$ $\textrm{Var}(X)$ Illustration
$X\sim\mathcal{B}(n, p)$ $\displaystyle \displaystyle\binom{n}{x} p^xq^{n-x}$ $np$ $npq$ <img alt="Binomial distribution" class=img-responsive src=img/dist-binomial.png>
$X\sim\textrm{Po}(\mu)$ $\displaystyle \frac{\mu^x}{x!}e^{-\mu}$ $\mu$ $\mu$ <img alt="Poisson distribution" class=img-responsive src=teaching/cme-106/illustrations/dist-poisson.png?b2c5cd622b917c691814b475f5b6a2fa>
$X\sim\mathcal{U}(a, b)$ $\displaystyle \frac{1}{b-a}$ $\displaystyle\frac{a+b}{2}$ $\displaystyle\frac{(b-a)^2}{12}$ <img alt="Uniform distribution" class=img-responsive src=teaching/cme-106/illustrations/dist-uniform.png?8e8595803628c45d3d4e678a29593788>
$X\sim\mathcal{N}(\mu, \sigma)$ $\displaystyle \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2}$ $\mu$ $\sigma^2$ <img alt="Normal distribution" class=img-responsive src=teaching/cme-106/illustrations/dist-normal.png?c8d3d312a2a493540e439cb156e1710a>
$X\sim\textrm{Exp}(\lambda)$ $\displaystyle \lambda e^{-\lambda x}$ $\displaystyle\frac{1}{\lambda}$ $\displaystyle\frac{1}{\lambda^2}$ <img alt="Exponential distribution" class=img-responsive src=teaching/cme-106/illustrations/dist-exponential.png?09116ce799454b285ac487fb39f097c3>

উপরের টেবিলটি নেয়া হয়েছে নিচের সোর্স থেকে।

সুপারভাইজড সেটিং

লিনিয়ার রিগ্রেশন

এমপিরিক্যাল রিস্ক মিনিমাইজেশন

অপটিমাইজেশন

লজিস্টিক রিগ্রেশন

মডেল সিলেকশন

বায়েসিয়ান ফ্রেমওয়ার্ক

অনিশ্চয়তা ও ম্যাশিন লার্নিং

আরো গণিত

এক্সপোনেনশিয়াল ফ্যামিলি

কালব্যাক লিবলার ডাইভারজেন্স

জ্যাকোভিয়ান

গ্র্যাডিয়েন্ট, টেইলর থিওরেম