یادگیری ماشین تحت نظارت یک مدل یادگیری است که در آن ماشین را با ورودی و خروجی مورد نظر آموزش می¬دهیم. اساساً ما مدل را با مجموعهای از متغیرهای ورودی (x) و متغیرهای خروجی مربوطه (y) آموزش میدهیم و سعی میکنیم با استفاده از توابعی مانند Y = f(x) بین آن¬ها رابطه ایجاد کنیم. بدین گونه ماشینی برای یادگیری با استفاده از این پارامترها می¬سازیم تا بتواند خروجی دقیق¬تری را حتی برای پارامترهای ورودی جدید بیابد. بنابراین به این نوع یادگیری ماشینها، یادگیری ماشین تحت نظارت گفته میشود و عملاً پرکاربردترین الگوریتم یادگیری است.
یادگیری ماشین تحت نظارت چگونه کار میکند؟
در مدل یادگیری ماشین تحت نظارت، مجموعهای از برچسبهای داده های ورودی و برچسب¬¬های داده¬های خروجی متناظر را به مدل میدهیم تا بتواند از آن بیاموزد و هنگامی که یک ورودی جدید ارائه می¬شود، بهطور دقیق خروجی را پیشبینی کند. اساساً، این نوع یادگیری مدلی است که ورودی¬ها و خروجی¬های شناخته شده را می¬گیرد و خود را جهت پیش بینی دقیق خروجی¬ها برای داده¬های وارد شده در آینده آموزش می¬دهد. این مدل همانند معلمی که بر یادگیری دانش آموز نظارت می¬کند، همچون الگوریتمی است که از طریق برچسب¬های داده¬های ورودی، کار یادگیری را انجام می¬دهد.
همانطور که از قبل پاسخ یک ورودی داده شده را می¬دانیم، اما می¬خواهیم یک ماشین پاسخ را به طور مکرر پیش بینی کند تا زمانی که عملکرد معقول را از الگوریتم یا مدل بدست آوریم. ماشین در طول هر تکرار خروجی را پیشبینی میکند و ما بر اساس آن به مدل بازخورد میدهیم یا در صورت نیاز بر اساس پیشبینی، آن را اصلاح میکنیم. ماشین در طول آموزش الگوریتم، قوانینی را بین پارامترهای ورودی و خروجی ایجاد یا تعریف می¬کند. به عنوان مثال وقتی مدل را با برچسب¬های ارقام دست نویس و برچسب¬های خروجی آن¬ها آموزش دهیم، هنگامی که یک تصویر جدید با اعدادی در آن داده می¬شود، مدل قادر به پیش بینی برچسب دقیق است.
یادگیری ماشین تحت نظارت از دو تکنیک طبقه بندی و رگرسیون استفاده میکند.
• طبقهبندی: مانند گزارههای درست یا نادرست است، برای مثال اینکه ایمیل اسپم است یا خیر، تومور خوشخیم است یا خیر.
• رگرسیون: پیش بینی مداوم مانند پیش بینی دما، پیش بینی خروجی¬ مانند وزن، ارزش پول در آن روز، پیش بینی معاملات و غیره می¬باشد.
الگوریتمهای زیادی وجود دارند که با استفاده از تکنیکهای طبقهبندی و رگرسیون مانند رگرسیون خطی، رگرسیون لجستیک، درختهای تصمیم، جنگلهای تصادفی، و ماشینهای بردار پشتیبان (support vector machines) و غیره در دسته یادگیری ماشین تحت نظارت قرار میگیرند.
الگوریتم¬های یادگیری ماشین تحت نظارت
در زیر لیستی از الگوریتم¬های یادگیری ماشین تحت نظارت آمده است:
رگرسیون خطی
در رگرسیون خطی مجموعه¬ای از متغیرهای ورودی خواهیم داشت که برای تعیین مجموعه¬ای از متغیرهای خروجی استفاده می¬شوند. فرض کنید X مدرک تحصیلی و Y درآمد سالانه است، اکنون باید رابطه بین آن¬ها را به شکل y = a+bx بیابیم که a و b ضرایبی هستند که رگرسیون خطی باید با رسم
خطی که از بیشتر نقاط داده می¬گذرد، پیدا کند تا بدین صورت بتوانیم خروجی دقیقی را برای ورودی داده شده با خطای کمتر پیش بینی کنیم.
رگرسیون لجستیک
در رگرسیون لجستیک، داده¬های ورودی را با کشیدن خطی بین آن¬ها با استفاده از یک تابع تبدیل، به دو دسته درست یا نادرست طبقه بندی می¬کنیم.
تابع رگرسیون لجستیک شبیه تابع h(x) = 1/ 1 + e^-x است. رگرسیون لجستیک بیشتر برای مسائل طبقه بندی باینری استفاده می¬شود که در آن می¬توانیم داده¬ها را با یک خط به عنوان خط پایه برای ارزیابی مسائل پیچیده، از هم جدا کنیم. احتمال آن 0 یا 1 است. اگر 1 باشد، یک کلاس پیش فرض است. به عنوان مثال در پیشبینی اسپم بودن یا نبودن یک ایمیل، اسپم بودن 1 و اسپم نبودن 0 خواهد بود.
نزدیکترین همسایه K (K Nearest Neighbor (KNN))
KNN اشیاء را بر اساس نزدیکترین همسایه در مجموعه داده دسته¬بندی می¬کند. فرض میکند نزدیکترین شیء به آن شبیه به خود شیء خواهد بود و از روشهای مختلفی برای یافتن نزدیکترین همسایه مانند اقلیدسی، کسینوس، فاصله همینگ (Hamming distance)، بلوک شهری (city block) و غیره استفاده میکند. زمانی که میخواهیم الگوریتم قوانین یادگیری پایه داشته باشیم، زمانی که هیچ محدودیتی در استفاده از حافظه وجود نداشته باشد و زمانی که اهمیت سرعت پیشبینی مدل آموزشدیده شده کم است، بهترین استفاده را میتوان از این روش کرد. KNN از کل مجموعه داده¬ها به عنوان یک مجموعه آموزشی به جای تقسیم آن به مجموعه داده¬های آموزشی و آزمایشی، استفاده می¬کند. هنگامی که یک خروجی برای یک مجموعه داده جدید مورد نیاز است، الگوریتم کل مجموعه داده را بررسی می¬کند و k- نزدیکترین همسایه (k- nearest neighbor) را پیدا می¬کند که k توسط کاربر داده شده است.
بیز ساده (Naive Bayes)
تکنیک رگرسیون بیز ساده احتمال وقوع یک رویداد را به طوری که یک رویداد خاص قبلاً رخ داده است، محاسبه می¬کند. در اینجا رویداد یک متغیر است و رویداد قبلاً رخ داده یک فرضیه است و قضیه بیز عبارت p(h/d) = p(d/h) * p(h)/p(d) می¬باشد. این تکنیک داده¬های ورودی جدید را بر اساس احتمال بالای کلاس خاص خود طبقه بندی می¬کند. بهترین استفاده از آن در موارد ذیل است:
• زمانی که ما یک مجموعه داده کوچک با پارامترهای بیشتر داریم.
• به طبقهبندیکنندهای نیاز داریم که به راحتی قابل تفسیر باشد.
زمانی که میدانیم سناریوهایی رخ خواهند داد که در مجموعه داده آموزشی نیستند، مانند برنامههای کاربردی پزشکی یا مالی و غیره.
رگرسیون غیر خطی
تکنیک رگرسیون غیرخطی یک تکنیک مدلسازی آماری است که در آن به توصیف روابط غیرخطی در دادههای تجربی جایی که مدل پارامتریک است، کمک میکند. عبارت غیرخطی به یک تابع برازش اشاره دارد که تابعی غیرخطی از پارامترهایی مانند y = b0 +b1x + b2x^2 است که در آن b0، b1 و b2 پارامترهای برازنده یک رگرسیون خطی هستند در حالی که رگرسیون غیر خطی برای پارامترهای برازش برابر تابع ذیل می¬باشد:
y = (b0x^b1)/(x+b2)
بهترین زمان استفاده از این تکنیک، زمانی است که داده¬ها دارای گرایش¬های غیرخطی بیشتری هستند که نمی-توانند به فضای خطی تبدیل شوند.
مزایا و معایب یادگیری ماشینی تحت نظارت
در اینجا مزایا و معایب یادگیری ماشین نظارت شده آورده شده است:
مزایا:
برخی از مزایا در زیر آورده شده است:
• در این روش می¬توانیم به راحتی بفهمیم که در مقایسه با یادگیری بدون نظارت چه اتفاقی در حال رخ دادن است.
• حتی قبل از آموزش میتوانیم با دیدن دادهها بفهمیم چند کلاس در مدل وجود دارد.
• برای مسائل طبقه¬بندی بسیار مفید است و بدون نیاز به حفظ داده¬های آموزشی پس از انجام آموزش، می¬توانیم پارامترهای مورد نیاز را به صورت ریاضی حفظ کنیم.
• این روش می¬تواند مقادیر عددی بزرگ را از روی مجموعه داده¬های ارائه شده و برچسب¬های مربوطه، پیش¬بینی کند.
معایب:
برخی از معایب در زیر آورده شده است:
• این روش نمی¬تواند پیچیده ترین مسائل/وظایف در یادگیری ماشین را مدیریت یا حل کند.• برخلاف یادگیری بدون نظارت که داده¬های ناشناخته را هم پیش بینی می¬کند، این روش تنها می¬تواند فقط داده¬های شناخته شده را پیش بینی کند.
• این روش نمی¬تواند ویژگی¬ها را به تنهایی با تشکیل خوشه¬ها یا طبقه¬بندی داده¬ها پیدا کند.
• اگر کلاس مربوطه در مجموعه داده¬های آموزشی نباشد، نمی¬تواند نتایج دقیقی را ارائه دهد.
نتیجه گیری
در نهایت چیزهای زیادی در مورد یادگیری ماشین تحت نظارت یاد گرفتیم. تا اینجا ما دیدیم که یادگیری ماشین تحت نظارت چیست و چگونه کار می¬کند. همچنین با الگوریتم¬های مختلف برای یادگیری تحت نظارت و مزایا و معایب آن آشنا شدیم.
مترجم: فاطمه فریادرس