“یادگیری ماشین” چیست؟

یادگیری ماشین
ابوالفضل محمدی جو

ابوالفضل محمدی جو

ممکن است شما در سال های اخیر، در اخبار و مقالات در ارتباط با کلمه “یادگیری ماشین” زیاد شنیده باشید و کنجکاو باشید تا بدانید که یادگیری ماشین دقیقا چیست. یادگیری ماشین زیر مجموعه ای از “هوش مصنوعی” است و به روش هایی که یک ماشین می تواند یک چیز را یاد بگیرد، اشاره دارد. قبل از صحبت درباره یادگیری ماشین، خوب است در ارتباط با اینکه “یک انسان چگونه یاد می گیرد؟” کمی فکر کنیم. تصور کنید شما در یک خیابان مشغول پیاده روی هستید و تعداد زیادی مغازه و مرکز خرید و … مشاهده می کنید. بار بعد، از آنجائیکه شما تعداد زیادی مرکز خرید در آن خیابان دیده اید، برای خرید به آن خیابان مراجعه می نمائید. اگر شما در آن خیابان پیاده روی نکرده بودید و از هیچ طریق دیگری اطلاعی در مورد آن خیابان نداشتید، آیا شما می توانستید دریابید که آیا آن خیابان دارای مرکز خرید است یا خیر؟؟!! این دقیقا روشی است که ما یاد می گیریم: توسط دریافت اطلاعات از یک موضوع به هر طریقی. حال اگر ما می خواهیم یک ماشین چیزی را یاد بگیرد، باید تعداد زیادی اطلاعات مرتبط به یک موضوع را برای آن فراهم نمائیم و سپس توقع داشته باشیم که ماشین بتواند اتفاقات جدید مشابه در آن زمینه را برای ما پیش بینی کند.

حال اجازه بدهید کمی علمی تر در مورد یادگیری ماشین صحبت کنیم. به طور کلی ما می توانیم یادگیری ماشین را به دو زیر شاخه اصلی تقسیم کنیم: “یادگیری نظارتی” و “یادگیری غیرنظارتی”

یادگیری نظارتی خود شامل دو زیر بخش می شود: “رگرسیون یا پیشگویی” و “طبقه بندی”. در مسائل رگرسیون، ما تعداد زیادی اطلاعات ورودی-خروجی را به ماشین می دهیم و توقع داریم ماشین توسط الگوریتم هایی یک مدل را به ما ارائه دهد که برای ورودی های جدید، بتواند خروجی اش را پیش بینی کند. به عنوان مثال ما اطلاعات ۱ میلیون خانه در آمریکا را به ماشین می دهیم. پارامترها که همان ورودی های یادگیری هستند، به عنوان مثال، مساحت خانه، عمر خانه، تعداد اتاق خواب، شهر و ایالت خانه و … هستند. خروجی داده های یادگیری هم قیمت هر خانه است. پس از آموزش ماشین توسط این یک میلیون داده، ما توقع داریم که ماشین یک مدل به ما ارائه دهد که اگر مشخصات ورودی هر خانه ی جدید را به آن بدهیم، قیمت تخمینی خانه را برای ما پیش بینی کند. این یک مثال برای “مسئله رگرسیون” است که زیر مجموعه “یادگیری نظارتی” محسوب می شود.

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

در مسائل یادگیری نظارتی، ما همواره تعداد زیادی مثال آماده را در اختیار ماشین قرار می دهیم تا بتواند یک مدل جهت پیش بینی یا طبقه بندی ارائه دهد. حال تصور کنید که شما تعداد زیادی داده دارید که هیچگونه برچسبی ندارند و می خواهید که ماشین این داده ها را به ۲ خوشه یا بیشتر دسته بندی کند، به گونه ای که اعضای هر خوشه، مشخصات مشابه به هم داشته باشند. این مسئله، “مسئله خوشه بندی” است و زیر مجموعه “یادگیری غیرنظارتی” محسوب می شود. توجه داشته باشید که در این مسئله، ما هیچگونه داده ای را از پیش به ماشین نداده ایم و برای اولین بار ما به ماشین تعدادی داده می دهیم و توقع داریم که ماشین، این داده ها را به چندین خوشه تقسیم بندی کند. تصویر زیر می تواند مسئله خوشه بندی را بهتر توصیف کند:

مسئله خوشه بندی

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

این مقاله را در شبکه های اجتماعی خود به اشتراک بگذارید.

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

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

اشتراک در خبرنامه