در درس سوم از آموزش رایگان یادگیری ماشین با پایتون می خواهیم در مورد انواع یادگیری ماشین و کاربردها، چالش ها و محدودیت های یادگیری ماشین صحبت کنیم.
انواع یادگیری ماشین
انواع یادگیری ماشین عبارتند از:
✔️ یادگیری ماشین نظارت شده (Supervised Machine Learning)
✔️ یادگیری ماشین بدون نظارت (Unsupervised Machine Learning)
✔️ یادگیری ماشین تقویتی (Reinforcement Machine Learning)
یادگیری ماشین نظارت شده (Supervised Machine Learning)
یادگیری ماشین نظارت شده نوعی از یادگیری ماشین است که در آن، الگوریتم بر روی مجموعه دادههای دارای برچسب، آموزش میبیند. الگوریتم در اینجا یاد میگیرد که چگونه ویژگیهای ورودی را به اهداف مشخصی که بر اساس دادههای آموزشی با برچسب تعیین شدهاند، نگاشت کند.
در این نوع یادگیری، الگوریتم با دریافت ویژگیهای ورودی و برچسبهای خروجی مرتبط، از این دادهها یاد میگیرد و سپس از این یادگیری برای پیشبینی خروجیها بر روی دادههای جدید و ناشناخته استفاده میکند.
در این نوع یادگیری دو دسته اصلی وجود دارد:
1- رگرسیون (Regression): رگرسیون یک نوع از یادگیری نظارت شده است که در آن الگوریتم یاد میگیرد بر اساس ویژگیهای ورودی، مقادیری پیوسته را پیشبینی کند. مثالهایی از مسائل رگرسیون شامل پیشبینی قیمت سهام و قیمت مسکن میشوند. الگوریتمهای مختلف رگرسیون در یادگیری ماشین عبارتند از:
- رگرسیون خطی
- رگرسیون چندجملهای
- رگرسیون ریج
- رگرسیون درخت تصمیم
- رگرسیون جنگل تصادفی
- رگرسیون ماشین بردار پشتیبان
- و…
2- طبقهبندی (Classification): طبقهبندی نیز نوعی از یادگیری نظارت شده است که در آن الگوریتم یاد میگیرد دادههای ورودی را بر اساس ویژگیهای ورودی به یک دسته یا کلاس خاص تخصیص دهد. در طبقهبندی، برچسبهای خروجی مقادیر گسسته هستند. الگوریتمهای مختلف طبقهبندی در یادگیری ماشین عبارتند از:
- رگرسیون لجستیک
- نایو بیز
- درخت تصمیم
- ماشین بردار پشتیبان (SVM)
- همسایگان نزدیک (KNN)
- و…
یادگیری ماشین بدون نظارت (Unsupervised Machine Learning)
یادگیری ماشین بدون نظارت نوعی از یادگیری ماشین است که در آن الگوریتم یاد میگیرد که الگوها را در دادهها بدون نیاز به آموزش صریح یا استفاده از نمونههای دارای برچسب، شناسایی کند. هدف یادگیری بدون نظارت این است که ساختار یا توزیع مخفی در دادهها را کشف کند.
در یادگیری بدون نظارت دو دسته اصلی وجود دارد:
1- خوشهبندی (Clustering): الگوریتمهای خوشهبندی، دادههای مشابه را بر اساس ویژگیهای آنها در گروههایی متفاوت تقسیم میکنند. هدف اینجا شناسایی گروهها یا خوشههای دادههای مشابه است که از یکدیگر متمایز هستند. برخی از الگوریتمهای معروف خوشهبندی عبارتند از:
- K-means
- خوشهبندی سلسله مراتبی (Hierarchical clustering)
- DBSCAN
2- کاهش ابعاد (Dimensionality Reduction): الگوریتمهای کاهش ابعاد با حفظ حداکثر اطلاعات اصلی از دادهها تعداد متغیرهای ورودی در مجموعه داده را کاهش میدهند. این کار برای کاهش پیچیدگی مجموعه داده و تسهیل در تصویرسازی و تجزیه و تحلیل آن است. برخی از الگوریتمهای معروف کاهش ابعاد عبارتند از:
- تجزیه اصلی مؤلفهها (PCA)
- t-SNE
- Autoencoders
یادگیری تقویتی (Reinforcement Machine Learning):
یادگیری ماشین تقویتی نوعی از یادگیری ماشین است که در آن یک عامل، با انجام اعمالی در سیستم مشخص شده، و دریافت پاداش یا مجازات بر اساس اعمال خود، یاد میگیرد که چگونه با محیط تعامل کند. هدف اصلی یادگیری ماشین تقویتی این است که یک سیاست (که یک نگاشت از وضعیتها به اعمال است) را یاد بگیرد و میزان پاداش تجمعیی انتظاری را در طول زمان به حداکثر برساند.
در یادگیری ماشین تقویتی دو دسته اصلی وجود دارد:
1- یادگیری تقویتی مبتنی بر مدل: در یادگیری تقویتی مبتنی بر مدل، عامل یک مدل از محیط را یاد میگیرد که شامل احتمالات انتقال بین وضعیتها و پاداشهای مرتبط با هر جفت وضعیت-عمل است. سپس عامل از این مدل برای برنامهریزی اعمال خود به منظور به حداکثر رساندن پاداش انتظاری استفاده میکند. برخی از الگوریتمهای شناختهشده در این دسته عبارتند از:
- Value Iteration
- Policy Iteration
2- یادگیری تقویتی بدون مدل: در یادگیری تقویتی بدون مدل، عامل بدون ایجاد مدل دقیقی از محیط به صورت مستقیم از تجربیات خود سیاست خود را یاد میگیرد. عامل با تعامل با محیط و دریافت پاداشها سیاست خود را بهروزرسانی میکند. الگوریتمهای معروف در این دسته عبارتند از:
- Q-Learnin
- SARSA
- یادگیری تقویتی عمیق (Deep Reinforcement Learning)
نیاز به یادگیری ماشین
یادگیری ماشین به دلیل اینکه امکان میدهد کامپیوترها از دادهها یاد بگیرند و عملکرد خود را در وظایف خاص بدون نیاز به برنامهریزی صریح بهبود بخشند، بسیار مهم است.
این توانایی برای یادگیری از داده و سازگاری با شرایط جدید، یادگیری ماشین را به ویژه برای وظایفی که مرتبط با حجم زیادی از داده، تصمیمگیری پیچیده و محیطهای پویا هستند، بسیار مفید و واجد اهمیت میکند.
از زمینههای خاصی که یادگیری ماشین در آن به کار میرود، میتوان به موارد زیر اشاره کرد:
✔️ مدلسازی پیشبینی کننده
یادگیری ماشین به شرکتها کمک میکند تا مدلهای پیشبینی کننده بسازند که در تصمیمگیریهای بهتر به آنها کمک میکند. به عنوان مثال، میتوان از یادگیری ماشین برای پیشبینی آنکه کدام مشتریان، احتمال خرید یک محصول خاص را دارند یا کدام بیماران احتمال توسعه یک بیماری خاص را دارند، استفاده کرد.
✔️ پردازش زبان طبیعی
یادگیری ماشین برای ساخت سیستمهایی استفاده میشود که قادر به درک و تفسیر زبان انسانی هستند. این موضوع برای برنامههایی مانند تشخیص صدا، رباتهای گفتگویی و ترجمه زبانی بسیار مهم است.
✔️ بینایی کامپیوتر
یادگیری ماشین برای ساخت سیستمهایی استفاده میشود که قادر به تشخیص و تفسیر تصاویر و ویدیوها هستند. این موضوع برای برنامههایی مانند خودروهای بدون راننده، سیستمهای نظارتی و تصویربرداری پزشکی بسیار مهم است.
✔️ تشخیص تقلب
یادگیری ماشین برای تشخیص رفتارهای تقلبی در تراکنشهای مالی، تبلیغات آنلاین و دیگر زمینهها استفاده میشود.
✔️ سیستمهای پیشنهادی
یادگیری ماشین میتواند برای ساخت سیستمهای پیشنهاد دهنده استفاده شود که محصولات، خدمات یا محتوا را بر اساس رفتار و ترجیحات گذشته کاربران به آنها پیشنهاد میدهند.
به طور کلی، یادگیری ماشین به ابزاری بسیار حیاتی برای بسیاری از کسبوکارها و صنایع تبدیل شده است، زیرا اجازه میدهد تا از دادهها بهره بهتری ببرند، فرآیند تصمیمگیری خود را بهبود دهند و تجربیات شخصیتری را به مشتریان خود ارائه دهند.
کاربردهای یادگیری ماشین
حالا در این قسمت می خواهیم با کاربردهای مختلف یادگیری ماشین آشنا شویم:
✔️ اتوماسیون
یادگیری ماشین میتواند به صورت کاملاً خودکار در هر حوزهای بدون نیاز به دخالت انسانی عمل کند. به عنوان مثال، رباتها مراحل اصلی در کارخانههای تولید را انجام میدهند.
✔️ صنعت مالی
بانکها به طور عمده از یادگیری ماشین برای یافتن الگوها در دادهها و همچنین برای جلوگیری از کلاهبرداری استفاده میکنند.
✔️ سازمانهای دولتی
دولت از یادگیری ماشین برای مدیریت امور ایمنی عمومی و امکانات عمومی استفاده میکند. به عنوان مثال، چین با تشخیص چهرهها از شناسایی افراد بهره می گیرد و از هوش مصنوعی برای جلوگیری از گذر غیرمجاز در مکانهای عمومی استفاده میکند.
✔️ صنعت بهداشت
صنعت بهداشت یکی از اولین صنایعی بود که از یادگیری ماشین با تشخیص تصویر استفاده کرد.
✔️ بازاریابی
در بازاریابی، از هوش مصنوعی به طور گستردهای استفاده میشود؛ به عنوان مثال برای بهینهسازی روابط با مشتریان و کمپینهای بازاریابی.
✔️ صنعت خردهفروشی
یادگیری ماشین برای تحلیل رفتار مشتریان، پیشبینی تقاضا و مدیریت موجودی استفاده میشود و به فروشندگان کمک میکند تا تجربه خرید را برای هر مشتری شخصیسازی کنند.
✔️ حمل و نقل
یادگیری ماشین برای بهینهسازی مسیرها، کاهش مصرف سوخت و بهبود کلی کارایی سیستمهای حمل و نقل استفاده میشود و در خودروهای بدون راننده نیز نقش دارد، درواقع الگوریتمهای یادگیری ماشین برای تصمیمگیری درباره مسائل مرتبط با مسیریابی و ایمنی استفاده میشوند.
چالشها و محدودیتهای یادگیری ماشین
✔️ چالش اصلی در یادگیری ماشین، کمبود داده یا تنوع کم در مجموعه داده ها است.
✔️ اگر دادههای کافی در دسترس نباشد یک ماشین نمیتواند یاد بگیرد. علاوه بر این، یک مجموعه داده با تنوع کم، باعث ایجاد مشکل برای ماشین میشود.
✔️ برای یادگیری معنادار، یک ماشین نیاز به تنوع در دادهها دارد.
✔️ وقتی تنوع در دادهها کم باشد یا اصلا وجود نداشته باشد، بسیار نادر است که یک الگوریتم بتواند اطلاعات معنیداری استخراج کند.
✔️ توصیه میشود حداقل 20 مشاهده در هر گروه وجود داشته باشد تا به ماشین در یادگیری کمک کند. این محدودیت منجر به ارزیابی و پیشبینی نادرست میشود.