یادگیری نظارت شده یا تحت نظارت «Supervised Learning» یک رویکرد مهم در یادگیری ماشین «Machine Learning» و هوش مصنوعی «Artificial Intelligence» است. این روش شامل آموزش «Train» یک مدل با استفاده از دادههای برچسبگذاری «Labeling Data» شده است، به این معنا که هر ورودی «Input» با خروجی «Output» صحیح مربوطه همراه است. این فرآیند شبیه به یک معلم است که دانشآموز را راهنمایی میکند؛ از این رو به آن «یادگیری تحت نظارت» گفته میشود. در این مقاله، اجزای اصلی یادگیری نظارت شده، انواع الگوریتمهای یادگیری ماشین تحت ناظر و چند مثال عملی از نحوه کارکرد آن را بررسی خواهیم کرد.
یادگیری نظارت شده چیست؟
همانطور که پیشتر توضیح دادیم، یادگیری نظارت شده نوعی از یادگیری ماشین است که در آن یک مدل با استفاده از دادههای برچسبگذاری شده آموزش میبیند. به این معنا که هر ورودی با خروجی صحیح مربوطه همراه است. مدل از طریق مقایسه پیشبینیهای خود با پاسخهای واقعی ارائهشده در دادههای آموزشی یاد میگیرد. به مرور زمان مدل ایجاده شده، تنظیماتی را برای کاهش خطاها و بهبود دقت انجام میدهد. هدف یادگیری تحت نظارت این است که هنگام کار با دادههای جدید و دیدهنشده، پیشبینیهای دقیقی انجام دهد.
بهعنوان مثال، اگر مدلی برای شناسایی اعداد دستنویس آموزش داده شود، از آنچه آموخته است برای شناسایی صحیح اعداد جدیدی که قبلاً ندیده استفاده خواهد کرد.
یادگیری نظارت شده میتواند در اشکال مختلفی اعمال شود، از جمله طبقهبندی «Classification» و رگرسیون «Regression» تحت نظارت، که این موضوع آن را به یک تکنیک حیاتی در حوزه هوش مصنوعی و دادهکاوی «Data Mining» تحت نظارت تبدیل میکند.
مفهوم اساسی در یادگیری نظارت شده، یادگیری یک کلاس از روی مثالهاست. این فرآیند شامل ارائه مثالهایی به مدل «Model» است که برچسب صحیح آنها مشخص است، مانند یادگیری طبقهبندی تصاویر گربهها و سگها از طریق مشاهده مثالهای برچسبدار از هر دو. مدل سپس ویژگیهای متمایز هر کلاس را یاد میگیرد و از این دانش برای طبقهبندی تصاویر جدید استفاده میکند.
یادگیری ماشین تحت نظارت چگونه کار میکند؟
الگوریتم یادگیری تحت نظارت شامل ویژگیهای ورودی و برچسبهای خروجی مربوطه است. این فرآیند از مراحل زیر تشکیل میشود:
- دادههای آموزشی «Train Data»: مدل یک مجموعه داده آموزشی دریافت میکند که شامل دادههای ورودی (ویژگیها) و دادههای خروجی مربوطه (برچسبها یا متغیرهای هدف) است.
- فرآیند یادگیری «Learning Process»: الگوریتم، دادههای آموزشی را پردازش کرده و روابط بین ویژگیهای ورودی و برچسبهای خروجی را یاد میگیرد. این کار با تنظیم پارامترهای مدل بهگونهای انجام میشود که اختلاف بین پیشبینیهای مدل و برچسبهای واقعی به حداقل برسد.
پس از آموزش، مدل با استفاده از یک مجموعه داده آزمایشی «Test Data» ارزیابی میشود تا دقت و عملکرد آن اندازهگیری شود. سپس، عملکرد مدل با تنظیم پارامترها و استفاده از تکنیکهایی مانند اعتبارسنجی متقاطع «Cross-Validation» برای تعادلبخشیدن بین «Bias» و واریانس «Variance» بهینهسازی میشود. این کار اطمینان میدهد که مدل بهخوبی با دادههای جدید و دیدهنشده سازگار میشود.
بهطور کلی یادگیری ماشین نظارت شده شامل آموزش یک مدل با استفاده از دادههای برچسبگذاری شده برای یادگیری الگوها و روابط است. سپس مدل از این الگوها برای انجام پیشبینیهای دقیق روی دادههای جدید استفاده میکند.
حال سوال اینجاست که چگونه یک مدل یادگیری ماشین تحت نظارت بر روی یک مجموعه داده آموزش میبیند تا یک تابع نگاشت بین ورودی و خروجی یاد بگیرد و سپس از این تابع یادگرفتهشده برای پیشبینی دادههای جدید استفاده کند؟
در تصویر بالا مرحله آموزش شامل ارائه دادههای برچسبگذاری شده به الگوریتم است، بهطوریکه هر نقطه داده با خروجی صحیح آن همراه است. الگوریتم یاد میگیرد که الگوها و روابط بین دادههای ورودی و خروجی را شناسایی کند و مرحله آزمایش یا تست نیز شامل ارائه دادههای جدید و دیدهنشده به الگوریتم و ارزیابی توانایی آن در پیشبینی خروجی صحیح بر اساس الگوهای یادگرفتهشده است.
انواع یادگیری تحت نظارت در یادگیری ماشین
در ادامه مقاله به انواع یادگیری تحت نظارت در یادگیری ماشین بر اساس نوع مسئله میپردازیم. به طور کلی یادگیری نظارت شده میتواند به دو نوع مسئله اصلی اعمال شود:
- طبقهبندی «Classification»: در نوع طبقهبندی یا کلاسبندی خروجی یک متغیر دستهای است (مانند ایمیلهای اسپم در مقابل غیر اسپم، بله در مقابل خیر).
- رگرسیون «Regression»: در نوع رگرسیون خروجی یک متغیر پیوسته است (مانند پیشبینی قیمت خانه یا قیمت سهام).
در حین آموزش مدل، دادهها معمولاً به نسبت ۸۰ به ۲۰ تقسیم میشوند، یعنی ۸۰% بهعنوان دادههای آموزشی و ۲۰% باقیمانده بهعنوان دادههای تستی. در دادههای آموزشی، ۸۰% دادهها شامل ورودی و خروجی هستند. مدل تنها از دادههای آموزشی یاد میگیرد.
برای ساخت مدل، از الگوریتمهای مختلف یادگیری تحت نظارت (که در بخشهای بعدی بهتفصیل بررسی خواهیم کرد) استفاده میکنیم. برای شروع دادههای مربوط به طبقهبندی و رگرسیون را از طریق جدول زیر در نظر بگیریم:
هر دو شکل فوق دارای مجموعه دادههای برچسبگذاریشده به شرح زیر هستند:
شکل A: یک دیتاست از یک فروشگاه است که برای پیشبینی اینکه آیا مشتری یک محصول خاص را بر اساس جنسیت، سن، و حقوق خریداری خواهد کرد یا نه؟
- ورودی: جنسیت، سن، حقوق
- خروجی: خریداری شده (۰ یا ۱)؛ ۱ یعنی مشتری محصول را خریداری میکند و ۰ یعنی مشتری محصول را خریداری نمیکند.
شکل B: یک دیتاست مربوط به هواشناسی است که هدف آن پیشبینی سرعت باد بر اساس پارامترهای مختلف است.
- ورودی: دما، فشار، رطوبت نسبی، جهت باد
- خروجی: سرعت باد
بر اساس مثالی که برای نوع Classification و Regression آورده شد می توانید درک کاملی از قضیه را داشته باشید. در ادامه به معرفی چند مثال عملی یادگیری نظارت شده پرداخته خواهد شد.
مثالهای عملی یادگیری نظارت شده
در ادامه چند مثال عملی از یادگیری ماشین تحت نظارت در علوم و صنایع مختلف برای آشنایی بیشتر شما عزیزان آورده شده است:
- تشخیص تقلب در بانکداری: استفاده از الگوریتمهای یادگیری تحت نظارت بر روی دادههای تاریخی تراکنشها، آموزش مدلها با مجموعه دادههای برچسبدار از تراکنشهای قانونی و تقلبی برای پیشبینی الگوهای تقلب.
- پیشبینی بیماری پارکینسون: شناسایی بیماری پارکینسون که یک اختلال پیشرونده سیستم عصبی است و بر قسمتهایی از بدن که تحت کنترل اعصاب هستند تأثیر میگذارد.
- پیشبینی ریزش مشتری: استفاده از تکنیکهای یادگیری تحت نظارت برای تحلیل دادههای تاریخی مشتریان و شناسایی ویژگیهای مرتبط با نرخ ریزش برای پیشبینی اثربخش نگهداشت مشتریان.
- طبقهبندی سلولهای سرطانی: اعمال یادگیری تحت نظارت برای طبقهبندی سلولهای سرطانی بر اساس ویژگیهایشان و شناسایی آنها بهعنوان «بدخیم» یا «خوشخیم».
- پیشبینی قیمت سهام: استفاده از یادگیری تحت نظارت برای پیشبینی سیگنالهایی که نشان میدهند خرید یک سهم خاص مفید خواهد بود یا نه.
الگوریتمهای یادگیری ماشین تحت نظارت
یادگیری تحت نظارت را میتوان به چندین نوع مختلف تقسیم کرد که هرکدام ویژگیها و کاربردهای منحصربهفردی دارند. رایجترین الگوریتمهای یادگیری نظارت شده عبارتاند از:
- رگرسیون خطی «Linear Regression»: یک الگوریتم رگرسیون تحت نظارت که برای پیشبینی مقادیر خروجی پیوسته استفاده میشود. این یکی از سادهترین و پرکاربردترین الگوریتمها است.
- رگرسیون لجستیک «Logistic Regression»: یک الگوریتم طبقهبندی تحت نظارت که برای پیشبینی متغیر خروجی دودویی به کار میرود.
- درخت تصمیم «Decision Trees»: ساختاری درختی که برای مدلسازی تصمیمها و نتایج ممکن استفاده میشود. هر گره داخلی درخت نشاندهنده یک تصمیم است، درحالیکه هر گره برگ یک نتیجه ممکن را نشان میدهد.
- جنگل تصادفی «Random Forests»: شامل مجموعهای از درختهای تصمیم است که با یکدیگر کار میکنند تا پیشبینی کنند. هر درخت بر روی یک زیرمجموعه متفاوت از ویژگیها و دادهها آموزش میبیند، و پیشبینی نهایی با تجمیع پیشبینیهای همه درختها انجام میشود.
- ماشین بردار پشتیبان «SVM»: این الگوریتم یک ابرصفحه برای جدا کردن فضای n-بعدی به کلاسها ایجاد میکند و دسته صحیح نقاط داده جدید را شناسایی میکند.
- K نزدیکترین همسایه «KNN»: با یافتن k نمونه آموزشی نزدیک به یک ورودی دادهشده عمل میکند و سپس کلاس یا مقدار را بر اساس کلاس اکثریت یا میانگین این همسایهها پیشبینی میکند.
- گرادیان بوستینگ «Gradient Boosting»: ترکیبی از مدلهای ضعیف مانند درختهای تصمیم برای ایجاد یک مدل قویتر. این الگوریتم بهصورت تکراری مدلهای جدیدی میسازد که خطاهای مدلهای قبلی را اصلاح میکنند.
- الگوریتم نیو بیز «Naive Bayes»: الگوریتمی مبتنی بر قضیه بیز که فرض استقلال ویژگیها را با توجه به برچسب کلاس میپذیرد.
انواع یادگیری نظارت شده در یادگیری ماشین با توجه به نوع مسئلهای که باید حل شود و مجموعه دادهای که با آن کار میکنید، متفاوت است. در مسائل طبقهبندی، هدف تخصیص ورودیها به کلاسهای از پیش تعریفشده است، درحالیکه مسائل رگرسیون شامل پیشبینی نتایج عددی هستند.
مراحل آموزش مدل یادگیری تحت نظارت
هدف یادگیری تحت نظارت تعمیمدهی مناسب به دادههای دیدهنشده است. آموزش یک مدل یادگیری تحت نظارت شامل چندین مرحله مهم است که هرکدام برای آمادهسازی مدل برای پیشبینیها یا تصمیمات دقیق بر اساس دادههای برچسبگذاریشده طراحی شدهاند. مراحل کلیدی عبارتاند از:
- جمعآوری و پیشپردازش دادهها: جمعآوری مجموعه داده برچسبگذاریشده که شامل ویژگیهای ورودی و برچسبهای خروجی هدف باشد. پاکسازی دادهها، مدیریت مقادیر گمشده و مقیاسبندی ویژگیها برای اطمینان از کیفیت بالای دادهها برای الگوریتمهای یادگیری تحت نظارت.
- تقسیم دادهها: تقسیم دادهها به مجموعه آموزشی (۸۰%) و مجموعه آزمایشی (۲۰%).
- انتخاب مدل: انتخاب الگوریتمهای مناسب بر اساس نوع مسئله. این گام برای یادگیری تحت نظارت در هوش مصنوعی بسیار مهم است.
- آموزش مدل: ارائه دادههای ورودی و برچسبهای خروجی به مدل، بهطوریکه بتواند با تنظیم پارامترهای داخلی خود الگوها را یاد بگیرد.
- ارزیابی مدل: آزمایش مدل آموزشدیده بر روی مجموعه آزمایشی و ارزیابی عملکرد آن با استفاده از معیارهای مختلف.
- تنظیم ابرپارامترها: تنظیم پارامترهایی که فرآیند آموزش را کنترل میکنند (مانند نرخ یادگیری) با استفاده از تکنیکهایی مانند جستجوی شبکهای و اعتبارسنجی متقابل.
- انتخاب و آزمایش مدل نهایی: آموزش مجدد مدل با استفاده از کل مجموعه داده و آزمایش عملکرد آن با بهترین ابرپارامترها برای اطمینان از آمادگی برای استفاده عملی.
- استقرار مدل: استقرار مدل تأییدشده برای انجام پیشبینیها بر روی دادههای جدید و دیدهنشده.
مزایا یادگیری تحت نظارت
- پیشبینی دقیق الگوها و اتخاذ تصمیمات مبتنی بر داده.
- نیاز به دادههای برچسبگذاریشده برای یادگیری مؤثر روابط ورودی و خروجی.
- کاربرد در مسائل پیچیده مانند تشخیص تصویر و پردازش زبان طبیعی.
- وجود معیارهای ارزیابی معتبر (دقت، یادآوری، F1-Score) برای ارزیابی عملکرد مدل.
- قابلیت ایجاد مدلهای پیچیده برای پیشبینی دقیق بر روی دادههای جدید.
معایب یادگیری تحت نظارت
- بیشبرازش (Overfitting): ممکن است مدلها بیشازحد به دادههای آموزشی وابسته شوند و عملکرد ضعیفی بر روی دادههای جدید داشته باشند.
- مهندسی ویژگیها: استخراج ویژگیهای مرتبط میتواند زمانبر و نیازمند تخصص دامنه باشد.
- تعصب در مدلها: تعصب در دادههای آموزشی ممکن است منجر به پیشبینیهای ناعادلانه شود.
- وابستگی به دادههای برچسبگذاریشده: برچسبگذاری دادههای آموزشی هزینهبر و زمانبر است.
نتیجهگیری
یادگیری تحت نظارت یکی از شاخههای قدرتمند یادگیری ماشین است که حول محور یادگیری از نمونههای ارائهشده در طول آموزش میچرخد. با استفاده از الگوریتمهای یادگیری تحت نظارت، مدلها میتوانند بر اساس دادههای برچسبگذاریشده آموزش ببینند تا پیشبینیهای دقیقی انجام دهند. تأثیر یادگیری تحت نظارت در یادگیری ماشین روزبهروز بیشتر شده و نقش مهمی در پیشرفت راهحلهای مبتنی بر هوش مصنوعی ایفا میکند.
خوب و عالی توضیح داده شده است. سپاس