یادگیری ماشین یکی از حوزهها و زیرشاخههای هوش مصنوعی (AI) است که به سیستمها اجازه میدهد بدون برنامهنویسی دقیق بتوانند از تجربیات خود یاد گرفته و بهبود پیدا کنند. این حوزه از هوش مصنوعی در سالهای اخیر به دلیل کاربردهای عملی بسیار زیادی که در صنایع مختلف داشته موردتوجه قرار گرفته و به یک موضوع بسیار محبوب تبدیل شده است. نحوه استفاده از این تکنولوژی و البته نحوه کار آن از مواردی هستند که بسیاری از افراد به دنبال داشتن اطلاعات بیشتر درباره این موضوع هستند.
تعریف یادگیری ماشین
یادگیری ماشین یک زیرشاخه از هوش مصنوعی است که با استفاده از تکنیکهای آماری و بسیاری از موارد دیگر سیستمهای کامپیوتری را قادر میسازد بدون نیاز به برنامهنویسی صریح یاد بگیرند و تصمیمگیری داشته باشند. این کاربرد بر اساس مفهومی ایجاد شده که بیان میکند سیستمهای کامپیوتری میتوانند از دادهها یاد بگیرند، الگوها را شناسایی کرده و قضاوت و تصمیمگیری داشته باشند.
بهعبارتدیگر میتوان گفت که این فیلد بیشتر روی شبیهتر کردن ماشینها در رفتار و تصمیمها به انسان تمرکز دارد و تلاش میکند تا توانایی یادگیری را به ماشینها اضافه کند. این کار با حداقل دخالت انسانی انجام میشود و این یعنی نیازی به برنامهنویسی صریح برای این یادگیری وجود ندارد. فرایند یادگیری بر اساس تجربیات ماشینها در طول فرایند دریافت و پردازش داده و بهصورت کاملا خودکار انجام میشود.
دادههای باکیفیت در اولین قدم به ماشین ارائه میشوند و الگوریتمهای مختلفی برای ساخت مدلهای یادگیری ماشین استفاده میشود تا به ماشینها آموزش داده شود. در این مسیر انتخاب نوع الگوریتم به نوع دادهای که در دست است و نوع فعالیتی که باید بهصورت خودکار انجام شود بستگی خواهد داشت.
تفاوت ماشین لرنینگ با برنامهنویسی سنتی یک تفاوت بسیار عمده است. در برنامهنویسی سنتی معمولا برنامه و دادههای ورودی به ماشین داده شده و خروجی توسط ماشین تولید میشود؛ ولی در ماشین لرنینگ این طور نیست و دادههای ورودی و خروجی به ماشین داده میشود و بر این اساس برنامهای برای آن طراحی میشود.
پیشنهاد مطالعه: تفاوتهای هوش مصنوعی و یادگیری ماشین
انواع یادگیری ماشین
به طور کلی سه نوع یادگیری ماشین (Machine Learning) وجود دارد که شامل موارد زیر هستند:
یادگیری با نظارت
یادگیری با نظارت دستهای از مسائل هستند که از یک مدل یادگیری نگاشت بین متغیرهای ورودی و هدف استفاده میکند. فرض کنید مجموعه دادههای ورودی را با x و مجموعه دادههای هدف را با y نمایش دهیم. در چنین شرایطی یک الگوریتم با نظارت سعی میکند تا یک تابع فرضی را یاد بگیرد که یک نگاشت با عبارت y=f(x) بوده و تابعی از x خواهد بود.
از آنجایی که ما در این حالت خروجی را میدانیم به این نوع یادگیری، یادگیری با نظارت گفته میشود. الگوریتم هر بار پیشبینی میکند که دادههای هدف چه مقداری دارند و بر اساس مقدار واقعی این دادهها اقدام به بهینهسازی نتایج و اصلاح آنها میکند. مدلها ابتدا بر روی دادههای آموزشی عمل کرده و سپس روی دادههای آزمون استفاده میشوند تا دقت مدل برآورد شود.
به طور کلی دو نوع مسئله در یادگیری با نظارت وجود دارد که شامل طبقهبندی و رگرسیون میشود. طبقهبندی تلاش میکند تا برچسب کلاس دادهها را پیشبینی کند و رگرسیون نیز در تلاش است که یک مقدار عددی را پیشبینی کند.
یادگیری بدون نظارت
در یک مسئله یادگیری بدون نظارت، مدل سعی میکند بهتنهایی بیاموزد و الگوها را تشخیص دهد. چنین مدلی میتواند روابط میان دادهها را استخراج کند. برخلاف چیزی که در یادگیری با نظارت بیان کردیم در اینجا هیچ ناظری وجود ندارد که بتواند هدایت مدل را برعهده گیرد و این در حالی است که در مدل با نظارت ما از دادههای هدف استفاده میکردیم تا روی روند یادگیری نظارت داشته باشیم. به طور کلی در این نوع یادگیری هدف تفسیر الگوهای اساسی در دادهها بهمنظور تقسیمبندی آنها یا پیشبینی در این دادههاست.
به طور کلی دو نوع یادگیری بدون نظارت وجود دارد. نوع اول خوشهبندی است که مدل تلاش میکند تا دادهها را در گروههای مختلف تقسیمبندی کند. نوع دوم تخمین چگالی است که مدل تلاش میکند تا توزیع دادهها را بهصورت یکپارچه در بیاورد. این عملیات برای درک الگوهای موجود در دادهها انجام میشود. در این مدلهای یادگیری ماشین معمولا از ابزارهای تصویرسازی نیز استفاده میشود که به درک بهتر ساختار دادهها کمک شایانی میکند.
یادگیری تقویتی
یادگیری تقویتی یکی دیگر از انواع یادگیری ماشین است که در آن یک عامل وجود دارد و عامل بر اساس بازخورد یا پاداشی که در محیط دریافت میکند فعالیتی را انجام خواهد داد. پاداشها و بازخوردهای ارائه شده به عامل ممکن است بازخوردهای منفی یا مثبت باشند. بر اساس این بازخوردها عامل در یک محیط انتخاب میکند که دقیقا چه اقداماتی را انجام دهد.
در این حالت نیز ماشین بهتنهایی از دادهها میآموزد و تنها چیزی که به روند یادگیری کمک خواهد کرد بازخوردهای ارائه شده به عامل هوشمند است.
الگوریتمهای یادگیری ماشین
در یادگیری ماشین (Machine Learning) از الگوریتمهای مختلفی استفاده میشود که از جمله آنها میتوان به موارد زیر اشاره کرد:
- رگرسیون خطی: در این الگوریتم تلاش میشود تا یک خط کشیده شود که بیشترین نزدیکی را بهتمامی دادهها داشته باشد. در واقع در این الگوریتم یک خطا وجود دارد که این خطا معمولا فاصله نقاط و دادهها از خط هستند. حال تلاش میشود تا ضرایب یک خط در دنیای ریاضی به شکلی تعیین شود که این میزان خطا به حداقل برسد.
- رگرسیون لجستیک: این نوع رگرسیون برای تخمین مقادیر گسسته (که معمولا شامل مقادیر 0 یا 1 است) از یک مجموعه متغیرهای مستقل مورداستفاده قرار میگیرد. در واقع این مدل تلاش میکند تا احتمال وقوع یک رویداد را با برازش دادهها به کمک یک تابع لجستیک پیشبینی کند.
- درخت تصمیم: درخت تصمیم یکی از محبوبترین الگوریتمهای ماشین لرنینگ است. این الگوریتم یک الگوریتم یادگیری با نظارت به شمار میآید که برای طبقهبندی مسائل استفاده میشود. این الگوریتم تلاش میکند تا مجموعه دادهها را به دو یا چند مجموعه همگن بر اساس مهمترین ویژگیهای متغیرها تقسیمبندی کند.
- الگوریتم SVM یا Support Vector Machine: این الگوریتم یک الگوریتم طبقهبندی است که در آن دادههای خام در یک فضای n بعدی رسم شده و سپس بر اساس مقدار این نقاط طبقهبندی انجام میشود. در واقع در الگوریتم از چندین خط بهمنظور ایجاد طبقهبندی استفاده میشود.
- الگوریتم نایو بیز یا Naive Bayes: این یک الگوریتم طبقهبند بر اساس قانون بیز در احتمال است که در آن الگوریتم تمامی ویژگیهای مربوط به دادهها را بهصورت مستقل در نظر گرفته و محاسبات خود را بر این اساس انجام میدهد. ساخت یک مدل بیز برای مجموعه دادههای عظیم بسیار ساده و در عین حال مفید است. این الگوریتم در بسیاری از موارد نسبت به الگوریتمهای پیشرفته و پیچیده نیز بهتر عمل میکند.
- الگوریتم KNN یا k همسایه نزدیک: این الگوریتم را میتوان برای مسائل طبقهبندی یا رگرسیون اعمال کرد. این الگوریتم در واقع تمامی دادههای موجود را ذخیره کرده و برای هر مورد جدیدی که ارائه میشود نزدیکترین k همسایه را ارائه میدهد و در نتیجه کلاسی که این داده بیشترین اشتراک را با آن دارد بهعنوان کلاس داده جدید در نظر گرفته میشود. این الگوریتم از نظر محاسباتی کمی سنگین است و متغیرهای آن نیز باید پیش از محاسبه نرمال شوند.
- الگوریتم K-Means: این الگوریتم یک الگوریتم بدون نظارت است که برای حل مسائل خوشهبندی در یادگیری ماشین مورداستفاده قرار میگیرد. در این الگوریتم مجموعه دادهها به تعداد خاصی از خوشهها طبقهبندی میشوند که ما این تعداد را k در نظر میگیریم. این طبقهبندی بهگونهای است که تمام دادههای موجود در یک خوشه به یکدیگر نزدیک و از خوشههای دیگر دورتر باشند.
- الگوریتم جنگل تصادفی: مجموعهای از درختان تصمیم را جنگل تصادفی مینامند. برای اینکه یک داده جدید در این الگوریتم تعیین شده و کلاسش مشخص شود ابتدا در هر درخت طبقهبندی میشود و درخت امتیازی را برای آن مشخص میکند. در ادامه برای اینکه طبقهبندی در جنگل انجام شود الگوریتم جنگل تصادفی کلاسی را برای داده جدید انتخاب میکند که بیشترین رای را از میان تمامی درختهای موجود در جنگل به دست آورده باشد.
- الگوریتمهای کاهش بُعد: در دنیای امروز حجم وسیعی از دادهها توسط شرکتها، سازمانهای دولتی و سازمانهای تحقیقاتی ذخیره و مورد تجزیه و تحلیل قرار میگیرند. چنین اطلاعات و دادههایی دارای حجم بالایی اطلاعات هستند که شناسایی الگوها در این دادهها از اهمیت بسیار زیادی برخوردار است. الگوریتمهای کاهش ابعاد مانند درخت تصمیم، جنگل تصادفی و مواردی از این قبیل کمک میکند تا الگوهای موجود در این دادهها به شکل بهتری پیدا شوند.
- الگوریتم گرادیان تقویتی و AdaBoosting: این دو الگوریتم جز الگوریتمهای ماشین لرنینگ به شمار میآیند که برای پیشبینیهای با دقت بالا برای حجم بالایی از دادهها مورداستفاده قرار میگیرند. این الگوریتمها در واقع الگوریتمهای گروهی هستند که قدرت پیشبینی چندین تخمین زننده پایهای را دارند و همین عامل نیز روی دقت و قدرت آنها تاثیر مثبت میگذارد. در میان تمامی الگوریتمهای مختلفی که در دنیای امروز در زمینه یادگیری ماشین مورداستفاده قرار میگیرند این دو الگوریتم هم دارای عملکرد بهینهای هستند و هم از محبوبیت بالایی در میان کارشناسان و متخصصان این حوزه برخوردار هستند.
ارتباط و تفاوت یادگیری ماشین با هوش مصنوعی
با وجود اینکه یادگیری ماشین و هوش مصنوعی دو موضوع کاملا متفاوت هستند؛ ولی در بسیاری از موارد افراد این دو را کاملا شبیه به یکدیگر دانسته و از این دو عبارت بهجای یکدیگر استفاده میکنند. به طور کلی باید توجه داشت که یادگیری ماشین یکی از زیرشاخههای هوش مصنوعی به شمار میآید. هدف از هوش مصنوعی این است که بتواند کل فعالیتهای رفتاری، تصمیمگیری و ذهنی انسان را شبیهسازی کند و این در حالی است که یادگیری ماشین تنها به دنبال پیداکردن الگوها و یادگیری از طریق دادههاست. پس باید تفاوت میان این دو را در نظر داشت تا بتوان به شکل مناسبی از هریک از آنها استفاده کرد.
یادگیری عمیق
یادگیری عمیق یکی از زیرشاخههای یادگیری ماشین است که در اصل یک شبکه عصبی را با تعداد لایههای مختلف را ارائه میدهد. این شبکههای عصبی تلاش میکنند تا بتوانند رفتار مغز انسان را شبیهسازی کنند و به آن اجازه دهند تا از مقادیر زیادی از دادههای ورودی یاد بگیرد. نکته مهمی که در اینجا وجود دارد این است که یک شبکه عصبی با یکلایه نیز میتواند پیشبینیهای تقریبا دقیقی را داشته باشد؛ ولی زمانی که تعداد لایههای پنهان در چنین شبکه عصبی افزایش پیدا میکند میتواند به بهینهسازی و اصلاح عملکرد شبکه عصبی بهمنظور افزایش دقت کمک شایانی کند.
یادگیری عمیق بسیاری از اپلیکیشنها و خدمات مبتنی بر هوش مصنوعی را هدایت میکند که باعث بهبود فرایند اتوماسیون شده و وظایف مختلف تحلیلی و فیزیکی را بدون دخالت انسانی انجام میدهد. تکنولوژی یادگیری عمیق امروزه در بسیاری از موارد مختلف کاربرد دارد که از جمله آنها میتوان به دستیارهای دیجیتال، کنترل از راه دور، تشخیص تقلب در کارتهای اعتباری و… اشاره کرد. از طرف دیگر این تکنولوژی در فناوریهای نوظهور مانند خودروهای بدون راننده یا خودران نیز بسیار پرکاربرد است.
نحوه عملکرد یادگیری ماشین
الگوریتمهای یادگیری ماشین روی یک مجموعهداده آموزشی پیادهسازی میشوند تا مدلی را ایجاد کنند که بتواند از این دادهها بیاموزد. این مدل توسعهیافته در نهایت میتواند بهمنظور پیشبینی یا دستهبندی مورداستفاده قرار گیرد. برای درک هرچه بهتر روند و عملکرد الگوریتمهای ماشین لرنینگ میتوان ساختار زیر را در نظر گرفت:
- دادههای آموزشی ابتدا وارد سیستم شده و پیشپردازش روی این دادهها انجام میشود.
- در ادامه الگوریتم مربوط به یادگیری مدل روی این دادههای آموزشی اجرا شده و مدل با استفاده از دادههای آموزشی آموزش داده میشود.
- در ادامه دادههای آزمون روی مدل آموزش داده شده قرار داده میشوند و این مدل روی دادههای آزمون نیز اجرا شده و پیشبینیهای موردنیاز انجام میشود.
- در این مرحله باید دقت الگوریتمها و مدل آموزش داده شده بررسی شود. به همین منظور نیز الگوریتمهای بررسی دقت روی نتایج به دست آمده از مرحله قبلی اجرا خواهد شد.
- اگر دقت به دست آمده مدنظر کاربر باشد روند عملکرد یادگیری ماشین به اتمام رسیده و مدل بهعنوان مدل نهایی معرفی میشود و در صورتی که دقت پایینتر از دقت مدنظر باشد مراحل مربوط به یادگیری دوباره با استفاده از الگوریتمهای جدید طی خواهد شد.
طیکردن این روند ممکن است نیازمند صرف زمان زیادی باشد که معمولا متخصصان و کارشناسانی که در حوزه یادگیری ماشین فعالیت دارند تلاش میکنند تا این زمان را کاهش داده و در کمترین زمان ممکن مدل نهایی را ارائه دهند. با این حال در این پروسهها معمولا مسئله مهمتر از زمان مسئله دقت است که کارشناسان تلاش میکنند تا در دقیقترین مدلها را برای پیشبینی یا دستهبندی ارائه دهند که دقت آنها شباهت زیادی با عملکرد انسانی داشته باشد.
5 کاربرد Machine Learning
از جمله مهمترین کاربردهای یادگیری ماشین میتوان به موارد زیر اشاره کرد:
- این تکنولوژی به طور گستردهای در صنعت مراقبتهای بهداشتی مورداستفاده قرار میگیرد. حسگرهای مخصوص تناسباندام، ساعتهای سلامت سنج و… همگی از جمله تکنولوژیهایی هستند که از ماشین لرنینگ استفاده میکنند. علاوه بر این پزشکان میتوانند از تجزیهوتحلیل داده با کمک ماشین لرنینگ بهمنظور تشخیص و درمان بیماران نیز استفاده کرده و از مزایای آن بهرهمند شوند.
مطالعه مقاله: کاربردهای هوش مصنوعی در پزشکی - صنایع مالی: سازمانهای مالی و بانکها امروزه از این تکنولوژی برای مقابله با فعالیتهای تقلبی و به دست آوردن بینشهای عمیق درباره حجم بالای دادههای خود استفاده میکنند. این بینشها به بانکها و سازمانهای مالی اجازه میدهد تا فرصتهای سرمایهگذاری را بهدرستی تشخیص داده و شناسایی کنند و به سرمایهگذاران نیز اجازه میدهد تا تصمیمگیریهای بهتری را برای معاملات خود داشته باشند. از طرف دیگر روشهای مبتنی بر دادهکاوی و ماشین لرنینگ در موسسات مالی کمک میکند تا هرگونه تقلب در تراکنشها تشخیص داده شده و در نتیجه از ضرر رسیدن مالی به این موسسات جلوگیری میکند.
- حوزه خردهفروشی: وبسایتهای خردهفروشی و فروشگاه آنلاین میتوانند از تکنولوژی یادگیری ماشین بهمنظور جمعآوری دادهها و توصیه اقلام و محصولات خود به مشتریان استفاده کنند. روشهای استفاده شده در این حوزه قادر هستند تا سلیقه کاربران و مشتریان را تشخیص داده و بر این اساس پیشنهاداتی را به آنها ارائه دهند. طبق آمارهای منتشر شده انتظار میرود میزان استفاده از موتورهای توصیهگر در سال 2023 تا حد زیادی افزایش پیدا کند.
- صنعت گردشگری و مسافرت: یادگیری ماشین نقش کلیدی و بسیار مهمی را در حوزه صنعت گردشگری و سفر ایفا میکند. خودروهای خودران، سیستمهای پیشنهاددهنده مقصد و دستیارهای صوتی از جمله مهمترین کاربردهای این تکنولوژی در صنعت گردشگری به شمار میآیند. از طرف دیگر سیستمهای حملونقل میتوانند از پردازش و تجزیه و تحلیل دادهها بهمنظور تحلیل نظرات کاربران در حین سفر نیز استفاده کنند.
پیشنهاد مطالعه: کاربردهای هوش مصنوعی
پرسشوپاسخ
در این بخش قصد داریم به برخی از رایجترین سوالات موجود در زمینه یادگیری ماشین پاسخ دهیم.
آیا یادگیری ماشین همان هوش مصنوعی است؟
خیر یادگیری ماشین زیرشاخهای از هوش مصنوعی بوده و کمی متفاوت است.
برای آموختن یادگیری ماشین به چه دانشی نیاز داریم؟
دانش در ریاضیات، برنامهنویسی، جبر، احتمال، آمار و… از جمله موارد موردنیاز برای آموختن این تکنولوژی هستند.
آیا ماشین لرنینگ در آینده نیز کاربرد خواهد داشت؟
بله این تکنولوژی یکی از آیندهدارترین تکنولوژیهای موجود در دنیاست که در آیندهای نزدیک تمامی صنایع را درگیر خواهد کرد.
خلاصه مطلب
یادگیری ماشین یک تکنولوژی جذاب و یکی از زیرشاخههای هوش مصنوعی به شمار میآید که تلاش میکند تا از حجم بالایی از دادهها اطلاعات و بینشی را به دست آورده و یاد بگیرد. این تکنولوژی تلاش میکند تا عملکرد انسانی در زمان یادگیری را شبیهسازی کند. ماشین لرنینگ دارای انواع مختلفی است که از جمله آنها میتوان به یادگیری با نظارت، بدون نظارت و تقویتی اشاره کرد. از طرف دیگر الگوریتمهای مختلفی نیز در هریک از این بخشها مورداستفاده قرار گرفته و کاربردهای مخصوص به خود را دارند.
منابع: