یادگیری ماشین(Machine Learning) چیست؟

یادگیری ماشین، یک زیر مجموعه از هوش مصنوعی است. با استفاده از تکنیک های یادگیری ماشین، کامپیوتر، الگوهای موجود در داده ها(اطلاعات پردازش شده) را یادگرفته و میتواند از آن استفاده کند. توجه داشته باشید که در این تکنیک ها، یادگیری در یک سیستم کامپیوتری بدون برنامه نویسی صریح(Explicit Programming) صورت میپزید. حال اینکه برنامه نویسی صریح چیست و یادگیری ماشین چطور کار میکند را در ادامه میاوریم.

مثال کلاسیک زیر را در نظر بگیرید:

فرض کنید در یک فروشگاه بزرگ خرده فروشی به صورت اینترنتی در حال خرید هستید. در زمان خرید، سه محصول مختلف را به سبد خرید خود اضافه می کنید. فرض کنید این سه محصول به صورت زیر است:

لپ تاپ سری N

موس بیسیم

یک عدد تمیز کننده مانیتور

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

حال فرض کنید، سیستم از طریق الگوریتم های یادگیری ماشین، بتواند مشتریان قبلی خود را به گروه های مختلف تقسیم بندی کند(به این کار به اصطلاح خوشه بندی یا Clustering گفته می شود). با این کار، شما با تکمیل سبد خرید خود، به دسته ای از مشتریان متعلق می شوید. با تعلق شما به گروه خاصی از مشتریان، محصولاتی که آن ها(قبلاً) خریدای کرده اند(و شما درسبد خرید خود ندارید) به شما پیشنهاد داده می شود.

نگاهی به تصویر زیر بیندازید:

فرآیند کلی یادگیری ماشین را، میتوان به صورت بالا مدل کرد. داده های آموزشی(در مثال ما: مشتریانی که قبلا خرید کرده اند و سابقه خرید آن ها) به الگوریتم های یادگیری ماشین تزریق می شوند. این الگوریتم ها، وظیقه یادگیری و واکشی الگوها(Patterns)ی مختلف، در داده ها را دارند. بعد از به دست آوردن الگوها توسط الگوریتم ها(معمولا یکی از الگوریتم ها مورد استفاده قرار میگیرد)، یک مدل ساخته می شود. این مدل(Model) می تواند در حافظه ذخیره شود. بعد از ذخیره مدل، سیستم توانایی پیش بینی رفتار یک عامل را دارد. در مثال بالا، شما(شخصی که چند محصول را در سبد خرید خود دارد)، به عنوان یک پرس و جو به مدل آموزش دیده داده می شوبد. این مدل، میتواند خروجی پیشبینی(در این مثال، محصولی که باید به شما-بر اساس خرید های مشتریان هم دسته شما- توصیه شود) را برگرداند.

به این مدل نگاه، در سیستم های کامپیوتری یادگیری ماشین(Machine Learning) گفته می شود. مدلی که شاید بتوان آن را برنامه نویسیِ برنامه نویسی! دانست. در واقع برنامه نویسی، فرآیند ها را خودکار(اتوماتیک) می کند، این در حالی است که یادگیری ماشین همین فرآیند های خودکار را یک بار دیگر خودکار می کند!

یادگیری ماشین با فرآیند های داده کاوی، بسیار شبیه(و از نگاه کاربردی تقریباً یکسان) است. در فرآیند های یادگیری ماشین دو نوع یادگیری مهم وجود دارد: یادگیری نظارت شده(Supervised Learning) و یادگیری غیرنظارت شده(Unsupervised Learning). البته انواع دیگری مانند یادگیری نیمه نظارت شده(Semi Supervised Learning) نیز وجود دارند.

در فرآیند های یادگیری ماشین، داده ها، بسیار اهمیت دارند. اصلاح معروفی در این حوزه وجود دارد که به این صورت ترجمه کرده ایم:

اگر داده ی بد، به سیستم تزریق شود، خروجی نیز، خروجی بدی خواهد بود

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

منابع این بحث و اطلاعات بیشتر

وب سایت TechTarget

وب سایت شرکت SAS

این اسلاید از سایت Slideshare

در صورت تمایل به یادگیری بیشتر، منابع بالا در نظر گرفته شده است. می توانید با خواندن این منابع، به یادگیری خود در این زمینه عمق ببخشید

پاسخ دهید

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