آموزش دیتاساینس و ماشین‌لرنینگ
1.91K subscribers
161 photos
9 videos
134 links
🔴 آموزش مباحث حوزه دیتا شامل علم داده، یادگیری ماشین و تحلیل داده (رضا شکرزاد)

🌀 کانال اخبار و منابع هوش مصنوعی:
@DSLanders

🌀 مشاوره و ارتباط مستقیم:
https://t.iss.one/dslanders_admin

یوتیوب:
Youtube.com/@RezaShokrzad

دوره‌ها:
cafetadris.com/datascience
Download Telegram
👨‍🏫 تعریف و انواع بیز ساده

الگوریتم بیز ساده یه روش طبقه‌بندی مبتنی به اصل بیز هست و توی مواردی که مجموعه داده‌ها بزرگه، کاربرد داره. الگوریتم Naive Bayes فرض می‌کنه ویژگی‌های مختلف توی داده‌ها مستقل از هم دیگه هستن و توی دسته‌ی یادگیری با ناظر قرار داره.

🔵 اصل بیز

قبل از بررسی الگوریتم بیز ساده، باید با اصل بیز آشنا شیم. اصل بیز رابطه‌ای ریاضیه که احتمال وقوع یه رویداد رو بر اساس دانش قبلی از شرایط مرتبط با اون رویداد تعیین می‌کنه. فرمول اصل بیز رو داخل تصویر می‌تونین ببینین.

🔵 انواع الگوریتم بیز ساده

🔵بیز ساده گاوسی (Gaussian Naive Bayes)
توی این مدل فرض می‌شه که ویژگی‌ها دارای توزیع نرمال (گاوسی) هستن. این روش در مواقعی که ویژگی‌ها ویژگی‌های پیوسته هستن، مثل قد یا وزن، کاربرد داره.

🔵بیز ساده چندجمله‌ای (Multinomial Naive Bayes)
این الگوریتم برای متغیرهای گسسته مثل شمارش کلمات در متن به کار می‌ره و توی طبقه‌بندی متن و تحلیل احساسات بسیار محبوبه.

🔵بیز ساده برنولی (Bernoulli Naive Bayes)
مناسب برای ویژگی‌های دودویی (مثلا حضور یا عدم حضور یک ویژگی در یک نمونه). این الگوریتم در مواردی که ویژگی‌ها به صورت "بودن" یا "نبودن" هستن، مفیده.

#Machine_Learning
#Naive_Bayes

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍3👌3
💡دوتا مدل هستن که فقط برای تسک‌های Classification کاربرد دارن: بیز ساده (Naive Bayes) و لجستیک رگرسیون (Logistic Regression)

#Machine_Learning
#Naive_Bayes

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74👨‍💻1
👨‍🏫 Multinomial & Bernoulli Naive Bayes

🔵توزیع برنولی برای محاسبه احتمالات گسسته استفاده می‌شه و موفقیت یا شکست رو حساب می‌کنه. متغیر تصادفی توی این نوع ۰ یا ۱ هست و احتمال وقوع به صورت p یا (1-p) مشخص می‌شه. الگوریتم Bernoulli Naïve Bayes بیشتر برای تشخیص اسپم، طبقه‌بندی متن، تحلیل احساسات و تعیین وجود یا عدم وجود یک کلمه توی متن به کار می‌ره.

مزایای Bernoulli Naïve Bayes شامل سادگی، کارآمدی و دقت بالا توی مجموعه داده‌های کوچیکه. این الگوریتم به خوبی برای طبقه‌بندی متن کار می‌کنه، اما چون فرض استقلال ویژگی‌ها رو داره، ممکنه نتایج نامناسبی تولید کنه و برای مسائل چند کلاسه مناسب نیست. همچنین اگه توی کلاس‌بندی داده‌ها عدم تعادل وجود داشته باشه، دقت کلی مدل کاهش پیدا می‌کنه.

🔵بیز ساده چندجمله‌ای (Multinomial Naïve Bayes) برای طبقه‌بندی متن‌ها استفاده می‌شه، جایی که باید با داده‌های گسسته مثل شمارش کلمات توی اسناد سروکار داشته باشیم.

مزایای استفاده از Multinomial Naïve Bayes عبارتند از کارآمدی، پیاده‌سازی ساده، مقاومت در برابر ویژگی‌های غیرمرتبط و نتایج قابل تفسیر. این الگوریتم گزینه‌ای عملی برای وظایف طبقه‌بندی متن مثل تشخیص هرزنامه، تحلیل احساسات و دسته‌بندی اسناده، جایی که ویژگی‌ها اغلب بر اساس شمارش کلمات هستن.

#Machine_Learning
#Naive_Bayes

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72👌1👨‍💻1
کوئیز شماره ۳۹: توی کدوم مدل احتمال P(x_i|y) بر اساس تعداد دفعات وقوع ویژگی (x_i) توی کلاس y محاسبه می‌شه؟
Anonymous Quiz
58%
Bernoulli Naive Bayes
42%
Multinomial Naive Bayes
👍52😎2👌1
💡مقایسه انواع روش‌های Naive Bayes

🟢برای مطالعه بیشتر درباره این الگوریتم کلیک کنین:

👉🔗 https://ctdrs.ir/ds0030

#Machine_Learning
#Naive_Bayes

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
6👌4👨‍💻1
👨‍🏫 Gaussian Naive Bayes

بیز ساده Gaussian یه روش دسته‌بندی مبتنی بر احتماله که فرض می‌کنه توزیع ویژگی‌ها توی داده‌ها به صورت نرماله. این به این معنیه که هر ویژگی داده‌های آموزشی توسط میانگین و واریانسش توصیف می‌شه.

برای هر کلاس، میانگین و واریانس هر ویژگی محاسبه می‌شه. بعد، با استفاده از این پارامترها، احتمال تعلق یک نمونه جدید به هر کلاس تعیین می‌شه. این احتمالات با استفاده از تابع چگالی احتمال نرمال محاسبه می‌شن.

برای درک بهتر، فرض کنین می‌خوایم بر اساس ویژگی‌هایی مثل قد و وزن، افراد رو به گروه‌های ورزشی مختلف طبقه‌بندی کنیم. اول باید میانگین و واریانس قد و وزن توی هر گروه ورزشی رو محاسبه کنیم. در ادامه برای طبقه‌بندی یک نفر جدید، احتمال تعلقش به هر گروه بر اساس ویژگی‌هایش محاسبه می‌شه.

یکی از مزایای اصلی بیز ساده Gaussian سادگی و کارآمدیش در مواجهه با داده‌های پیوسته‌ست. اما مثل بقیه مدل‌های بیز ساده، این روش هم فرض می‌کنه که ویژگی‌ها مستقل از هم هستن، که در بسیاری از مثال‌های دنیای واقعی کاربرد نداره. همچنین، عملکردش در مواجهه با داده‌هایی که توزیع نرمال ندارن، ممکنه کاهش پیدا کنه.

#Machine_Learning
#Naive_Bayes

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌62👍1👨‍💻1
کوئیز شماره ۴۰: کدوم گزینه یه پارامتر GaussianNB توی کتابخانه Scikit-Learn هست؟
Anonymous Quiz
33%
priors
19%
max_features
37%
n_estimators
12%
learning_rate
😎72🤔2👍1
👨‍🏫 چطور می‌تونیم عملکرد الگوریتم بیز ساده رو بهبود بدیم؟

بعضی از روش‌های متداول برای بهبود عملکرد طبقه‌بندی توی بیز ساده کاربردی نیستن. در ادامه روش‌های موثر برای این الگوریتم رو بررسی می‌کنیم.

🔵حذف ویژگی‌های مرتبط: ویژگی‌های بسیار مرتبط توی مدل دوبار شمارش می‌شن. شمارش دوباره منجر به محاسبه بیش از حد اهمیت این ویژگی‌ها می‌شه و در نتیجه، عملکرد بیز ساده کاهش پیدا می‌کنه.

🔵استفاده از احتمالات لگاریتمی: ضرب اعداد بسیار کوچک، به اعداد کوچکتر منجر می‌شه. برای جلوگیری از کار با اعداد بسیار کوچک، می‌تونیم توی فضای لگاریتم احتمالات کار کنیم.

🔵رفع مشکل احتمالات صفر: اگه داده‌های آموزشی توزیع متفاوتی نسبت به مجموعه تست داشته باشن، عملکرد بیز ساده ضعیف میشه. برای حل این مشکل، میشه از تکنیک Smoothing استفاده کرد.

🔵 آموزش مجدد مدل: آموزش مجدد مدل با داده‌های جدید به شناسایی تغییرات یا انحرافات توی داده‌ها کمک می‌کنه و اطمینان می‌ده که عملکرد مدل با گذشت زمان کاهش پیدا نمی‌کنه.

🔵موازی‌سازی محاسبات احتمال: با توجه به فرض استقلال، احتمالات هر ویژگی به صورت مستقل محاسبه می‌شن. این کار به سرعت بخشیدن به محاسبات و مدیریت راحت‌تر دیتاست‌های بزرگ کمک می‌کنه.

🔵استفاده در دیتاست‌های کوچک: بیز ساده، به دلیل سادگی تابع فرضیه، برای آموزش نیاز به داده کمتری داره و کمتر با مشکل بیش‌برازش (overfitting) مواجه می‌شه.

🔵روش‌های ترکیبی (Ensemble Methods): اگرچه یادگیری ترکیبی عملکرد رو افزایش می‌ده، اما استفاده از بیز ساده توی روش‌های ترکیبی به دلیل واریانس پایین این مدل، خیلی مفید نیست.

🔵 استفاده به عنوان مدل تولیدی: بیز ساده، یه مدل مولده و میشه ازش برای ایجاد دیتاست‌های جدید بر اساس توزیع احتمالی داده‌های موجود استفاده کرد.

#Machine_Learning
#Naive_Bayes

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71👨‍💻1
💡مقایسه بیز ساده با لجستیک رگرسیون برای حل مسائل Classification

🔵بیز ساده بر اساس فرض استقلال بین ویژگی‌ها عمل می‌کنه، که این فرض توی خیلی از مسائل دنیای واقعی صادق نیست. بنابراین، اگه این فرض‌ توی یک مسئله برآورده نشه، مدل رگرسیون لجستیک کمتر دچار سوگیری میشه. در نتیجه زمانی که مقدار زیادی داده آموزشی موجوده، رگرسیون لجستیک عملکرد بهتری نسبت به بیز ساده داره.

🔵پیچیدگی زمانی بیز ساده از مرتبه O(log n) هست، در حالی که رگرسیون لجستیک پیچیدگی زمانی از مرتبه O(n) داره. بنابراین، برای n تعداد ویژگی‌، بیز ساده سریع‌تر همگرا میشه. در مواردی که مجموعه داده آموزشی کوچیکه، بیز ساده عملکرد بهتری نسبت به لجستیک رگرسیون داره.

#Machine_Learning
#Naive_Bayes

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8👌21👨‍💻1
👨‍🏫 کاربردها و مزایای Naive Bayes

🔵 کاربردهای نایو بیز

🔵طبقه‌بندی متن و پردازش زبان طبیعی

نایو بیز به طور گسترده‌ توی طبقه‌بندی متن مثل تشخیص ایمیل‌ اسپم و تجزیه و تحلیل احساسات محتوای شبکه‌های اجتماعی استفاده می‌شه. این روش به دلیل توانایی‌اش توی کار با ویژگی‌های متنی که اکثرا بسیار بزرگ و پراکنده هستن، محبوبه.

🔵تشخیص بیماری‌ها و تصمیم‌گیری‌های پزشکی

توی حوزه پزشکی، نایو بیز می‌تونه برای تشخیص بیماری‌ها و کمک به تصمیم‌گیری‌های بالینی استفاده شه. این مدل با در نظر گرفتن ویژگی‌های مختلف بیمار، پیش‌بینی‌های دقیقی ارائه می‌ده.

🔵سیستم‌های توصیه‌گر

نایو بیز توی ساخت سیستم‌های توصیه‌گر برای پیشنهاد محصولات یا خدمات به کاربران بر اساس علایق و رفتارهای گذشته‌شون به کار می‌ره. سرعت و کارایی بالا و سادگی مدل از دلایل دیگه استفاده نایو بیز توی سیستم‌های توصیه‌گره.

🔵 مزایای نایو بیز

🔵سادگی و سرعت بالا

یکی از بزرگ‌ترین مزایای نایو بیز، سادگی و سرعت آموزش و پیش‌بینیش هست. این مدل به راحتی قابل پیاده‌سازیه و به منابع کمتری نسبت به سایر مدل‌های پیچیده‌تر نیاز داره.

🔵کارایی خوب با داده‌های بزرگ

نایو بیز توی مواجهه با مجموعه‌های داده‌ی بزرگ و دارای ابعاد بالا عملکرد خوبی داره. این قابلیتش اونو را برای کاربردهایی مثل طبقه‌بندی متن و تجزیه و تحلیل داده‌های بزرگ مفید می‌کنه.

🔵مقاومت در برابر داده‌های گم‌شده

نایو بیز می‌تونه توی شرایطی که بخشی از داده‌ها گم شده یا ناقصه، همچنان عملکرد خوبی داشته باشه. این ویژگی اونو برای کاربردهای دنیای واقعی که اغلب با داده‌های ناکامل مواجه هستیم، ایده‌آل می‌کنه.

🔵انعطاف‌پذیری

نایو بیز به خوبی می‌تونه با تغییرات توی مجموعه داده‌ها سازگار شه. این انعطاف‌پذیری به محققان و مهندسان اجازه می‌ده که مدل‌ها رو به سرعت به‌روزرسانی کنن.

🔵نیاز کم به داده‌های آموزشی، توانایی مدیریت داده‌های پیوسته و گسسته، مقیاس‌پذیری و عدم حساسیت به ویژگی‌های نامربوط از بقیه مزایای این الگوریتم هستن و نایو بیز رو گزینه‌ای قدرتمند و انعطاف‌پذیر برای حل مسائل مختلف می‌کنن.

#Machine_Learning
#Naive_Bayes

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61👌1👨‍💻1
کوئیز شماره ۴۲: چطور میشه توضیح داد که نایو بیز تا چه حد در برابر ویژگی‌های نامربوط مقاومه و این موضوع چه تأثیری روی عملکرد کلیش داره؟
Anonymous Quiz
26%
مقاومت کامل، بدون تأثیر منفی بر دقت
46%
مقاومت متوسط، با کاهش جزئی در دقت
14%
حساسیت بالا، با کاهش قابل توجه در دقت
14%
حساسیت نسبی، با تغییرات پیچیده در عملکرد
😎6👌21
💡تفاوت بین طبقه‌بندی کننده‌های مولد و تشخیص دهنده چیه؟ نمونه‌هایی از هرکدوم، کدوم الگوریتم‌ها میشن؟

🔵طبقه‌بندی‌کننده‌های مولد (Generative Classifier) به صورت صریح توزیع واقعی هر کلاس رو مدل می‌کنن. این مدل توزیع احتمال مشترک رو که به صورت P(x, y) = P(y) * P(x|y) هست، یاد می‌گیره. هر دو P(y) و P(x|y) رو میشه از داده‌ها با محاسبه فراوانی کلاس‌ها به دست آورد. بعضی از نمونه‌های مدل‌های مولد عبارتند از:
- نایو بیز
- شبکه‌های بیزی
- میدان‌های تصادفی مارکوف

🔵طبقه‌بندی‌کننده‌های تشخیص دهنده (Discriminative Classifier) مرز تصمیم بین کلاس‌ها رو با یادگیری توزیع احتمال شرطی P(y|x) از مجموعه داده‌ها مدل می‌کنن. بعضی از نمونه‌های این نوع طبقه‌بندی کننده‌ها عبارتند از:
- رگرسیون لجستیک
- ماشین بردار پشتیبان
- شبکه‌های عصبی سنتی
- KNN

#Machine_Learning
#Naive_Bayes

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌81👍1👨‍💻1
👨‍🏫 بررسی بیز ساده در sklearn با یک مثال واقعی

توی این کد انواع مختلف طبقه‌بندی‌کننده‌های نایو بایز رو روی یک دیتاست پیاده سازی و عملکرد‌ها رو مقایسه کردیم. این کد برای هر مدل بیز ساده، دقت (accuracy) رو محاسبه می‌کنه و بهترین مدل رو بر اساس بالاترین دقت انتخاب می‌کنه.

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
from sklearn.naive_bayes import GaussianNB, MultinomialNB, BernoulliNB
from sklearn.metrics import accuracy_score

data = load_iris()
X = data.data
y = data.target

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

models = {
"GaussianNB": GaussianNB(),
"MultinomialNB": MultinomialNB(),
"BernoulliNB": BernoulliNB()
}

for name, model in models.items():
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"{name} Accuracy: {accuracy}")

best_model = max(models, key=lambda k: models[k].score(X_test, y_test))
print(f"Best Model: {best_model}")

🔜GaussianNB Accuracy: 0.97
MultinomialNB Accuracy: 0.95
BernoulliNB Accuracy: 0.28
Best Model: GaussianNB

🔵از این خروجی نتیجه می‌گیریم که GaussianNB با فرض توزیع نرمال برای ویژگی‌های دیتاست، یک فرض مناسب بوده. این طبقه‌بندی‌کننده معمولاً توی داده‌های پیوسته که توزیع نرمال دارن، خوب عمل می‌کنه. MultinomialNB بیشتر برای داده‌هایی که ویژگی‌هاشون به صورت شمارشی هستن، مثل تعداد کلمات یک متن، طراحی شده. علی‌رغم اینکه دیتاست ایریس ویژگی‌های پیوسته داره، این مدل همچنان عملکرد خوبی نشون داده. BernoulliNB با دقت بسیار پایین عملکرد ضعیفی داشته چون این مدل برای داده‌های دودویی (مثل وجود یا عدم وجود چیزی یا 0 و 1) مناسبه. دیتاست ایریس ویژگی‌های پیوسته داره و این مدل برای چنین نوع داده‌هایی مناسب نیست.

#Machine_Learning
#Naive_Bayes

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74👌2👏1
کوئیز شماره ۴۳: کدوم یک از پارامترهای زیر در مدلی که از sklearn.naive_bayes import GaussianNB ساخته میشه، وجود نداره؟
Anonymous Quiz
26%
var_smoothing
20%
priors
31%
alpha
23%
class_prior
😎7👍3🤔1
💡مهم‌ترین پارامترهای انواع مدل‌های بیز ساده در sklearn

🔵 GaussianNB

🔵پارامتر priors یک آرایه از احتمالات قبلی برای هر کلاسه. اگه این مقدار تعیین نشه، GaussianNB احتمالات رو بر اساس توزیع نرمال محاسبه می‌کنه.

🔵پارامتر var_smoothing برای جلوگیری از صفر شدن واریانس‌ها استفاده می‌شه و مقدار کمی به واریانس‌ها اضافه می‌کنه. این مقدار معمولاً بین 0.01 تا 0.1 تعیین میشه.

🔵 MultinomialNB

🔵پارامتر alpha مقداری به همه ویژگی‌ها اضافه می‌کنه تا جلوی وابستگی شدید به داده‌های خاص گرفته شه.

🔵پارامتر fit_prior تعیین می‌کنه که آیا احتمالات قبلی باید از داده‌ها یاد گرفته شه یا نه. اگر false باشه، توزیع یکنواخت برای احتمالات قبلی استفاده می‌شه. مقدار پیش فرض این پارامتر True هست.

🔵پارامتر class_prior مشابه با پارامتر priors توی GaussianNB، احتمالات قبلی برای هر کلاس رو تعیین می‌کنه.

🔵 BernoulliNB

🔵پارامتر binarize یک آستانه تعیین می‌کنه که بر اساسش ویژگی‌ها به 0 یا 1 تبدیل می‌شن و برای داده‌هایی که به صورت دودویی نیستن ولی می‌خوایم به این شکل تبدیل شن، مفیده.

🔵پارامترهای alpha ،fit_prior و class_prior توی این مدل مشابه با نحوه عملکردشون توی مدل MultinomialNB، کاربرد دارن.

#Machine_Learning
#Naive_Bayes

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10👌21👏1
پست‌های هفته‌ای که گذشت رو این‌جا پیدا کنین!

🔺 آموزشی

🔵تعریف و انواع بیز ساده
👉🔗 https://t.iss.one/data_ml/137

🔵Multinomial & Bernoulli Naive Bayes
https://t.iss.one/data_ml/139

🔵Gaussian Naive Bayes
👉🔗 https://t.iss.one/data_ml/142

🔵نحوه بهبود عملکرد الگوریتم بیز ساده
👉🔗 https://t.iss.one/data_ml/144

🔵کاربردها و مزایای Naive Bayes
👉🔗 https://t.iss.one/data_ml/147

🔵بررسی بیز ساده در sklearn با یک مثال واقعی
👉🔗 https://t.iss.one/data_ml/150


🔺 کوئیز

🔵کوئیز شماره ۳۹: نحوه محاسبه احتمال در MultinomialNB
👉🔗 https://t.iss.one/data_ml/140

🔵کوئیز شماره ۴۰: پارامتر GaussianNB در sklearn
👉🔗 https://t.iss.one/data_ml/143

🔵کوئیز شماره ۴۱: تکنیک Laplace Smoothing
👉🔗 https://t.iss.one/data_ml/145

🔵کوئیز شماره ۴۲: میزان مقاوت نایو بیز در برابر ویژگی‌های نامربوط
👉🔗 https://t.iss.one/data_ml/148

🔵کوئیز شماره ۴۳: پارامتر GaussianNB در sklearn پارت ۲
👉🔗 https://t.iss.one/data_ml/151

🔺 نکته

🔵مدل‌هایی که فقط Classification انجام میدن
👉🔗 https://t.iss.one/data_ml/138

🔵مقایسه انواع روش‌های Naive Bayes
👉🔗 https://t.iss.one/data_ml/141

🔵مقایسه بیز ساده با لجستیک رگرسیون
👉🔗 https://t.iss.one/data_ml/146

🔵تفاوت بین طبقه‌بندی کننده‌های مولد و تشخیص دهنده
👉🔗 https://t.iss.one/data_ml/149

🔵مهم‌ترین پارامترهای انواع مدل‌های بیز ساده در sklearn
👉🔗 https://t.iss.one/data_ml/152

#Weekend
#Machine_Learning
#Naive_Bayes

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👏61🔥1
Audio
🟡 توضیحات وبینار رایگان بررسی ماشین لرنینگ برای هر موضوع

🔺 سرفصل‌ها

🔵معرفی تسک‌های قابل اجرا با ML
🔵معرفی مدل‌های کلاسیک
🔵معرفی معماری‌های شبکه عصبی مصنوعی
🔵روش‌های ارزیابی عملکرد مدل
🔵بررسی به روزترین روش‌های ML
🔵نحوه و ترتیب یادگیری مدل‌های معرفی شده

📆 یکشنبه، ۱۷ دی ساعت ۱۹

🟢 رایگان ثبت‌نام کنین:‌
👉📎 https://ctdrs.ir/cr15198

@DSLanders | دی‌اس‌لندرز
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71🔥1
👩‍🎓 برنامه آموزشی هفته: الگوریم K نزدیک ترین همسایه یا KNN

🟠شنبه: تعریف KNN و بررسی نقش K

🔵یک‌شنبه: پیچیدگی محاسباتی KNN

🟢دوشنبه: بررسی ساختار K-Dimensional Trees در KNN

🔴سه‌شنبه: چالش‌ها و معایب KNN

🟠چهارشنبه: کاربردها و مزایا KNN

🔵پنج‌شنبه: KNN در Scikit Learn

🟢جمعه: جمع بندی

#Machine_Learning
#KNN

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👌2👨‍💻1
👨‍🏫 تعریف KNN و بررسی نقش K

الگوریتم یادگیری باناظر K-Nearest Neighbor(KNN) یا K نزدیک‌ترین همسایه، برای حل مسائل طبقه‌بندی و رگرسیون به کار می‌ره. این الگوریتم بر اساس این فرضیه‌ست که داده‌های مشابه توی فضای ویژگی نزدیک به هم دیگه قرار دارن.

🔵 تعریف KNN

الگوریتم KNN به دلیل غیر پارامتریک بودنش، یعنی اینکه هیچ فرضی راجع به توزیع داده‌ها نمی‌کنه (بر خلاف الگوریتم‌های دیگه مثل GaussianNB که توزیع نرمال داده‌ها رو فرض می‌کنن)، توی مسائل واقعی بسیار قابل استفاده‌ست. KNN یه الگوریتم مبتنی بر برداره و نزدیک‌ترین همسایه‌ها بر اساس روش‌های محاسبه فاصله، مثل فاصله اقلیدسی انتخاب می‌شن.

این الگوریتم می‌تونه هم با داده‌های عددی و هم با داده‌های Categorical کار کنه، که این ویژگی KNN رو به گزینه‌ای انعطاف‌پذیر برای انواع مختلف مجموعه‌های داده تبدیل می‌کنه. K-NN نسبت به بقیه الگوریتم‌ها به نویز و داده‌های خارج از محدوده (outliers) کمتر حساسه.

🔵 بینش پشت KNN

توی تصویر، یه نمودار دو بعدی و داده‌هایی با دو طبقه‌بندی نشون داده شدن. دسته اول با رنگ قرمز، دسته دوم رنگ آبی و یه داده جدید (new data point) که هنوز به هیچ کدوم از دسته‌ها اختصاص داده نشده وجود داره.

براساس الگوریتم KNN، برای طبقه‌بندی داده جدید، ما به دنبال نزدیک‌ترین همسایگان به این نقطه توی فضای ویژگی هستیم. برای مثال، اگه K رو برابر 3 در نظر بگیریم، سه تا از نزدیک‌ترین همسایه‌ها به نقطه جدید رو در نظر می‌گیریم و براساس فاصله این سه همسایه، نقطه جدید رو طبقه‌بندی می‌کنیم.

🔵 نقش K در KNN

مقدار K توی K-NN بسیار مهمه و تعداد همسایه‌ها رو تعیین می‌کنه و انتخابش باید بر اساس داده‌های ورودی صورت بگیره. اگه داده‌های ورودی دارای نویز یا outliers بالایی باشن، انتخاب مقدار بالاتر برای K بهتره. توصیه میشه مقدار K به صورت عدد فرد انتخاب شه و روش‌های اعتبارسنجی متقابل توی انتخاب بهترین مقدار K موثرن.

#Machine_Learning
#KNN

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
11👌2👨‍💻1
کوئیز شماره ۴۴: الگوریتم _______ روش یادگیری تنبل (lazy learner) داره. چون تابع تمیزدهنده (Discriminative function) رو از داده‌های آموزشی یادنمی‌گیره.
Anonymous Quiz
71%
KNN
29%
K-means
👍6😎4👏1