آموزش هوش مصنوعیکلیات هوش مصنوعیهوش مصنوعی
Supervised and Unsupervised Learning
توی مطب قبلی گفتیم که دو تا از مهمترین دسته مسائلی که با کمک الگوریتم های هوشمند اونا رو حل میکنیم مسائل بهینه سازی و مسائل مربوط به حوزه یادگیری (learning problem) هستند.
مسائل بهینه سازی رو مفصل قبلا توضیح دادیم. توی این مطلب می خواهیم مسائل حوزه یادگیری رو کمی بیشتر توضیح بدیم. توی پست های قبلی یک مثال زدیم و قصد داریم اونو دنبال کنیم.
فرض کنید ما ۱۰۰۰ تا داده داریم که به دو گروه مجزا تعلق دارند. توی شکل زیر این دو گروه نمایش داده شده اند (یک گروه رو با علامت + و یک گروه رو هم با علامت o نمایش دادیم). یک انسان می تونه به راحتی با مشاهده تصویر دو گروه رو از هم تمایز بده (البته اگر نقاط رو توی یک نمودار سه بعدی ترسیم کنیم و هر گروه رو با یک نماد و یک رنگ نمایش بدیم).
حالا مسئله یادگیری چی میشه؟
اینکه یک الگوریتم با داشتن لیست نقاط بتونه اونا رو به درستی توی گروه خودش قرار بده.
مسائل حوزه یادگیری خودشون به دو دسته تقسیم میشن : یادگیری بدون نظارت (unsupervised learning) و یادگیری نظارتی (supervised learning)
برای دکتر بهتر تفاوت این دوتا دسته ، مثال بالا رو دنبال می کنیم:
یادگیری بدون نظارت : اگر به الگوریتم فقط مختصات نقاط رو بدیم و البته می تونیم تعداد گروه ها رو هم به عنوان دانش اضافی بدیم یا ندیم، به این الگوریتم می گیم الگوریتم بدون نظارت.
یادگیری نظارتی : توی این گونه الگوریتم ها ما ۱۰۰۰ تا نقطه ای رو که داریم به دو دسته تقسیم می کنیم. ابتدا ما ۵۰۰ تا از نقاط رو به صورت تصادفی انتخاب میکنیم و به کمک الگوریتم مورد نظر اونا رو دسته بندی می کنیم (به این ۵۰۰ تا نقطه انتخابی می گیم داده تمرین یا train، خروجی مرحله train یک مدل است که بر اساس اون مدل مشخص میشه که یک نقطه توی کدوم گروه قرار می گیره. پس از فاز تمرین، ما ۵۰۰ تا داده دیگر رو به الگوریتم می دیم و الگوریتم بر اساس مدل خودش مشخص میکنه که نقطه جدید توی کدوم گروه قرار می گیره.
ایجاد مدل مهمترین بخش الگوریتم های نظارتی است در این مورد مفصل صحبت خواهیم کرد.