Site icon آکادمی آمانج

یادگیری نظارت شده در ماشین لرنینگ (راهنمای جامع)

یادگیری تحت نظارت

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

 

منظور از یادگیری با نظارت (Supervised learning) یا یادگیری نظارت شده این است که به الگوریتم داده‌هایی را می‌دهیم که بعنوان پاسخ‌های صحیح در نظر گرفته می‌شوند.

 

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

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

(Y = f(x

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

 

انواع الگوریتم های یادگیری ماشین

 

یادگیری نظارت شده (هدایت شده – Supervised Learning) 

در این نوع از الگوریتم ها که بار اصلی یادگیری ماشین را بر دوش می کشند (از لحاظ تعداد الگوریتم های این نوع)، با دو نوع از متغیرها سروکار داریم . نوع اول که متغیرهای مستقل نامیده میشوند، یک یا چند متغیر هستند که قرار است بر اساس مقادیر آنها، یک متغیر دیگر را پیش بینی کنیم. مثلا سن مشتری و تحصیلات و میزان درآمد و وضعیت تاهل برای پیش بینی خرید یک کالا توسط یک مشتری ، متغیرهای مستقل هستند. نوع دوم هم متغیرهای وابسته یا هدف یا خروجی هستند و قرار است مقادیر آنها را به کمک این الگوریتم ها پیش بینی کنیم . برای این منظور باید تابعی ایجاد کنیم که ورودیها (متغیرهای مستقل) را گرفته و خروجی موردنظر (متغیر وابسته یا هدف) را تولید کند. فرآیند یافتن این تابع که در حقیقت کشف رابطه ای بین متغیرهای مستقل و متغیرهای وابسته است را فرآیند آموزش (Training Process) می گوئیم که روی داده های موجود (داده هایی که هم متغیرهای مستقل و هم متغیرهای وابسته آنها معلوم هستند مثلا خریدهای گذشته مشتریان یک فروشگاه) اعمال میشود و تا رسیدن به دقت لازم ادامه می یابد. 

 

 

 

یادگیری بدون ناظر (unsupervised learning) 

در این نوع از الگوریتم های یادگیری بدون نظارت، متغیر هدف نداریم و خروجی الگوریتم، نامشخص است. بهترین مثالی که برای این نوع از الگوریتم ها می توان زد، گروه بندی خودکار (خوشه بندی) یک جمعیت است مثلاً با داشتن اطلاعات شخصی و خریدهای مشتریان، به صورت خودکار آنها را به گروه های همسان و هم ارز تقسیم کنیم . الگوریتم Apriori و K-Means از این دسته هستند.

 

 یادگیری تقویت شونده (Reinforcement Learning) 

نوع سوم از الگوریتم ها که شاید بتوان آنها را در زمره الگوریتم های بدون ناظر هم دسته بندی کرد دسته ای هستند که از آنها با نام یادگیری تقویت شونده یاد میشود. در این نوع از الگوریتم ها، یک ماشین (در حقیقت برنامه کنترل کننده آن)، برای گرفتن یک تصمیم خاص ، آموزش داده می شود و ماشین بر اساس موقعیت فعلی (مجموعه متغیرهای موجود) و اکشن های مجاز (مثلا حرکت به جلو ، حرکت به عقب و …) ، یک تصمیم را می گیرد که در دفعات اول، این تصمیم می تواند کاملاً تصادفی باشد و به ازای هر اکشن یا رفتاری که بروز می دهد، سیستم یک فیدبک یا بازخورد یا امتیاز به او میدهد و از روی این فیدبک، ماشین متوجه میشود که تصمیم درست را اتخاذ کرده است یا نه که در دفعات بعد در آن موقعیت ، همان اکشن را تکرار کند یا اکشن و رفتار دیگری را امتحان کند. با توجه به وابسته بودن حالت و رفتار فعلی به حالات و رفتارهای قبلی، فرآیند تصمیم گیری مارکوف ، یکی از مثالهای این گروه از الگوریتم ها می تواند باشد. الگوریتم های شبکه های عصبی هم می توانند ازین دسته به حساب آیند. منظور از کلمه تقویت شونده در نام گذاری این الگوریتم ها هم اشاره به مرحله فیدبک و بازخورد است که باعث تقویت و بهبود عملکرد برنامه و الگوریتم می شود .

الگوریتم های اصلی یادگیری ماشین

  1. رگرسیون خطی
  2. رگرسیون لجستیک
  3. درخت تصمیم
  4. SVM
  5. Naive Bayes
  6. KNN
  7. K-Means
  8. جنگل تصادفی
  9. الگوریتم های کاهش ابعاد
  10. Gradient Boost & Ada Boost

 

انواع مسائل یادگیری ماشین با نظارت یا Supervised learning 

 

۱) مسائل رگرسیون Regression

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

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

 

۲) مسائل دسته بندی یا طبقه بندی Classification

یادگیری نظارت شده توسط دسته بندی یا طبقه بندی Classificationدر مسائل دسته بندی همواره با مقادیر گسسته سر و کار داریم و می‌خواهیم یک مقدار گسسته را پیش‌‌بینی کنیم: صفر یا یک، خوش‌خیم یا بدخیم. مسائل طبقه بندی همیشه بین دو حالت نیستند. گاهی اوقات شما چندین حالت مختلف دارید که باید بین آن‌ها انتخاب شود. برای مثال سرطان سینه می‌توان اینطور در نظر گرفت که سه نوع سرطان وجود دارد. در این حالت الگوریتم باید بین مقادیر گسسته صفر، ۱ ، ۲ یا ۳ انتخاب کند. صفر برای حالتی است که شخص سرطان ندارد و سه حالت دیگر برای درجه‌های مختلف سرطان است.

 

جمع بندی

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

 

منبع: سایت towardsdatascience

مشاهده نسخه گرافیکی و کامل