🌀یادگیری جمعی (ensemble learning): فلسفه اصلی یادگیری جمعی این است که به جای اتکا به یک مدل منفرد، چندین مدل در کنار هم برای حل یک مسئله به کار گرفته شوند. این رویکرد با ترکیب خروجی مدلهای مختلف، عملکرد کلی را بهبود میدهد و در بسیاری از موارد، خطای تعمیم (Generalization Error) را نسبت به یک مدل تکی کاهش میدهد. به عبارت دیگر، یادگیری جمعی احتمال بروز underfitting و overfitting را کاهش میدهد. اما نکته مهم در اینجا، روش ترکیب و هماهنگی بین مدلها است.
به طور کلی تکنیکهای یادگیری جمعی به چهار دسته تقسیم می شوند که در ادامه هر کدام را به صورت مختصر بررسی میکنیم.
1️⃣روش Voting: ساده ترین روش یادگیری جمعی. چندین مدل با ساختار متفاوت یا مشابه آموزش میبینند و تصمیم نهایی با رأی گیری از مدلها انجام میشود.
در مسائل طبقه بندی: هر مدل یک لیبل برای داده ورودی پیش بینی میکند، و مقداری که بیشترین رأی را بیاورد، خروجی نهایی خواهد بود.
در رگرسیون: خروجی نهایی از میانگینِ خروجی مدلها محاسبه میشود.
🔹 مزیت: تصمیم گیری جمعی و کاهش بایاس مدل.
🔸 ایراد: رأی همه مدلها یکسان در نظر گرفته می شود، حتی اگر دقت برخی مدلها باهوش تر باشند!
2️⃣روش Stacking: مشابه Voting است، اما به جای رأیگیری ساده، از یک مدل یادگیرنده (معمولاً رگرسیون یا طبقه بندی خطی) استفاده میشود که یاد میگیرد چگونه خروجی مدلهای قبلی را وزندهی کند.
🔹 مزیت: رای گیری وزندار و منعطف تر از voting
🔸 ایراد: پیچیدگی بیشتر و نیاز به تنظیم دقیق. همچنین مثل voting، از استراتژی خاصی برای بهبود عملکرد مدل پایه استفاده نمیکند.
3️⃣روش Bagging (Bootstrap Aggregating): برای کاهش overfitting طراحی شده است. مدل پایه (معمولاً مدلی با واریانس بالا مانند درخت تصمیم) روی نمونههای تصادفی مختلف از دادهها آموزش داده میشود.
در پروسه تصمیم گیری هر مدل خروجی جداگانه میدهد و خروجی نهایی از ترکیب آنها (مثلاً رأی گیری یا میانگین گیری) به دست میآید.
🔹 مزیت: مناسب برای دادههایی با احتمال overfitting یا تعداد داده کم.
🔸 ایراد: نیاز به تعداد زیادی مدل دارد و اگر داده overfitting نداشته باشد، مزیت چندانی ندارد.
4️⃣روش Boosting: برخلاف Bagging که مدلها به صورت مستقل آموزش میبینند، در Boosting مدلها به صورت ترتیبی و با تمرکز بر اصلاح خطاهای مدل قبلی آموزش داده میشوند: Adaboost یکی از روشهای مشهور در این گروه است.
🔹 مزیت: مناسب برای حل مسائل سخت و بهبود چشمگیر دقت در بسیاری از موارد.
🔸 ایراد: مستعد overfitting است و مدل پایه باید ضعیف باشد (یعنی کمی بهتر از تصادفی عمل کند- برای مثال حدودا 55-65 درصد برای مسائل دو کلاسه)، وگرنه باعث افت دقت میشود.
نتیجهگیری:
تکنیکهایEnsemble Learning نه تنها یک ترفند ساده، بلکه یک استراتژی قدرتمند برای ساخت مدلهای پایدار و دقیق در مسائل یادگیری ماشین هستند. انتخاب روش مناسب بستگی به نوع داده، مدل پایه، و هدف شما از آموزش دارد.
💡کد متلب و پایتون روشهای یادگیری جمعی
https://onlinebme.com/ensemble-learning-matlab-and-python-codes/
🏢 آکادمی آنلاین مهندسی پزشکی و هوش مصنوعی
@Onlinebme
Post #4256
1.62K
Onlinebme قدرت در اتحاد است، اما اتحادی هدفمند و ساختار یافته! @onlinebme
- 🙏 7
- 👍 5