یادگیری گروهی
یادگیری گروهی یا یادگیری جمعی (Ensemble Learning) یکی از مباحث مهم و کاربردی در یادگیری ماشین هست. این مبحث از سری جلسات آموزش یادگیری ماشین رایگان هست. با من و هوسم همراه باشید…
یادگیری گروهی یا Ensemble Learning چیست؟
یادگیری گروهی یا Ensemble Learning برای ما انسانها کاملا قابل فهم هست. ما انسانها به خرد جمعی یا Wisdom of the crowd اعتقاد داریم. منظور از خرد جمعی این هست که بجای لحاظ کردن نظر یک نفر، نظر مجموعهای گوناگون از افراد را داشته باشیم. پس با موضوع جالبی در یادگیری ماشین سروکار داریم. در زیر تعریف یادگیری گروهی یا Ensemble Learning را برای شما آوردهام:
ترکیب بهینه چند مدل یادگیری ماشین برای پیش بینی دقیقتر و مقاومتر
چطور هست کمی درباره عبارتهای تعریف بالا بیشتر صحبت کنم؟
- چند مدل یادگیری ماشین: مانند خرد جمعی هم اینجا چند مدل یادگیری ماشین داریم.
- ترکیب بهینه: مهم هست که مدلهای یادگیری ماشین را چگونه ترکیب کنیم.
- پیش بینی دقیقتر: انتظار داریم که ترکیب بهینه مدلها ما را به دقت بالاتری نسبت به مدلهای تکی برساند.
- پیش بینی مقاومتر: مهم هست که مدل ما نسبت به دادههای نویزی یا چالشی نسبت به مدلهای تکی مقامتر باشد.
درادامه، میخواهم با یک مثال ساده شما را با مدل یادگیری جمعی آشنا کنم. این مثال را خیلی دقیق بررسی کنید.
مثال ساده از یادگیری گروهی
دیتاستی بنام حمله قلبی (Kaggle Heart Attack) داریم که یک مساله دسته بندی دوکلاسه هست. میخواهم یک مدل یادگیری گروهی ساده روی این دیتاست آموزش دهم. یک نمونه ساده از مدل یادگیری گروهی برای این مساله در شکل زیر آوردهام. روشهای یادگیری گروهی متنوع هستند و شما یک حالت ساده را میبینید. مدل گروهی ما، ترکیبی از سه مدل ماشین بردار پشتیبان (Support Vector Machine)، رگرسیون لجستیک (Logistic Regression) و درخت تصمیم (Decision Tree) را نشان میدهد.
لازم هست درباره فرآیند آموزش و ارزیابی این مدل توضیح دهم:
- آموزش مدل یادگیری گروهی: هریک از مدلهای موجود در مدل گروهی باید بهصورت جداگانه آموزش ببینند. یعنی، مدل SVM را جداگانه روی دیتاست حمله قلبی آموزش میدهم. سپس، میروم سراغ مدل بعدی و … دقت کنید که در این مرحله هیچ صحبتی از یادگیری گروهی نیست. صرفا من سه مدل ساده دارم که درحال آموزش آنها بهصورت جداگانه هستم.
- ارزیابی مدل یادگیری گروهی: وقتی مدلها بهصورت جداگانه آموزش دیدند، آنها را در داخل ساختار شکل بالا قرار میدهم. مربعهای زرد رنگ، پیش بینی مدلها برای یک نمونه داده تستی هست. این پیش بینی ها در اختیار بلوک رایگیری (Majority Voting) قرار میگیرند. این بلوک هم کلاس نهایی را براساس بیشترین تکرار تعیین میکند. به عنوان نمونه، اگر دو مدل به کلاس 1 و یک مدل به کلاس 0 رای دادهاند، خروجی نهایی کلاس 1 میشود.
براساس توضیحات بالا، تکتک مدلها را روی دیتاست حمله قلبی آموزش دادم. نتیجه را در جدول زیر میتوانید مشاهده کنید؛ بهترین دقت را مدل SVM و KNN با 88.52% دارند. وقتی این سه مدل را در ساختار مدل گروهی شکل بالا قرار دادم، دقت به 90.16% رسید. جالب هست نه؟! یعنی، ترکیب چند متخصص باعث شد که ما بتوانیم افراد بیشتری را خطر حمله قلبی نجات دهیم.
نکته یادتان باشد، مدلهای تکی بالا نباید شبیه هم عمل کنند. اگر سه مدل داشته باشیم که پیش بینی درست و غلط آنها دقیقا مشابه هم باشد، آن وقت دیگر ترکیب آنها و ساخت مدل گروهی اصولا بی معنا میشود. متوجه هستید چه میگویم؟ درمورد این نکته خیلی فکر کنید.
انواع روشهای یادگیری گروهی
یادگیری گروهی مبحث وسیعی است. به تنهایی میتواند یک دوره آموزشی باشد. اما، بهصورت کلی چهار رهیافت رایج در یادگیری گروهی وجود دارد که برای شروع باید اینها را یاد بگیرید. این چهار رهیافت عبارتاستاز:
- رهیافت Bagging
- رهیافت Boosting
- رهیافت Stacking
- رهیافت Voting
درادامه، درباره هریک از این رهیافتها بهصورت مجزا توضیح میدهم.
این آموزش ادامه داره، اما تا الان چطور بود؟ دوست داشتید؟ لطفا نظرتون رو بگید. ممنون.
دیدگاهتان را بنویسید