KNN এর Distance Metrics

K-Nearest Neighbors (KNN) - পাইথন দিয়ে মেশিন লার্নিং (Machine Learning with Python) - Machine Learning

416

K-Nearest Neighbors (KNN) একটি জনপ্রিয় সুপারভাইজড মেশিন লার্নিং অ্যালগরিদম, যা শ্রেণীবিভাগ (classification) এবং রিগ্রেশন (regression) এর জন্য ব্যবহৃত হয়। KNN এর মূল কাজ হল একটি নতুন ডেটা পয়েন্টের জন্য তার ক-নিকটতম প্রতিবেশী (neighbors) খুঁজে বের করা এবং তাদের ভোট বা গড়ের মাধ্যমে সিদ্ধান্ত নেয়া। KNN অ্যালগরিদম কাজ করার জন্য ডেটা পয়েন্টগুলির মধ্যে দূরত্ব (distance) নির্ধারণ করতে হয়। এই উদ্দেশ্যে বিভিন্ন distance metrics ব্যবহৃত হয়।

KNN এর প্রধান Distance Metrics:

  1. Euclidean Distance (ইউক্লিডিয়ান দূরত্ব)
  2. Manhattan Distance (ম্যানহাটন দূরত্ব)
  3. Minkowski Distance (মিনকোভস্কি দূরত্ব)
  4. Cosine Similarity (কোসাইন সাদৃশ্য)

১. Euclidean Distance (ইউক্লিডিয়ান দূরত্ব)

Euclidean Distance হল সবচেয়ে সাধারণ এবং জনপ্রিয় distance metric, যা দুইটি পয়েন্টের মধ্যে সরাসরি লাইন বা সোজা পথে দূরত্ব হিসাব করে। এটি সাধারণত গাণিতিক পিথাগোরাসের থিওরেম ব্যবহার করে বের করা হয়।

সূত্র:

d(p,q)=i=1n(piqi)2d(\mathbf{p}, \mathbf{q}) = \sqrt{\sum_{i=1}^{n} (p_i - q_i)^2}

এখানে,

  • p\mathbf{p} এবং q\mathbf{q} দুটি পয়েন্ট।
  • nn হল ডেটা পয়েন্টের ফিচারের সংখ্যা।

উদাহরণ:

ধরা যাক, দুটি পয়েন্ট (2,3)(2, 3) এবং (5,7)(5, 7):

d=(52)2+(73)2=32+42=9+16=25=5d = \sqrt{(5-2)^2 + (7-3)^2} = \sqrt{3^2 + 4^2} = \sqrt{9 + 16} = \sqrt{25} = 5

২. Manhattan Distance (ম্যানহাটন দূরত্ব)

Manhattan Distance বা Taxicab Distance হল এমন একটি দূরত্ব যা দুটি পয়েন্টের মধ্যে সোজা লাইন দিয়ে নয়, বরং অনুভূমিক এবং উল্লম্বভাবে চলতে চলতে হিসাব করা হয়। এটি শহরের রাস্তা যেমন ম্যানহাটনে যেখানে রাস্তা সরল এবং কোণাকোণি থাকে, সেখানে ব্যবহৃত হয়।

সূত্র:

d(p,q)=i=1npiqid(\mathbf{p}, \mathbf{q}) = \sum_{i=1}^{n} |p_i - q_i|

এখানে,

  • p\mathbf{p} এবং q\mathbf{q} দুটি পয়েন্ট।
  • nn হল ডেটা পয়েন্টের ফিচারের সংখ্যা।

উদাহরণ:

ধরা যাক, দুটি পয়েন্ট (2,3)(2, 3) এবং (5,7)(5, 7):

d=52+73=3+4=7d = |5 - 2| + |7 - 3| = 3 + 4 = 7

৩. Minkowski Distance (মিনকোভস্কি দূরত্ব)

Minkowski Distance হল একটি সাধারণীকৃত distance metric যা Euclidean এবং Manhattan দূরত্বের একটি সাধারণ রূপ। এটি একটি প্যারামিটার pp দ্বারা নিয়ন্ত্রিত, যেটি নির্ধারণ করে কতটা "ভারী" ফিচারের জন্য আমরা দূরত্বের ক্যালকুলেশন করব। যদি p=2p = 2, তবে এটি Euclidean Distance হয় এবং যদি p=1p = 1, তবে এটি Manhattan Distance হয়।

সূত্র:

d(p,q)=(i=1npiqip)1/pd(\mathbf{p}, \mathbf{q}) = \left(\sum_{i=1}^{n} |p_i - q_i|^p \right)^{1/p}

এখানে,

  • p\mathbf{p} এবং q\mathbf{q} দুটি পয়েন্ট।
  • pp হল Minkowski প্যারামিটার (যে কোন ইতিবাচক সংখ্যা)।
  • nn হল ডেটা পয়েন্টের ফিচারের সংখ্যা।

উদাহরণ:

যদি p=3p = 3, দুটি পয়েন্ট (2,3)(2, 3) এবং (5,7)(5, 7):

d=(523+733)1/3=(33+43)1/3=(27+64)1/3=911/34.49d = \left(|5 - 2|^3 + |7 - 3|^3\right)^{1/3} = \left(3^3 + 4^3\right)^{1/3} = \left(27 + 64\right)^{1/3} = 91^{1/3} \approx 4.49

৪. Cosine Similarity (কোসাইন সাদৃশ্য)

Cosine Similarity মূলত ভেক্টরের দিকের সাদৃশ্য পরিমাপ করে, দূরত্ব নয়। এটি সাধারণত টেক্সট ডেটা বা অন্যান্য ফিচারের মধ্যে সমান্তরালতা বা সাদৃশ্য পরিমাপের জন্য ব্যবহৃত হয়। দুটি ভেক্টরের মধ্যে কোণ পরিমাপ করে, যা তাদের সাদৃশ্যের পরিমাণ নির্ধারণ করে।

সূত্র:

Cosine Similarity=ABAB\text{Cosine Similarity} = \frac{\mathbf{A} \cdot \mathbf{B}}{\|\mathbf{A}\| \|\mathbf{B}\|}

এখানে,

  • A\mathbf{A} এবং B\mathbf{B} হল দুটি ভেক্টর।
  • A\|\mathbf{A}\| এবং B\|\mathbf{B}\| হল তাদের যথাক্রমে দৈর্ঘ্য (norm)।

Cosine similarity 1 হলে ভেক্টর দুটি পুরোপুরি সমান্তরাল এবং 0 হলে তাদের মধ্যে কোনো সাদৃশ্য নেই।

উদাহরণ:

ধরা যাক, দুটি ভেক্টর A=(1,2)\mathbf{A} = (1, 2) এবং B=(2,3)\mathbf{B} = (2, 3):

Cosine Similarity=(1×2+2×3)12+22×22+32=85×130.912\text{Cosine Similarity} = \frac{(1 \times 2 + 2 \times 3)}{\sqrt{1^2 + 2^2} \times \sqrt{2^2 + 3^2}} = \frac{8}{\sqrt{5} \times \sqrt{13}} \approx 0.912


সারাংশ

  • Euclidean Distance: দুটি পয়েন্টের মধ্যে সরাসরি লাইন দিয়ে দূরত্ব মাপা হয়।
  • Manhattan Distance: অনুভূমিক এবং উল্লম্ব পথে পয়েন্টের মধ্যে দূরত্ব মাপা হয়।
  • Minkowski Distance: একটি সাধারণীকৃত দূরত্ব যা pp প্যারামিটার দ্বারা নিয়ন্ত্রিত হয় (যেখানে p=2p = 2 হলে এটি Euclidean এবং p=1p = 1 হলে এটি Manhattan হয়)।
  • Cosine Similarity: দুটি ভেক্টরের মধ্যে কোণ পরিমাপ করে, তাদের সাদৃশ্য নির্ধারণ করা হয়।

KNN অ্যালগরিদমে কোন distance metric ব্যবহার করা হবে তা নির্ভর করে আপনার ডেটার ধরন এবং সমস্যার উপর।

Content added By
Promotion

Are you sure to start over?

Loading...