چرا  میخواهیم از یادگیری جمعی(ensemble learning ) استفاده کنیم؟


یادگیری جمعی(ensemble learning) در حوزه یادگیری ماشین شامل تکنیکهایی هست که در آن برای حل یک مسئله، به جای استفاده از یک ماشین، از چندین ماشین به طور همزمان استفاده میکنند. در این بخش میخواهیم بررسی کنیم که چرا می‌خواهیم از یادگیری جمعی استفاده کنیم؟

ما به سه دلیل مختلف علاقه‌مند هستیم که از روشهای یادگیری جمعی در پروژه‌ها استفاده کنیم.

  • سطح اطمینان بالا
  • تعداد داده‌های آموزشی(کم یا زیاد)
  • مسائل پیچیده و سخت

در مورد گزینه اول در جلسه چرا رویکرد یادگیری جمعی امکان‌پذیر هست صحبت کردیم، حال در این بخش میخواهیم  یک حالتی از گزینه دوم را بررسی کنیم و ببنیم چرا بهتره از یادگیری جمعی استفاده کنیم؟!

تعداد داده‌های آموزشی بسیار زیاد

ممکن است در یک مسئله‌ای تعداد داده‌های آموزشی بسیار زیاد باشد و پروسه آموزش برای یک مدل با این حجم از داده زمان بر باشد و یا عملا امکان پذیر نباشد.

پایگاه داده و یادگیری ماشین

در یادگیری ماشین، تعداد پایگاه داده بسیار مهم است و همیشه در تلاش هستیم تا داده های زیادی برای آموزش ماشین داشته باشیم. داده زیاد یعنی دانش بیشتر! یعنی شناخت بهتر فضای ویژگی، یعنی دقت زیاد!

اندرو: “اگر یادگیری ماشین موتور یک موشک باشه، باشه، داده سوخت این موشک خواهد بود. ”

پایگاه داده و یادگیری ماشین

پایگاه داده کم باشد، معنیش این است که مدل در پروسه آموزش با حالتهای مختلف یک مسئله آشنا نشده است، در نتیجه اگر داده‌ی جدیدی ارائه شود که شبیه به نمونه‌های آموزش نباشد در نتیجه به احتمال بسیار زیاد مدل تصمیم درستی نخواهد گرفت.

فضای ویژگی در یادگیری ماشین

برای همین هست که پایگاه داده و تنوع داده برای الگوریتمهای یادگیری ماشین بسیار مهم است و باید تعداد نمونه‌های زیاد و متنوعی از یک مسئله داشته باشیم تا مدل با حالتهای مختلف object آشنا باشد و در عمل بتواند داده های جدید را دسته بندی کند. به عبارتی باید کل فضای ویژگی برای مدل شناخته شده باشد تا بتواند نمونه‌های جدید که در یک نقطه ای از این فضای ویژگی قرار میگیرند را شناسایی کند و تصمیم درستی بگیرد.

یک مثال ساده، فرض کنید شما یک آژانس مسافرتی داخل شهری(در تهران) دارید و یک راننده استخدام کردید برای جابجایی مسافران و هیچ شناختی به شهر تهران ندارد. در ابتدا یک بخش کوچکی از شهر را به راننده معرفی میکنید.

حال یک مسافری به شما خورده است و جایی که میخواهد برود جزء اون بخش شناخته شده برای راننده شما نیست! مطمنا به مشکل خواهد خورد. ولی اگر ما به طور کلی هم شده کل مناطق را به راننده آموزش میدادیم، در شرایط جدید راننده به مشکل نمیخورد. حالا نهایتا آدرسهای جدید یکی دو تا خیابان اینور و اونور خواهند بود .

در بحث یادگیری ماشین هم دقیقا داستان همین است. ما باید به اندازه کافی پایگاه داده داشته باشیم تا مدل براساس آن کل فضای ویژگی را بشناسد. ولی مشکل اینجا این است که اگه پایگاه داده خیلی زیاد باشد، ممکن است عملا نتوان با این حجم از داده یک مدل را آموزش داد!

الان تکلیف چیه؟

از یک طرفی میخواهیم پایگاه داده زیاد و متنوعی داشته باشیم، تا مدل همه فضای ویژگی را بشناسد، از طرفی هم وقتی پایگاه داده زیاد باشد، شاید نتوان مدل را آموزش داد!

راه حل: استفاده از تکنیکهای یادگیری جمعی

مثال همون آژانس مسافرتی را در نظر بگیرید! به جای یک راننده، چندین راننده استخدام کنید. و به هر کدام بخشی از شهر را معرفی کرده اید. حالا هر مسافری بیاد، به یک منطقه‌ای خواهد رفت که حداقل برای یکی از راننده ها شناخته شده است. در نتیجه دیگر مشکل نخواهید داشت. در بحث یادگیری ماشین هم، به جای استفاده کردن از یک مدل، از چندین مدل استفاده میکنیم، و هر کدام از آنها را با بخش کوچکی از پایگاه داده آموزش میدهیم و در اینصورت برای هر مدل تنها یک بخش خاصی از فضای ویژگی شناخته شده خواهد بود.

فضای ویژگی در یادگیری ماشین

و با این روش میتوان تک تک مدلهای یادگیری ماشین را خیلی راحت و بدون دردسر آموزش داد. چرا که برای آموزش هر کدام از مدلها بخش کوچکی از پایگاه داده را استفاده میکنیم. درست است که هر مدل به تنهایی خوب کار نخواهد کرد! ولی همه مدلها کنار هم مطمئنا خوب عمل خواهند کرد. چرا که برای هر کدام از مدلها بخشی از فضای ویژگی شناخته شده است. در نتیجه وقتی کنار هم قرار میگیرند، دانش همه مدلها کنار هم قرار می گیرد و کل فضای ویژگی شناخته شده می شود و همین باعث میشود که کنار هم خوب عمل کنند. با این روش یادگیری جمعی، هم مسئله زمان آموزش مدلهای یادگیری ماشین حل می شود و هم مسئله کل فضای ویژگی شناخته شده می شود.


دیدگاه ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *