وبلاگ
یادگیری گروهی چیست؟ راهنمای Ensemble Learning و روشهای آن
یادگیری گروهی یا Ensemble Learning یکی از روشهای مهم در یادگیری ماشین است که در آن خروجی چند مدل با یکدیگر ترکیب میشود تا یک پیشبینی نهایی ایجاد شود. ایده اصلی ساده است: به جای اینکه تنها به یک مدل برای حل مسئله اعتماد کنیم، چند مدل را آموزش میدهیم و از ترکیب نتایج آنها برای رسیدن به یک تصمیم بهتر استفاده میکنیم.
برای مثال، فرض کنید چند مدل مختلف برای پیشبینی احتمال تقلب در یک تراکنش بانکی ساختهایم. ممکن است هر مدل در بخشی از دادهها عملکرد متفاوتی داشته باشد. اگر بتوانیم خروجی این مدلها را به شکل مناسبی ترکیب کنیم، نتیجه نهایی ممکن است نسبت به بسیاری از مدلهای منفرد دقیقتر و پایدارتر باشد.
Ensemble Learning در مسائل Classification، Regression و بسیاری از کاربردهای پیشبینی مورد استفاده قرار میگیرد و الگوریتمهایی مانند Random Forest و خانواده الگوریتمهای Boosting از شناختهشدهترین نمونههای آن هستند.
تعریف کوتاه: یادگیری گروهی یا Ensemble Learning روشی در یادگیری ماشین است که با ترکیب خروجی چند مدل، تلاش میکند پیشبینی نهایی دقیقتر، پایدارتر یا مقاومتری نسبت به یک مدل منفرد ایجاد کند.
سرفصل محتوا:
یادگیری گروهی چیست؟
در یک مدل معمولی یادگیری ماشین، یک الگوریتم روی دادههای آموزشی یاد میگیرد و سپس برای دادههای جدید پیشبینی انجام میدهد. در Ensemble Learning به جای استفاده از یک مدل، مجموعهای از مدلها یا Base Learners ساخته میشوند و خروجی آنها با یک روش مشخص ترکیب میشود.
هر مدل ممکن است بخشی از الگوهای موجود در داده را بهتر یاد بگیرد و در بخش دیگری عملکرد ضعیفتری داشته باشد. اگر مدلهای موجود در Ensemble به اندازه کافی متفاوت باشند، خطاهای آنها میتوانند تا حدی یکدیگر را خنثی کنند.
به همین دلیل، کیفیت یک Ensemble فقط به تعداد مدلها وابسته نیست. تنوع مدلها نیز اهمیت زیادی دارد. اگر تمام مدلها دقیقاً یک خطا را تکرار کنند، ترکیب آنها لزوماً باعث بهبود نتیجه نمیشود.
چرا چند مدل را با هم ترکیب میکنیم؟
هدف اصلی Ensemble Learning این نیست که صرفاً تعداد بیشتری مدل داشته باشیم. هدف، استفاده از نقاط قوت مدلهای مختلف و کاهش اثر خطاهای یک مدل منفرد است.
Weak Learner چیست؟
Weak Learner مدلی است که عملکرد آن بهتر از یک حد پایه یا تصادفی است، اما به تنهایی ممکن است برای رسیدن به عملکرد مطلوب کافی نباشد.
در برخی روشهای Ensemble، تعداد زیادی مدل نسبتاً ساده با یکدیگر ترکیب میشوند و خروجی مجموعه میتواند بسیار قدرتمندتر از هر مدل منفرد باشد.
Model Diversity چیست؟
Model Diversity به تفاوت میان مدلهای تشکیلدهنده Ensemble اشاره دارد. این تفاوت میتواند از روشهای مختلفی ایجاد شود؛ برای مثال، مدلها میتوانند با نمونههای متفاوتی از داده آموزش ببینند، از ویژگیهای متفاوت استفاده کنند یا الگوریتمهای متفاوتی داشته باشند.
اگر مدلها کاملاً مشابه باشند و دقیقاً همان خطاها را ایجاد کنند، ترکیب آنها ارزش محدودی خواهد داشت. بنابراین در طراحی Ensemble، ایجاد تعادل میان دقت مدلها و تنوع آنها اهمیت دارد.
کاهش Bias و Variance
یکی از دلایل استفاده از Ensemble Learning، کنترل خطاهای ناشی از Bias و Variance است.
- Bias: خطایی که از ساده بودن بیش از حد مدل و ناتوانی آن در یادگیری الگوی واقعی داده ناشی میشود.
- Variance: حساسیت بیش از حد مدل به نمونههای آموزشی و تغییر زیاد عملکرد آن در برابر دادههای متفاوت.
روشهای مختلف Ensemble رفتار یکسانی ندارند. برای مثال، Bagging معمولاً به کاهش Variance کمک میکند، در حالی که روشهای Boosting میتوانند با ساخت تدریجی مدلها، خطاهای مدلهای قبلی را کاهش دهند.
روشهای اصلی Ensemble Learning
روشهای Ensemble را میتوان بر اساس نحوه ساخت و ترکیب مدلها به چند گروه مهم تقسیم کرد:
- Bagging: آموزش چند مدل روی نمونههای متفاوت از داده و ترکیب خروجی آنها.
- Pasting: مشابه Bagging، اما نمونهبرداری بدون جایگزینی.
- Boosting: آموزش ترتیبی مدلها به شکلی که مدلهای بعدی تلاش میکنند خطاهای قبلی را کاهش دهند.
- Voting: ترکیب مستقیم پیشبینی چند مدل با رأیگیری یا میانگینگیری.
- Stacking: استفاده از یک مدل دیگر برای یادگیری نحوه ترکیب خروجی مدلهای پایه.
- Blending: روشی مشابه Stacking که معمولاً از یک مجموعه داده جداگانه برای ترکیب خروجی مدلهای پایه استفاده میکند.
Bagging چیست؟
Bagging مخفف Bootstrap Aggregating است. در این روش، چند نمونه آموزشی از مجموعه داده اصلی ساخته میشود و هر مدل روی یکی از این نمونهها آموزش میبیند. در نمونهگیری Bootstrap، انتخاب نمونهها با جایگزینی انجام میشود.
فرض کنید یک مجموعه داده با ۱۰٬۰۰۰ نمونه داریم. میتوان چندین مجموعه آموزشی Bootstrap ایجاد کرد و هر کدام را در اختیار یک مدل قرار داد. چون نمونهگیری با جایگزینی انجام میشود، ممکن است یک نمونه چندین بار در مجموعه آموزشی یک مدل ظاهر شود و برخی نمونههای دیگر اصلاً انتخاب نشوند.
پس از آموزش مدلها، خروجی آنها ترکیب میشود. در Classification معمولاً از رأیگیری و در Regression معمولاً از میانگین پیشبینیها استفاده میشود.
Bagging و Pasting چه تفاوتی دارند؟
Pasting از نظر ایده کلی مشابه Bagging است، اما نمونهگیری در آن بدون جایگزینی انجام میشود.
| ویژگی | Bagging | Pasting |
|---|---|---|
| روش نمونهگیری | با جایگزینی | بدون جایگزینی |
| تکرار یک نمونه در یک مجموعه | ممکن است | خیر |
| هدف اصلی | ایجاد تنوع میان مدلها | ایجاد تنوع با نمونهگیری بدون جایگزینی |
Boosting چیست؟
Boosting یکی از مهمترین خانوادههای Ensemble Learning است. برخلاف Bagging که مدلها معمولاً به صورت مستقل و موازی آموزش داده میشوند، در Boosting مدلها به شکل ترتیبی ساخته میشوند.
ایده اصلی این است که هر مدل جدید تلاش کند نقاط ضعف مدلهای قبلی را کاهش دهد. بنابراین مدلهای بعدی به نوعی به خطاهای مراحل قبلی توجه میکنند.
به صورت ساده میتوان فرایند را اینگونه تصور کرد:
- مدل اول روی داده آموزش داده میشود.
- خطاهای مدل شناسایی میشوند.
- مدل بعدی تلاش میکند این خطاها را بهتر یاد بگیرد.
- این روند چندین بار تکرار میشود.
- خروجی مدلهای ساختهشده در یک Ensemble نهایی ترکیب میشود.
از الگوریتمهای شناختهشده این خانواده میتوان به AdaBoost، Gradient Boosting و الگوریتمهای مدرنتری مانند XGBoost اشاره کرد.
AdaBoost
AdaBoost یا Adaptive Boosting یکی از روشهای کلاسیک Boosting است. در این روش، نمونههایی که مدلهای قبلی روی آنها عملکرد ضعیفتری داشتهاند، در مراحل بعدی اهمیت بیشتری پیدا میکنند.
مدلهای پایه معمولاً ساده هستند و هر مرحله به تدریج Ensemble را بهبود میدهد. در پایان، پیشبینی مدلها با وزنهای متفاوت در نتیجه نهایی مشارکت میکند.
Gradient Boosting
در Gradient Boosting مدلها به صورت ترتیبی ساخته میشوند و هر مدل جدید تلاش میکند بخشی از خطای باقیمانده مدل قبلی را کاهش دهد.
این روش پایه بسیاری از الگوریتمهای قدرتمند Gradient Boosting در یادگیری ماشین است و در مسائل Classification و Regression کاربرد گستردهای دارد.
XGBoost
XGBoost یکی از پیادهسازیهای بسیار شناختهشده خانواده Gradient Boosting است که برای مسائل جدولی و بسیاری از مسائل پیشبینی عملکرد بسیار خوبی دارد.
بهینهسازی عملکرد، کنترل پیچیدگی مدل و امکانات مختلف برای تنظیم مدل باعث شده است XGBoost به یکی از الگوریتمهای محبوب در پروژههای دادهکاوی و Machine Learning تبدیل شود.
Voting چیست؟
در روش Voting چند مدل مستقل پیشبینی خود را ارائه میکنند و یک روش مشخص، خروجی آنها را ترکیب میکند.
در Classification میتوان از Hard Voting استفاده کرد؛ یعنی کلاسی انتخاب شود که بیشترین رأی را از مدلها دریافت کرده است.
در Soft Voting، احتمالهای پیشبینیشده توسط مدلها ترکیب میشوند. این روش زمانی مناسب است که مدلها بتوانند احتمال مربوط به کلاسها را ارائه کنند.
در Regression نیز میتوان خروجی عددی چند مدل را میانگین گرفت یا با وزنهای مختلف ترکیب کرد.
Stacking چیست؟
Stacking یا Stacked Generalization روشی است که در آن خروجی چند مدل پایه به یک مدل دیگر داده میشود. این مدل دوم که به آن Meta-Learner گفته میشود، یاد میگیرد چگونه پیشبینی مدلهای مختلف را با یکدیگر ترکیب کند.
برای مثال، فرض کنید سه مدل داریم:
- Logistic Regression
- Random Forest
- Support Vector Machine
هر سه مدل یک پیشبینی تولید میکنند. به جای اینکه صرفاً رأیگیری کنیم، میتوانیم این خروجیها را به یک Meta-Learner بدهیم تا یاد بگیرد در چه شرایطی باید به پیشبینی هر مدل وزن بیشتری بدهد.
در نتیجه، Stacking انعطاف بیشتری نسبت به یک روش ساده رأیگیری دارد؛ اما طراحی و ارزیابی صحیح آن نیز پیچیدهتر است.
Blending چیست؟
Blending از نظر ایده به Stacking شباهت دارد. در هر دو روش، خروجی مدلهای پایه برای ایجاد پیشبینی نهایی ترکیب میشود.
تفاوت اصلی در نحوه آمادهسازی داده برای Meta-Learner است. در Blending معمولاً بخشی از دادههای آموزشی به عنوان مجموعه اعتبارسنجی نگه داشته میشود و خروجی مدلهای پایه روی این داده برای آموزش مدل ترکیبکننده استفاده میشود.
به همین دلیل، Blending را میتوان نسخهای سادهتر از Stacking در نظر گرفت، هرچند نحوه پیادهسازی و ارزیابی میتواند بسته به مسئله متفاوت باشد.
Random Forest چیست؟
Random Forest یکی از معروفترین الگوریتمهای Ensemble Learning است که از مجموعهای از Decision Treeها تشکیل میشود.
ایده Random Forest فقط ساخت چند درخت نیست. این الگوریتم از چند منبع تنوع استفاده میکند. درختها معمولاً روی نمونههای Bootstrap متفاوت آموزش میبینند و هنگام ساخت هر تقسیم، از زیرمجموعهای تصادفی از ویژگیها استفاده میشود.
در نهایت، خروجی درختها با یکدیگر ترکیب میشود. در Classification معمولاً از رأیگیری و در Regression از میانگین پیشبینیها استفاده میشود.

یکی از مزیتهای مهم Random Forest این است که ترکیب چند درخت میتواند نسبت به یک Decision Tree منفرد، حساسیت به دادههای آموزشی و خطر بیشبرازش را در بسیاری از مسائل کاهش دهد.
برای آشنایی عمیقتر با این الگوریتم میتوانید مقاله جنگل تصادفی (Random Forest) را مطالعه کنید.
یادگیری ماشین را از تئوری به پروژه واقعی ببرید
اگر میخواهید الگوریتمهای یادگیری ماشین را فقط حفظ نکنید و بتوانید آنها را در پروژههای واقعی به کار بگیرید، مسیر یادگیری Machine Learning میتواند نقطه شروع مناسبی باشد.
مقایسه روشهای Ensemble Learning
| روش | نحوه آموزش | نحوه ترکیب | نمونه شناختهشده |
|---|---|---|---|
| Bagging | موازی و مستقل | رأی یا میانگین | Random Forest |
| Boosting | ترتیبی | ترکیب وزندار یا مدلسازی خطا | AdaBoost / XGBoost |
| Voting | مدلهای مستقل | رأی یا میانگین | Voting Classifier |
| Stacking | مدلهای پایه + Meta-Learner | یادگیری نحوه ترکیب | Stacking Classifier |
| Blending | مدلهای پایه + داده اعتبارسنجی | مدل ترکیبکننده | Blended Ensemble |
کاربردهای Ensemble Learning
Ensemble Learning در بسیاری از مسائل پیشبینی و طبقهبندی استفاده میشود؛ بهخصوص زمانی که عملکرد و پایداری مدل اهمیت زیادی دارد.
تشخیص تقلب
در سیستمهای بانکی و پرداخت، مدلهای Ensemble میتوانند برای شناسایی تراکنشهایی که احتمال رفتار غیرعادی یا تقلبی دارند استفاده شوند. ترکیب چند مدل میتواند در برخی سناریوها نسبت به تکیه بر یک مدل منفرد، قدرت تشخیص را افزایش دهد.
امنیت سایبری
در سیستمهای امنیتی، دادههایی مانند رفتار شبکه، لاگها و الگوهای دسترسی میتوانند برای شناسایی فعالیتهای مشکوک مورد استفاده قرار گیرند. Ensemble Learning میتواند در Classification و Anomaly Detection به کار گرفته شود.
پیشبینی مالی
مدلهای Ensemble میتوانند برای مسائلی مانند ارزیابی ریسک اعتباری، پیشبینی احتمال نکول، تحلیل رفتار مالی و سایر مسائل پیشبینی استفاده شوند.
بازاریابی و رفتار مشتری
پیشبینی ریزش مشتری، طبقهبندی مشتریان، پیشبینی احتمال خرید و تحلیل رفتار کاربران از جمله کاربردهایی هستند که میتوانند از مدلهای Ensemble بهره ببرند.
پزشکی و زیستداده
در برخی مسائل پزشکی و زیستداده، Ensemble Learning میتواند برای طبقهبندی نمونهها، پیشبینی ریسک و تحلیل دادههای پیچیده مورد استفاده قرار گیرد. با این حال، در کاربردهای حساس پزشکی، ارزیابی دقیق مدل، اعتبارسنجی و تفسیرپذیری اهمیت ویژهای دارد.
پیشبینی و نگهداری تجهیزات
در سیستمهای صنعتی، دادههای حسگرها میتوانند برای پیشبینی خرابی تجهیزات یا شناسایی رفتارهای غیرعادی استفاده شوند. مدلهای Ensemble یکی از گزینههای موجود برای ساخت چنین سیستمهای پیشبینی هستند.
مزایای Ensemble Learning
- بهبود عملکرد: ترکیب چند مدل میتواند در بسیاری از مسائل عملکرد پیشبینی را افزایش دهد.
- کاهش Variance: برخی روشها مانند Bagging میتوانند حساسیت مدل را نسبت به تغییرات داده کاهش دهند.
- پایداری بیشتر: ترکیب چند مدل میتواند وابستگی به رفتار یک مدل منفرد را کاهش دهد.
- استفاده از مدلهای متنوع: میتوان مدلهایی با ساختارها و نقاط قوت متفاوت را ترکیب کرد.
- انعطافپذیری: Ensembleها برای Classification و Regression و طیف وسیعی از مسائل قابل استفاده هستند.
محدودیتهای Ensemble Learning
با وجود مزایای Ensemble Learning، استفاده از چندین مدل همیشه بهترین انتخاب نیست.
- هزینه محاسباتی: آموزش و اجرای تعداد زیادی مدل میتواند به منابع محاسباتی بیشتری نیاز داشته باشد.
- پیچیدگی بیشتر: یک Ensemble ممکن است از یک مدل منفرد دشوارتر پیادهسازی و نگهداری شود.
- تفسیرپذیری کمتر: تحلیل تصمیم یک مدل ساده معمولاً راحتتر از تحلیل صدها مدل است.
- خطر بیشبرازش: روشهایی مانند Stacking یا Boosting در صورت طراحی یا تنظیم نامناسب میتوانند روی داده آموزشی بیش از حد یاد بگیرند.
- زمان بیشتر برای Inference: اگر برای یک پیشبینی لازم باشد چندین مدل اجرا شوند، زمان پاسخ ممکن است افزایش پیدا کند.
چه زمانی از Ensemble Learning استفاده کنیم؟
Ensemble Learning زمانی گزینه مناسبی است که یک مدل منفرد نتواند عملکرد موردنظر را ارائه کند و ترکیب چند مدل بتواند خطاهای آنها را کاهش دهد.
با این حال، بهتر است ابتدا یک Baseline Model ساخته شود. سپس میتوان عملکرد مدلهای پیچیدهتر و Ensemble را با آن مقایسه کرد.
در انتخاب Ensemble باید مواردی مانند موارد زیر بررسی شوند:
- اندازه و ساختار داده
- نوع مسئله
- اهمیت سرعت Prediction
- نیاز به Explainability
- منابع محاسباتی
- میزان بهبود واقعی نسبت به مدل سادهتر
اگر یک Ensemble تنها مقدار بسیار کمی بهتر از یک مدل سادهتر عمل کند اما هزینه و پیچیدگی آن چند برابر باشد، استفاده از آن ممکن است توجیه عملی نداشته باشد.
Ensemble Learning در یادگیری ماشین و هوش مصنوعی
Ensemble Learning بخشی از اکوسیستم گستردهتر یادگیری ماشین است. بسیاری از روشهای Ensemble مستقیماً برای مسائل Supervised Learning مانند Classification و Regression استفاده میشوند.
در عین حال، ایده ترکیب چند مدل تنها به الگوریتمهای کلاسیک Machine Learning محدود نیست. در سیستمهای پیچیدهتر نیز میتوان چند مدل یا چند روش پیشبینی را ترکیب کرد تا یک سیستم نهایی مقاومتر ایجاد شود.
بنابراین Ensemble Learning را نباید صرفاً یک الگوریتم خاص در نظر گرفت. Ensemble بیشتر یک راهبرد برای ساخت سیستمهای پیشبینی است که میتواند با الگوریتمها و معماریهای مختلف پیادهسازی شود.
مسیر یادگیری Ensemble Learning از کجا شروع میشود؟
یادگیری Ensemble Learning بهتر است بعد از یادگیری مفاهیم پایه Machine Learning انجام شود. یک مسیر پیشنهادی میتواند به این شکل باشد:
- مبانی Python و کار با داده
- آمار و احتمال مقدماتی
- Data Preprocessing
- Supervised Learning
- Classification و Regression
- Decision Tree
- Overfitting و Underfitting
- Bias و Variance
- Bagging و Random Forest
- Boosting و AdaBoost
- Gradient Boosting و XGBoost
- Voting و Stacking
- Model Evaluation و Cross Validation
- اجرای پروژه واقعی با Ensemble Learning
اگر هنوز در ابتدای مسیر هستید، بهتر است ابتدا مفاهیم پایه یادگیری ماشین را یاد بگیرید و سپس به سراغ Ensemble Learning و الگوریتمهای پیشرفتهتر بروید.
سؤالات متداول درباره Ensemble Learning
یادگیری گروهی یا Ensemble Learning چیست؟
یادگیری گروهی روشی در یادگیری ماشین است که خروجی چند مدل را با یکدیگر ترکیب میکند تا پیشبینی نهایی دقیقتر، پایدارتر یا مقاومتری ایجاد شود. Bagging، Boosting، Voting و Stacking از روشهای شناختهشده Ensemble Learning هستند.
چرا از Ensemble Learning استفاده میکنیم؟
هدف اصلی Ensemble Learning استفاده از نقاط قوت مدلهای مختلف و کاهش اثر خطاهای یک مدل منفرد است. بسته به روش انتخابشده، Ensemble میتواند به کاهش Variance، کاهش خطا یا بهبود عملکرد کلی کمک کند.
مهمترین روشهای Ensemble Learning کداماند؟
Bagging، Pasting، Boosting، Voting، Stacking و Blending از مهمترین روشهای Ensemble Learning هستند. Random Forest یکی از شناختهشدهترین نمونههای Bagging و XGBoost یکی از الگوریتمهای مشهور خانواده Gradient Boosting است.
تفاوت Bagging و Boosting چیست؟
در Bagging، مدلها معمولاً مستقل از یکدیگر و به صورت موازی روی نمونههای متفاوت داده آموزش داده میشوند. در Boosting، مدلها به صورت ترتیبی ساخته میشوند و مدلهای بعدی تلاش میکنند خطاهای مدلهای قبلی را کاهش دهند.
Random Forest چه ارتباطی با Ensemble Learning دارد؟
Random Forest یک الگوریتم Ensemble است که مجموعهای از Decision Treeها را با استفاده از نمونههای Bootstrap و انتخاب تصادفی زیرمجموعهای از ویژگیها ایجاد میکند و سپس خروجی درختها را برای تولید پیشبینی نهایی ترکیب میکند.
تفاوت Stacking و Boosting چیست؟
در Boosting، مدلها معمولاً به صورت ترتیبی ساخته میشوند و هر مدل به کاهش خطای مدلهای قبلی کمک میکند. در Stacking، چند مدل پایه میتوانند خروجی خود را به یک Meta-Learner بدهند تا این مدل یاد بگیرد چگونه پیشبینیهای مختلف را ترکیب کند.
آیا Ensemble Learning همیشه دقت مدل را افزایش میدهد؟
خیر. Ensemble Learning تضمین نمیکند که عملکرد همیشه بهتر شود. اگر مدلهای پایه ضعیف، بیش از حد مشابه یا بهشدت وابسته به یکدیگر باشند، ترکیب آنها ممکن است بهبود قابل توجهی ایجاد نکند یا حتی باعث پیچیدگی و بیشبرازش شود.
چه زمانی بهتر است از Ensemble Learning استفاده کنیم؟
زمانی که یک مدل منفرد عملکرد کافی ندارد، چند مدل دارای نقاط قوت متفاوت هستند و افزایش هزینه محاسباتی و پیچیدگی قابل قبول است، Ensemble Learning میتواند گزینه مناسبی باشد.
جمعبندی
یادگیری گروهی یا Ensemble Learning رویکردی در یادگیری ماشین است که به جای اتکا به یک مدل، چند مدل را با یکدیگر ترکیب میکند تا نتیجه نهایی بهبود پیدا کند.
روشهایی مانند Bagging، Boosting، Voting، Stacking و Blending هرکدام استراتژی متفاوتی برای ساخت و ترکیب مدلها دارند. Random Forest نمونهای شناختهشده از Ensemble مبتنی بر درختهای تصمیم است و الگوریتمهایی مانند AdaBoost، Gradient Boosting و XGBoost در خانواده Boosting قرار میگیرند.
با این حال، استفاده از Ensemble به معنای «هرچه مدل بیشتر، نتیجه بهتر» نیست. کیفیت مدلهای پایه، تنوع آنها، نحوه ترکیب خروجیها، حجم داده، هزینه محاسباتی و نیاز به تفسیرپذیری همگی باید در تصمیمگیری در نظر گرفته شوند.
اگر هدف شما یادگیری حرفهای Machine Learning است، Ensemble Learning یکی از موضوعاتی است که بعد از یادگیری Classification، Regression، Decision Tree و Model Evaluation باید به سراغ آن بروید.
از شناخت الگوریتمها به توانایی ساخت مدلهای واقعی برسید
اگر میخواهید Machine Learning را فقط بهصورت تئوری یاد نگیرید و بتوانید الگوریتمها را در پروژههای واقعی پیادهسازی و ارزیابی کنید، مسیر یادگیری Machine Learning را دنبال کنید.