مهمترین الگوریتمهای یادگیری ماشین (به همراه کدهای پایتون و R) – بخش اول: مقدمه
ماشینهای خودران گوگل و رباتها در رسانهها بسیار مورد توجه قرار گرفتهاند ولی آینده واقعی این شرکت با یادگیری ماشینی گره خورده است. این فناوری باعث میشود رایانهها هوشمندتر و شخصیتر بشوند.
(اریک اشمیت (مدیرعامل گوگل
ما احتمالاً در تعیینکنندهترین دوره تاریخ بشر زندگی میکنیم. دورهای که رایانش از کامپیوترهای غولپیکر به رایانههای رومیزی و رایانش ابری منتقل شد. اما آنچه که این دوره را تعیینکننده کرده است این نیست، بلکه مسیری است که در سالهای آتی پیش روی ما قرار دارد.
آنچه که این دوره را هیجانانگیزتر میکند، دموکراتیکتر شدن ابزارها و تکنیکها است که منجر به رشد فوقالعاده رایانش شده است. امروزه هر کس همچون یک متخصص دادهها میتواند با صرف چند دلار در ساعت، ماشینهای تحلیلگر داده با الگوریتمهای پیچیده بسازد. اما رسیدن به این نقطه به این آسانی نبوده است! روزها و شبهای تیرهوتاری نیز سپری شدهاند.
این مقالات برای چه کسانی مناسب است؟
سلسله مطالبی که در پیش رو دارید، یکی از بهترین راهنماهایی است که در این زمینه نوشته شده است.
ایده اصلی نوشتن این سلسله مقالات، سادهسازی مسیر علاقهمندان به رشته علوم دادهها و یادگیری ماشینی در سراسر جهان بوده است. از طریق این راهنما میتوانید بر روی مسائل یادگیری ماشینی کار کنید و تجربههای جدیدی بیاموزید. در این راهنما سطوح پیشرفتهای از الگوریتمهای یادگیری ماشینی همراه با کدهای پایتون و R برای اجرا ارائه میشود. این راهنما برای آغاز گام پیمودن در این مسیر کافی است.
جنبههای آماری پشت این تکنیکها عامدانه مطرح نشده است، زیرا در آغاز نیازی به یادگیری آنها وجود ندارد. بنابراین اگر به دنبال درک آماری این الگوریتمها هستید، باید جای دیگری دنبال آن باشید. ولی اگر میخواهید برای شروع ایجاد پروژههای یادگیری ماشینی آماده شوید این راهنما بهترین گزینه است.
به طور کلی 3 نوع الگوریتم یادگیری ماشینی وجود دارد
۱. یادگیری نظارتشده
نحوه کار: این الگوریتم شامل یک متغیر هدف/خروجی (یا متغیر وابسته) است که از روی یک مجموعه پیشبینها (متغیرهای مستقل) پیشبینی میشوند. با استفاده از این مجموعه متغیرها، تابعی ایجاد میشود که ورودیها را به خروجیهای مطلوب نگاشت میکند. فرایند تمرین تا زمانی ادامه مییابد که مدل به سطح مطلوبی از دقت بر روی دادههای تمرینی دست یابد. نمونههایی از یادگیری نظارتشده شامل رگرسیون، درخت تصمیم، جنگل تصادفی، KNN، رگرسیون لجستیک و ... است.
۲. یادگیری بدون نظارت
نحوه کار: در این الگوریتم ما هیچ متغیر هدف یا خروجی نداریم که پیشبینی یا برآورد کنیم. این الگوریتم برای خوشهبندی جمعیت در گروههای مختلف استفاده میشود و به طور گسترده برای قطعهبندی مشتریان در گروههای مختلف برای مداخلههای خاص مورد استفاده قرار میگیرد. نمونههایی از یادگیری نظارتنشده: الگوریتم آپریوری (Apriori) و k-میانگین (K-means).
۳. یادگیری تقویتشده
نحوه کار: ماشین با استفاده از این الگوریتم تمرین داده میشود تا تصمیم مشخصی بگیرد. الگوریتم چنین عمل میکند که ماشین در معرض محیطی قرار میگیرد که خودش را به طور مداوم با استفاده از روش آزمونوخطا تمرین دهد. بدین ترتیب ماشین از تجربیات قبلی یاد میگیرد تا بهترین دانش ممکن را برای اتخاذ تصمیمهای تجاری صحیح بگیرد. نمونههایی از یادگیری تقویتی فرایند تصمیم مارکف هستند.
فهرست الگوریتمهای یادگیری ماشین رایج
در ادامه فهرستی از الگوریتمهای یادگیری ماشینی که بیشتر استفاده میشوند آمده است. این الگوریتمها را میتوان در مورد تقریباً هر نوع مسئله دادهای مورد استفاده قرار داد.
- رگرسیون خطی (Linear Regression)
- رگرسیون لجستیک (Logistic Regression)
- درخت تصمیم (Decision Tree)
- ماشین بردار پشتیبانی (SVM)
- بِیِزی ساده (Naive Bayes)
- k همسایهی نزدیکتر (KNN)
- k-میانگین (K-Means)
- جنگل تصادفی (Random Forest)
- الگوریتمهای کاهش ابعاد (Dimensionality Reduction)
- الگوریتمهای ارتقای گرادیان (Gradient Boosting):
- GBM
- XGBoost
- LightGBM
- CatBoost
در بخشهای بعدی این سلسله مقالات با ما همراه باشید. در هر مقاله شما را با یکی از الگوریتمهای فوق همراه با ارائه کد های پایتون و R آشنا می کنیم. همچنین برای مشاهده آموزش ویدیویی این بحث می توانید از آموزش یادگیری ماشین و آموزش یادگیری ماشین (Machine Learning) با پایتون (Python) استفاده کنید.
کاربردی و عالی و پویا
با تشکر