دسته‌بندی‌کننده بیز ساده

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به ناوبری پرش به جستجو

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

براساس ویژگی‌های ذاتی احتمال (به ویژه اشتراک احتمال) دسته‌بندی‌کننده بیز ساده (به انگلیسی: Naive Bayes classifier) با دریافت تمرین اولیه نتایج خوبی ارائه خواهد کرد. شیوه یادگیری در روش نایو بیز از نوع یادگیری با ناظر (به انگلیسی: Supervised learning) است.

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

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

مدل‌سازی احتمالی[ویرایش]

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

به عبارت دیگر احتمال مشروط به توزیع توأم و بستگی دارد. طبق قانون زنجیره‌ای این توزیع توأم برابر است با:

حال اگر فرض کنیم هر متغیری نسبت به متغیرهای دیگر به شرط دسته مستقل است یعنی به نتیجه پایین می‌رسیم:

با نرمال‌سازی عبارت قبلی می‌توان توزیع احتمال مشروط را پیدا کرد، در معادله پایین همان ضریب نرمال‌سازی است:

اگر هدف پیدا کردن محتملترین دسته باشد، به ضریب نرمال‌سازی یعنی نیازی نیست:

تخمین پارامترها[ویرایش]

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

در روش تخمین توزیع طبیعی، را با یک توزیع طبیعی با میانگین و واریانس تخمین می‌زنیم و و را از طریق درست نمایی بیشینه بدست می‌آوریم:

اگر گسسته باشد، توزیع را می‌توان با یک توزیع چند جمله‌ای تخمین زد.[۲]

مثال‌ها[ویرایش]

بازی گلف[ویرایش]

در این مثال داده‌هایی از شخصی داریم که به ما می‌گوید که در شرایط مختلف آب و هوایی این شخص گلف بازی می‌کند یا خیر.[۳]

آب و هوا دما رطوبت طوفانی بازی می‌کند؟
بارانی گرم زیاد خیر خیر
بارانی گرم زیاد بله خیر
ابری گرم زیاد خیر بله
آفتابی معتدل زیاد خیر بله
آفتابی سرد متوسط خیر بله
آفتابی سرد متوسط بله خیر
ابری سرد متوسط بله بله
بارانی معتدل زیاد خیر خیر
بارانی سرد متوسط خیر بله
آفتابی معتدل متوسط خیر بله
بارانی معتدل متوسط بله بله
ابری معتدل زیاد بله بله
ابری گرم متوسط خیر بله
آفتابی معتدل زیاد بله خیر

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

بازی می‌کند؟
بله خیر
آب و هوا آفتابی
ابری
بارانی
بازی می‌کند؟
بله خیر
دما گرم
معتدل
سرد
بازی می‌کند؟
بله خیر
رطوبت زیاد
متوسط
بازی می‌کند؟
بله خیر
طوفانی خیر
بله

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

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

مزایا و معایب[ویرایش]

تحقیقاتی در سال ۲۰۰۴ دلایل نظریه‌ای برای رفتارهای غیر منطقی بیز مطرح کرد و همچنین در سال ۲۰۰۶ مشاهدات فراگیری به منظور مقایسه این روش با سایر روش‌های طبقه‌بندی مانند boosted trees و جنگل تصادفی (random forests) انجام شد که بر کارا بودن این روش صحه گذاشتند.

از مزایای این روش می‌توان به موارد زیر اشاره کرد:[۴]

  • دسته‌بندی کردن داده‌های آزمایشی آسان و سریع است. همچنین زمانی که تعداد دسته‌ها از دو بیشتر باشد نیز عملکرد خوبی از خودش نشان می‌دهد.
  • تا زمانی که شرط مستقل بودن برقرار باشد، یک دسته‌بندی‌کننده بیز ساده عملکرد بهتری نسبت به مدل‌های دیگر مانند رگرسیون لجستیک دارد و به حجم آموزش کمی نیاز دارد.
  • در حالتی که ورودی‌هایمان دسته‌بندی شده باشند این روش عملکرد بهتری نسبت به حالی دارد که ورودی‌هایمان عدد باشند. برای حالتی که ورودی عدد باشد معمولاً فرض می‌شود که از توزیع نرمال پیروی می‌کنند. (که فرض قوی‌ای است)

علاوه بر مزایایی که این دسته‌بندی‌کننده دارد معایبی نیز دارد، از جمله:

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

کاربردها[ویرایش]

برخی از کاربردهای این دسته‌بندی‌کننده به شرح زیر است:[۵]

  • دسته‌بندی‌کننده متن: دسته‌بندی‌کننده‌های بیز ساده عموماً در دسته‌بندی متن کاربرد دارند و نسبت به روش‌های دیگر درصد موفقیت بیشتری در این زمینه دارند.
  • فیلترینگ اسپم: یکی از معروف‌ترین کاربردهای این دسته‌بندی‌کننده فیلترینگ اسپم است. در این روش فیلترینگ از دسته‌بندی‌کننده بیز ساده برای شناسایی ایمیل‌های اسپم استفاده می‌شود. امروزه بسیاری از سرویس‌دهندگان پست‌های الکترونیک از فیلترینگ اسپم بیزی استفاده می‌کنند. این روش در نرم‌افزارهای فیلتر اسپم نیز استفاده می‌شود. فیلترهای سمت سرور مانند Bogofilter, SpamBayes, SpamAssassin, DSPAM و ASSP نیز از تکنیک‌های فیلتر اسپم بیزی استفاده می‌کنند.
  • سامانه توصیه‌گر: دسته‌بندی‌کننده بیز ساده به همراه پالایش گروهی سامانهٔ توصیه‌گری را تشکیل می‌دهد که از تکنیک‌های یادگیری ماشین و داده‌کاوی برای فیلتر کردن اطلاعات دیده نشده و پیش‌بینی نظر یک کاربر در مورد اقلام مختلف استفاده می‌کند.
  • تحلیل احساسات: از این دسته‌بندی‌کننده در تحلیل احساسات متون و نظرات مختلف (برای مثال در شبکه‌های اجتماعی) استفاده می‌شود.

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  1. Narasimha Murty, M.; Susheela Devi, V. (2011). Pattern Recognition: An Algorithmic Approach. ISBN 0-85729-494-6.
  2. ۲٫۰ ۲٫۱ Russell, Stuart و search results. Artificial Intelligence: A Modern Approach. ویرایش 3 edition. New York: Pearson, 2009-12-11. 808. ISBN ‎9780136042594. 
  3. «Naive Bayesian». www.saedsayad.com. بازبینی‌شده در 2018-12-27. 
  4. «6 Easy Steps to Learn Naive Bayes Algorithm (with code in Python)». Analytics Vidhya. 2017-09-11. بازبینی‌شده در 2018-12-28. 
  5. software.ucv.ro. بازبینی‌شده در 2018-12-28.