بررسی چند الگوریتم یادگیری ماشین (Machine Learning)

مدرس: مسعود کاویانی

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

۱. درخت‌های تصمیم (Decision Trees)

درختانِ تصمیم که چند درس از دوره طبقه‌بندی را در چیستو به آن اختصاص دادیم، یکی از روش‌های ساده اما کاربردی در حوزه‌ی یادگیری‌ماشین هستند. این درخت‌ها با ایجادِ شاخه‌ها و برگ‌ها، یادگیری را انجام می‌دهند و می‌توانند در طیف وسیعی از مسائل، کاربرد داشته باشند. این الگوریتم‌ها معمولاً بیش‌برازش یا همان Overfit شده و شاید نتوانند دقت خوبی داشته باشند. البته نسخه‌های بهبود یافته‌ی این الگوریتم‌ها می‌توانند از overfitting دوری کنند.

۲. پرسپترون‌ها (Perceptrons)

در دوره‌ی شبکه‌های‌عصبی مقدمه‌ای بر پرسپترون گفتیم و به این نکته رسیدیم که پرسپترون می‌تواند یک حدِ آستانه‌ی خوب را پیدا کند و با این حد آستانهْ (Threshold) تفاوتِ نمونه‌های مختلفْ را درک کند (مثال اتوبوس و پراید در دوره شبکه‌های عصبی).

۳. شبکه‌های عصبی

در واقع شبکه‌های عصبی یک شبکه‌ای از پرسپترون‌ها هستند. شبکه‌ای بدون دور (acyclic) که لایه‌های مختلف دارد. خروجی هر لایه می‌تواند ورودی لایه بعدی باشد تا به لایه‌ی آخر یا همان لایه‌ی خروجی برسیم.

۴. یادگیری بر اساس مورد (Instance Base Learning)

اگر درس KNN را از دوره طبقه‌بندی خوانده باشید، احتمالاً با این مدل یادگیری آشنایی دارید. یک مثال ساده این است که فرض کنید شما ۱۰ دوست دارید که هر کدام زندگیِ متفاوتی دارند. این افراد در سه دسته‌ی دوستِ عادی، دوستِ صمیمی، دوستِ خیلی خیلی صمیمی برای شما قرار می‌گیرند. حالْ یک نفرِ جدید را پیدا می‌کنید که به نظرِ شما زندگیِ او مانند یکی از دوستان قبلی شماست که اتفاقا دوست خیلی خیلی صمیمی بوده است، پس احتمالاً شما به آن نفر (به خاطر نزدیکی شرایط زندگی‌اش به دوستِ خیلی خیلی صمیمی شما) حس خیلی خیلی خوبی دارید (که البته ممکن است درست نباشد). در واقع شما اینجا از KNN با پارامترِ ۱ استفاده کرده‌اید. یعنی مشاهده کرده‌اید که این فرد جدید به کدام ۱ نفر از دوستان قبلی شما بیشتر شباهت دارد و این نفر جدید را در دسته‌ای قرار داده‌اید که دوست قبلی شما در آن دسته قرار داشته است.

۵. ماشین بردار پشتیبان (Support Vector Machines)

این روش به مراتب پیشرفته‌تر از الگوریتم‌های قدیمی است که روشِ یادگیریِ آن شبیه پرسپترون است و بهتر می‌تواند توازن (balance) بین bias و variance را رعایت کند.


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

ترتیب پیشنهادی خواندن درس‌های این مجموعه به صورت زیر است:
منابع این بحث و اطلاعات بیشتر

» فصل ۱۲کتاب Mining Of Massive Datasets

در صورت تمایل به یادگیری بیشتر، منابع بالا در نظر گرفته شده است. می توانید با خواندن این منابع، به یادگیری خود در این زمینه عمق ببخشید

4 دیدگاه دربارهٔ «بررسی چند الگوریتم یادگیری ماشین (Machine Learning)»

  1. سلام. منبع انگلیسی فوق توسط دکتر مهدی اسماعیلی ترجمه شده است. نام کتاب کاوش دادگان انبوه و انتشارات آن آتی نگر است. موفق باشید.

  2. با سلام از مطالب شما
    اگر امكان دارد مطالبي در خصوص قطعه بندي و روشهاي گفته شده در حوزه تصاوير پزشكي و تشخيص تومور و آبنرمالي ها توضيحاتي ارائه دهيد
    يا منبع معتبري را معرفي كنيد
    با تشكر

دیدگاهتان را بنویسید

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