قرار بود این پست دربارهی اولین الگوریتم این سری به نام k-NN باشد اما متاسفانه من به این نکته توجه نکرده بودم که بدون ارایهی یک طبقهبندی مناسب برای این الگوریتمها، کار نوشتن دربارهی آنها سخت خواهد شد. برای طبقهبندی این الگوریتمها به دو روش عمل میشود:
- طبقهبندی بر اساس نحوه یادگیری
- طبقهبندی بر اساس کاربرد و شباهت بین الگوریتمها
یادگیری ماشین به طور کلی زیرشاخهای از علوم کامپیوتر است. هدف و مورد استفادهی آن، ساخت الگوریتمهای جدید یا بهبود الگوریتمهای موجود برای یاد گرفتن از داده است. یادگیری در اینجا، به معنای ساخت مدلهای قابل تعمیم دادن است که پیشبینیهای دقیقی ارایه میکنند، یا پیدا کردن روند یا الگو در دادههای جدید و دیدهنشدهی مشابه است.
فرایند یادگیری ماشین
dataset یا مجموعه داده را به صورت یک جدول تصور کنید که هر ردیفش یک مشاهده ( یا یک اندازهگیری، یک نقطه داده و … ) است و هر ستونش برای هر مشاهده نمایشگر یک مشخصهی آن مشاهده و مقدارش است.
در آغاز فرایند یادگیری ماشین، دیتاست معمولا به دو یا سه زیرمجموعهی کوچکتر افراز میشوند. حداقل تعداد زیرمجموعهها، یک دیتاست به عنوان تمرینی (training) و یک دیتاست به عنوان آزمایش (test) است و اغلب ممکن است یک دیتاست اختیاری برای اعتبار سنجی نیز افراز شود.
هنگامی که این زیرمجموعه دادهها از دیتاست اصلی به وجود آمدند، یک مدل پیشبینی یا یک طبقهبندی کننده با استفاده از دیتاست تمرینی، تمرین داده میشود و سپس دقت پیشبینی مدل با استفاده از دیتاست آزمایشی مشخص میگردد.
انواع یادگیری
اصولا دو طبقهبندی اصلی یادگیری در یادگیری ماشین، یادگیری با نظارت (Supervised Learning) و یادگیری بدون نظارت (Unsupervised Learning).
در یادگیری با نظارت، دیتاست ورودی، شامل ستون متغیر پاسخ ( یا برچسب) است که داریم برای آن مدل میسازیم. به عنوان مثال فرض کنید میخواهیم مدلی بسازیم که با استفاده از متغیرهای موجود دما، میزان شدت نور، درصد رطوبت و میزان CO2 بتواند تعیین کند یک اتاق خالی است یا پر. اگر دیتاست تمرینی، شامل ستونی باشد که پر یا خالی بودن اتاق در آن مشخص شده است یادگیری ما از نوع با نظارت است. یادگیری با نظارت، معمولا برای پیشبینی مقادیر و یا طبقهبندی دادههای برچسبنخورده استفاده میشود.
یادگیری بینظارت شامل یادگیری از دیتاستهایی است که برچسب نخوردهاند و یا متغیر پاسخ را ندارند و بیشتر الگوریتمهای آن، برای پیداکردنن الگو استفاده میشوند نه برای پیشبینی.
انواع دیگری از یادگیری ماشین نیز وجود دارند که حالتی بین یادگیری بانظارت و بینظارت دارند اما این الگوریتمها فعلا در برنامهی این سری از پستها قرار ندارند.
گاهی اوقات الگوریتمهای یادگیری ماشینی را براساس کاربرد به الگوریتمهای طبقهبندی کننده، پیشبینیکننده و دیگر الگوریتمها نیز تقسیم میکنند که در پستهای بعدی این سری با آنها آشنا میشویم.
نوشته یادگیری ماشین در R — بخش یک و نیم، طبقهبندی الگوریتمهای یادگیری ماشینی اولین بار در use R. پدیدار شد.