یادگیری با نظارت (Supervised learning) یا یادگیری نظارت شده چیست – قسمت دوم دوره یادگیری ماشین دانشگاه استنفورد

یادگیری با نظارت (Supervised learning) یا یادگیری نظارت شده چیست – قسمت دوم دوره یادگیری ماشین دانشگاه استنفورد

در دومین جلسه از دوره یادگیری ماشین دانشگاه استنفورد، می‌خواهیم این مسئله را بررسی کنیم که یادگیری با نظارت (Supervised learning) چیست و اساساً چه نوع مسائلی را می‌توان جزئی از یادگیری نظارت شده دانست.

ذکر این نکته ضروری است که در زبان فارسی به Supervised learning دو کلمه زیر اطلاق می‌گردد:

  • یادگیری با نظارت
  • یادگیری نظارت شده

یادگیری نظارت شده و چند مثال برای درک بهتر

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

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

تشخیص قیمت خانه در ایالت اورگان. یک مثال از یادگیری ماشین نظارت شده

داده‌های مربوط به قیمت خانه در ایالت اورگان 

محور افقی این داده‌ها مربوط به متراژ بر حسب فوت مربع و محور عمودی قیمت آن‌ها برحسب هزار دلار است. فرض کنیم یکی از دوستان مشترک ما می‌خواهد خانه‌ای را به بزرگی ۷۴۰ فوت مربع بفروشد. او می‌خواهد بداند که ارزش ملک اون با توجه به قیمت منطقه چقدر خواهد بود.

سوال اینجاست که در این حالت الگوریتم یادگیری ماشین به او چگونه کمک خواهد کرد؟ برای این کار می‌توانیم دو حالت را در نظر بگیریم:

  1. رسم یک خط راست
  2. رسم یک خط با تابع درجه دو

رسم یک خط راست برای پیش بینی قیمت

می‌توانیم به داده‌ها یک خط راست برازش کنیم. در چنین حالتی مانند شکل زیر، می‌بینید که قیمت خانه دوست مشترکمان احتمالاً چیزی در حدود ۲۰۰ هزار دلار خواهد بود.

پیش بینی قیمت با استفاده از برازش یک خط راست در الگوریتم یادگیری ماشین نظارت شده

پیش‌بینی قیمت با استفاده از برازش یک خط راست

پیش‌بینی قیمت با استفاده از یک تابع درجه دو

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

پیش بینی قیمت با برازش تابع درجه دو

پیش‌بینی قیمت با استفاده از برازش یک خط با تابع درجه دو

در چنین حالتی خطی که به داده‌ها برازش شده بسیار دقیق‌تر است. هرچند برای ملک دوست ما تفاوت چندانی ایجاد نمی‌شود. اما اگر همین مسئله را در خانه‌ای با متراژ ۱۰۰۰ فوت مربع در نظر بگیرید، اختلاف قیمت پیش‌بینی چیزی در حدود ۵۰ هزار دلار خواهد بود.

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

منظور از یادگیری با نظارت چیست؟

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

حتما بخوانید:  یادگیری ماشین چیست - قسمت اول از دوره یادگیری ماشین دانشگاه استفورد

یک مثال دیگر برای یادگیری با نظارت : تشخیص سرطان

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

تشخیص سرطان با استفاده از الگوریتم یادگیری ماشین نظارت شده

داده‌های مربوط به سوابق پزشکی بیماران – نقاط قرمز رنگ تومور بدخیم و نقاط آبی رنگ تومور خوش‌خیم هستند.

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

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

در کل مسائل یادگیری ماشین با نظارت یا Supervised learning را می‌توان به دو دسته اصلی تقسیم‌بندی کرد. این دو دسته عبارتند از:

  • مسائل رگرسیون Regression
  • مسائل دسته بندی یا طبقه بندی Classification

یادگیری با نظارت توسط رگرسیون Regression

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

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

یادگیری نظارت شده توسط دسته بندی یا طبقه بندی Classification

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

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

حتما بخوانید:  یادگیری ماشین چیست - قسمت اول از دوره یادگیری ماشین دانشگاه استفورد

یک روش مهم برای نمایش داده‌ها در دسته بندی

در الگوریتم یادگیری ماشین نظارت شده با استفاده از دسته بندی یک روش بهتر برای نمایش داده‌ها وجود دارد. بگذارید از نمادهای متفاوتی برای رسم داده‌ها استفاده کنم. در این حالت از دایره برای تومورهای خوش‌خیم و از ضربدر برای تومورهای بدخیم استفاده کردم.

روش بهتر برای نمایش داده ها در دسته بندی با یادگیری ماشین نظارت شده

نمایش داده‌های مربوط به تشخیص سرطان سینه در حالیکه تنها یک ویژگی داریم

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

داده‌هایی در مورد تومور بیماران

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

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

دسته بندی داده ها در یادگیری ماشین با نظارتتشخیص بیماری یک فرد جدید در یادگیری ماشین نظارت شده با دسته بندی 

الگوریتم ماشین بردار پشتیبان support vector machine

همانطور که پیشتر نیز گفتم، در این مثال ما تو ویژگی از سوابق پزشکی بیماران را بررسی کردیم. یکی سن و دیگری اندازه تومور. در دیگر مسائل یادگیری ماشین تعداد ویژگی‌ها ممکن بسیار بیشتر باشد. دوستان من که بر روی این مسئله کار کرده‌اند ویژگی‌های بیشتری را نیز در نظر گرفته‌اند:

  • چگالی توده Clump thickness در تومور سینه
  • یکدستی اندازه سلول‌های تومور
  • یکدستی شکل سلول‌های تومور

در این دوره متوجه خواهید شد که جالب‌ترین الگوریتم‌های یادگیری که فراخواهیم گرفت، الگوریتم‌هایی هستند که نه تنها با دو، سه و یا حتی پنج ویژگی، بلکه با بیشمار ویژگی مختلف سر و کار دارند.

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

در چنین حالتی از الگوریتم ماشین بردار پشتیبان support vector machine استفاده می‌شود. این الگوریتم با ترفندهای ریاضی اجازه می‌دهد که ما بتوانیم با تعداد بیشماری ویژگی مختلف کار کنیم.

یک تمرین برای فهم بهتر یادگیری ماشین با نظارت

فرض کنید که مدیر شرکتی هستید و می‌خواهید از الگوریتم یادگیری برای پاسخ به دو مسئله زیر استفاده کنید:

مسئله اول: فرض کنید انباری بزرگ از تعدادی کالا دارید و می‌خواهید پیش‌بینی کنید که فروش شما در سه ماه آینده چقدر خواهد بود.

مسئله دوم: فرض کنید کاربران زیادی در سیستم شما وجود دارند و می‌خواهید نرم‌افزاری توسعه دهید که تشخیص دهد حساب کاربری آن‌ها هک شده است یا خیر.

حتما بخوانید:  یادگیری ماشین چیست - قسمت اول از دوره یادگیری ماشین دانشگاه استفورد

به نظر شما برای کدام یک از این مسائل باید از دسته بندی و برای کدام یک از رگرسیون استفاده کرد؟

بررسی پاسخ صحیح این تمرین

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

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

فیلم جلسه دوم دوره یادگیری ماشین دانشگاه استنفورد

دو مثال برای جمع بندی مبحث یادگیری با نظارت

همانطور که در این جلسه یاد گرفتید، مسائل یادگیری با نظارت به دو دسته زیر تقسیم‌بندی می‌شوند:

  • رگرسیون
  • دسته‌بندی یا طبقه‌بندی

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

مثال اول:

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

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

مثال دوم:

  1. رگرسیون: بوسیله‌ٔ تصاویر دریافتی، سن افراد را از روی تصاویرشان پیش‌بینی کنیم.
  2. دسته‌بندی: پیش‌بینی اینکه یک بیمار دارای تومور خوش‌خیم است یا بدخیم.

جمع‌بندی با طعم یادگیری ماشین و موضوع جلسه آینده

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

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

۲ دیدگاه در “یادگیری با نظارت (Supervised learning) یا یادگیری نظارت شده چیست – قسمت دوم دوره یادگیری ماشین دانشگاه استنفورد

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

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

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