یادگیری ماشین چیست – قسمت اول از دوره یادگیری ماشین دانشگاه استفورد

یادگیری ماشین چیست – قسمت اول از دوره یادگیری ماشین دانشگاه استفورد

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

تعریف اصلی از یادگیری ماشین چیست

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

تعریف آرتور سموئل از یادگیری ماشین

تعریف آرتور سموئل (Arthur Samuel 1959) از یادگیری ماشین چنین است:

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

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

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

مهم‌ترین اقدام سموئل را می‌توان برنامه‌ای دانست که وی درسال ۱۹۵۰ نوشت. این برنامه مربوط به بازی شطرنج بود درحالیکه خود سموئل به صورت حرفه‌ای این بازی را بلد نبود. او اجازه داد که برنامه‌ هزاران بار با خودش بازی و مشاهده کند که در چه شرایطی یک بازی منجر به باخت و در چه شرایط منجر به برد می‌شود. با مرور زمان برنامه آموخت که چیدمان صحیح و غلط مهره‌ها برای یک بازی خوب کدامند و در نهایت این برنامه قادر شد بازی شطرنج را بهتر از خود سموئل بازی کند.

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

تام میچل و یک تعریف به‌روز

تام میچل (Tom Mitchell) در سال ۱۹۹۸ تعریف به‌روزتری را در رابطه با یادگیری ماشین ارائه داد:

یادگیری ماشین برنامه‌ای کامپیوتری است که از تجربهٔ E که مرتبط با وظیفه‌ٔ T‌ است و سنجش عملکرد آن توسط P انجام می‌شود، می‌آموزد. به شرطی که در ادامه عملکرد آن در وظیفه‌ٔ T که با P سنجیده می‌شود در رابطه با تجربه‌ٔ E بهبود یابد.

بله می‌دانم کمی سخت شد. احتمالاً تام میچل هم از عمد این کار را انجام داده!‌ بگذارید به مثال قبلی از بازی شطرنج برگردیم. در این مثال تجربهٔ E، همان تجربهٔ هزاران بازی رایانه در برابر خودش است. وظیفهٔ T نیز بازی شطرنج است و سنجش عملکرد P نیز احتمال برنده شدن بازی بعدی مقابل حریفی جدید است.

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

یک مثال برای فهم بهتر

در طول این مجموعه از آموزش‌ها، من سعی میکنم در میانه‌ی متن سوالاتی را بپرسم تا مطمئن شوم شما روی این مبحث مسلط شده‌اید.

مثال اول از یادگیری ماشین

فرض کنید برنامه ایمیل شما (مثل GMail) رفتارتان را برای مشخص کردن اینکه کدام یک از ایمیل‌های ورودی اسپم هستند بررسی می‌کند. بعنوان مثال شما یک ایمیل دریافت می‌کنید و آن را باز می‌کنید. سپس روی دکمه Spam کلیک می‌کنید چون به نظر شما محتوای آن اسپم است.

در ادامه براساس اینکه کدام یک از ایمیل‌ها را بعنوان اسپم معرفی می‌کنید، برنامه ایمیل یاد می‌گیرد که چگونه ایمیل‌های ورودی شما را بهتر فیلتر کند. در چنین موقعیتی وظیفهٔ T کدام گزینه است؟

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

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

امیدوارم که گزینه صحیح را انتخاب کرده باشید (اگر هنوز گزینه‌ٔ صحیح را انتخاب نکرده‌اید، سایر گزینه‌ها را امتحان کنید تا به پاسخ صحیح برسید 🙂 ). در این مثال در واقع وظیفهٔ T ، سنجش عملکرد P و تجربه E هر سه وجود دارند.

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

بیایید باهم این مثال را بررسی کنیم:

  • بررسی اینکه شما کدامیک از ایمیل‌ها را بعنوان اسپم مشخص می‌کنید همان تجربه E است.
  • درصد یا تعداد ایمیل‌هایی که به درستی تشخیص داده می‌شوند که اسپم هستند همان سنجش عملکرد P است.
  • و در نهایت دسته‌بندی ایمیل‌ها نیز وظیفه‌ T خواهد بود.

در نهایت می‌توان اینطور گفت که عملکرد سیستم برای وظیفهٔ T، که سنجش عملکرد آن P‌ است، بعد از تجربهٔ E بهبود می‌یابد.

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

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

  • یادگیری بانظارت (Supervised learning)
  • یادگیری بی‌نظارت (Unsupervised learning)

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

  • یادگیری بانظارت: به رایانه آموزش می‌دهیم که چگونه کاری را خودش انجام دهد.
  • یادگیری بی‌نظارت: به رایانه اجازه می‌دهیم که خودش یاد بگیرد.

اگر دقیق معنای دو تعریف بالا را متوجه نشدید نگران نباشید. همانطور که گفتم در جلسات بعدی به بیان دقیق تعریف هرکدام خواهیم پرداخت. همچنین با الگوریتم‌های دیگری مانند یادگیری تقویتی (Reinforcement learning)‌ و سیستم‌های پیشنهاد دهنده (Recommender systems) آشنا خواهیم شد. اما رایج‌ترین آن همان یادگیری بانظارت و بی‌نظارت هستند.

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

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

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

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

من در دره سیلیکون (Silicon valley) زندگی می‌کنم و می‌بینم که حتی شرکت‌های برتر اینجا نیز ممکن است شش ماه برای پیاده سازی و یکی از الگوریتم‌های یادگیری ماشین در کارشان زمان می‌گذارند. درحالیکه از اگر شش ماه قبل از من می‌پرسیدند به آن‌ها می‌گفتم باید کمی این الگوریتم را تغییر می دادید و در نهایت شانس شما برای موفقیت به شکل چشم‌گیری افزایش می‌یافت.

پس یکی از کارهایی که باهم در این دوره انجام خواهیم داد این است که زمان زیادی را صرف موارد زیر خواهیم کرد:

  • چگونگی ایجاد یک سیستم یادگیری ماشین
  • انتخاب بهترین تصمیم با استفاده از این روش‌ها برای ساختن سیستم خودمان
  • دچار نشدن به وضعیت کسانی که در شش ماه به هیچ موفقیتی نمی‌رسند 🙂

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

سخن آخر این جلسه و موضوع جلسه آینده

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

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

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

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

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