مهم‌ترین الگوریتم‌های یادگیری ماشین (به همراه کدهای پایتون و R) — بخش ششم: الگوریم بیز ساده

۳۱۱ بازدید
آخرین به‌روزرسانی: ۱۴ شهریور ۱۴۰۲
زمان مطالعه: ۲ دقیقه
مهم‌ترین الگوریتم‌های یادگیری ماشین (به همراه کدهای پایتون و R) — بخش ششم: الگوریم بیز ساده

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

فهرست مطالب این نوشته

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

قضیه بیز روشی برای محاسبه احتمال پسین  P(c|x) از روی P(c)،P(x)  و P(x|c) به دست می‌دهد. معادله زیر را ببینید:

در این معادله:

  • P(c|x) احتمال پسین کلاس (هدف) با فرض پیش‌بین (ویژگی) خاص است.
  • P(c) احتمال پیشینی کلاس است.
  • P(x|c) احتمال رخداد یک پیش‌بین بر حسب یک کلاس است.
  • P(x) احتمال پیشینی پیش‌بین است.

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

مثال: این الگوریتم را با یک مثال توضیح می‌دهیم. در ادامه مجموعه داده تمرینی برای آب‌وهوا و متغیر هدف متناظر با انجام بازی ارائه شده است. اینک ما باید کلاس‌بندی کنیم که بسته به شرایط آب‌وهوایی یک بازی انجام می‌شود یا نه. مراحل زیر را انجام می‌دهیم:

مرحله 1: داده‌ها را به جدول فراوانی تبدیل می‌کنیم.

مرحله 2: جدول احتمال را با یافتن احتمالاتی مانند احتمال ابری بودن برابر با 0.29 و احتمال بازی 0.64 تشکیل می‌دهیم.

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

سؤال: بازیکنان در صورتی که هوا آفتابی باشد بازی می‌کنند، آیا این گزاره صحیح است؟

پاسخ این سؤال را با روشی که در بالا گفتیم می‌توان یافت بنابراین

 (آفتابی) P/(بازی) P * (بازی | آفتابی) P = (آفتابی | بازی) P

در این رابطه داریم:

0.64 = 14/9 = (آفتابی) P، 0.36 =14/5 = (آفتابی) P، 0.33= 9/3= (بازی | آفتابی) P

اینک 0.60 = 0.36/0.64 * 0.33 = (آفتابی | بازی) P که احتمال بالایی است.

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

کد پایتون

#Import Library

from sklearn.naive_bayes import GaussianNB

#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create SVM classification object model = GaussianNB() # there is other distribution for multinomial classes like Bernoulli Naive Bayes, Refer link

# Train the model using the training sets and check score

model.fit(X, y)

#Predict Output

predicted= model.predict(x_test)

کد R

library(e1071)

x <- cbind(x_train,y_train)

# Fitting model

fit <-naiveBayes(y_train ~., data = x)

summary(fit)

#Predict Output

predicted= predict(fit,x_test)

در بخش بعدی این سلسله مطالب شما را با الگوریتم KNN آشنا می‌کنیم.

بر اساس رای ۶ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
۲ دیدگاه برای «مهم‌ترین الگوریتم‌های یادگیری ماشین (به همراه کدهای پایتون و R) — بخش ششم: الگوریم بیز ساده»

ممنون از متن و توضیحات مفیدتان.

با سلام، لطفا بفرمایید چگونه از تکنیک pac-bayesian در Deep learning استفاده می شود؟

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *