آنچه باید درباره الگوریتم جنگل تصادفی بدانید
Random Forest یا جنگل تصادفی یکی از الگوریتمهای پرکاربرد یادگیری ماشین (Machine Learning) است. این الگوریتم که توسط دو متخصص علم آمار یعنی لئو برایمن (Leo Breiman) و ادل کاتلر (Adele Cutler) ابداع شده است، خروجی چندین درخت تصمیم (Decision Tree) را برای رسیدن به یک نتیجه واحد، ترکیب میکند. جنگل تصادفی با استقبال خوبی روبهرو شده است؛ زیرا علاوه بر سهولت در استفاده و انعطافپذیری، مشکل گروهبندی و رگرسیون را نیز توانسته حل کند.
الگوریتم جنگل تصادفی
به دلیل اینکه مدل جنگل تصادفی متشکل از چندین درخت تصمیم است، در ابتدا به توضیح مختصری درباره این مفهوم میپردازیم. درخت تصمیم همواره با یک سوال کلی مانند «آیا امروز برای موجسواری مناسب است؟» شروع میشود و در ادامه برای پیدا کردن پاسخ مناسب، سلسلهای از پرسشها مانند «آیا دریا موج دارد؟» یا «آیا باد موافق است یا مخالف؟» پرسیده میشود. این سوالات گرهها یا نودهای تصمیمگیری درخت تصمیم را تشکیل میدهند و وسیلهای برای تقسیم دادهها هستند. لازم بهذکر است منظور از نود، نودهای ساختمان داده است و ارتباطی با نودهای شبکههای بلاک چینی ندارد. هر سوال به فرد کمک میکند که به تصمیم نهایی برسد که با نود برگ مشخص شدهاند. عمدتا پاسخ این پرسشها به دو صورت بله یا خیر داده میشوند. مشاهداتی که با معیارها مطابق دارند از شاخه «بله» و مشاهداتی که با معیارها تطابق ندارند، مسیر جایگزین را دنبال خواهند کرد.
در واقع درختهای تصمیم بهدنبال یافتن بهترین تقسیم برای زیرمجموعه دادهها هستند و معمولا از طریق الگوریتم “درخت گروهبندی و رگرسیون (Classification and Regression Tree)” این کار را انجام میدهند. کیفیت تقسیمبندی انجام شده از طریق بهکارگیری روشهایی مانند جینی ناخالص، افزایش اطلاعات یا خطای میانگین مربعات اندازهگیری میشود.
این درخت تصمیم، مثالی برای مساله گروهبندی است که گروهها تحت عنوان «موجسواری کنید» و «موج سواری نکنید» جدا میشوند.
لازم است بدانید که درختهای تصمیم میتوانند مستعد مشکلاتی مانند خطای شناختی و برازش بیش از حد باشند. با این حال، زمانی که چندین درخت تصمیم در گروههای مختلف (Ensemble)، الگوریتم جنگل تصادفی را تشکیل میدهند، نتایج دقیقتری پیشبینی میکنند؛ مخصوصا زمانی که هر کدام از درختان با یکدیگر همبستگی نداشته باشند.
روش گروهی (Ensemble Methods)
روشهای یادگیری گروهی از مجموعهای از روشهای طبقهبندیکننده مانند درختان تصمیم تشکیل شدهاند و پیشبینیهای آنها برای شناسایی محبوبترین نتیجه، تجمیع میشوند. شناختهشدهترین «روشهای گروهی» کیسه یا Bagging نام دارد.
در حقیقت در روش گروهی، یک نمونه تصادفی از دادهها در یک مجموعه با امکان جایگزینی انتخاب میشود. این به این معنی است که هرکدام از دادهها را میتوان بیش از یک بار انتخاب کرد. پس از ایجاد چندین نمونه داده، مدلها بهطور مستقل برآورد میشوند و باتوجه به نوع برآورد آنها، یعنی رگرسیون هستند یا طبقه بندیکننده، میانگین یا اکثریت آن پیشبینیها، دقیقتر تخمین میزنند. این رویکرد بهطور متداول برای کاهش واریانس در دادههای پراکنده مورد استفاده قرار میگیرد.
رندوم فارست چیست؟
الگوریتم جنگل تصادفی یا همان Random Forest یک مدل توسعهیافته از روش کیسه است؛ زیرا در این الگوریتم از هر دو روش کیسه و ویژگیهای تصادفی برای ایجاد یک جنگل بدون همبستگی از درختان تصمیم، استفاده میشود. ویژگیهای تصادفی بهعنوان ویژگی کیسه شناخته میشوند. این ویژگی، زیر مجموعههای تصادفی از ویژگیها میسازد که همبستگی کم را میان درختهای تصمیم، تضمین میکند. این یکی از تفاوتهای کلیدی میان درخت تصمیم و جنگلهای تصادفی است. درخت تصمیم تمام ویژگیهای تقسیمشده ممکن را در نظر میگیرد، در حالی که جنگل تصادفی تنها زیرمجموعهای از آن ویژگیها را انتخاب میکند.
اگر به مثالی که قبلتر زدیم یعنی «موجسواری» برگردیم، ممکن است سوالاتی که فرد اول نسبت به فرد دوم میپرسد، کاملتر و جامعتر نباشد. با درنظر گرفتن تنوعهای احتمالی در دادههای جمعآوری شده، میتوانیم خطر برازش بیش از حد، خطای شناختی و واریانس کلی را کاهش دهیم و در نتیجه، پیشبینیهای دقیقتری انجام دهیم.
الگوریتم جنگل تصادفی چگونه کار میکند؟
الگوریتم رندوم فارست دارای سه متغیر اصلی است که باید قبل از بهکارگیری، تنظیم شوند. این متغیرها شامل اندازه نودها، تعداد درختان و تعداد ویژگیهای نمونهبرداری شده میشود. طبقهبندی جنگل تصادفی می تواند برای حل مشکلات رگرسیونی یا گروهبندی مورد استفاده قرار گیرد.
الگوریتم جنگل تصادفی از چندین درخت تصمیم ساخته میشود. هر درخت در هر گروه، شامل نمونه دادههایی از یک مجموعه داده برآوردکننده ساخته شده است. یک سوم از مجموعه دادههای که در برآورد نمونه استفاده میشوند، بهعنوان دادههای آزمایشی کنار گذاشته میشوند و آنها را بهعنوان نمونههای خارج از کیسه یا Out of Bag میشناسند. برای اینکه تنوع بیشتری به مجموعه دادهها اضافه شود، از کیسه ویژگیها نمونههای تصادفی دیگری به فرآیند پیشبینی اضافه میشود. این کار منجر به کاهش همبستگی میان درختان تصمیم میشود.
با توجه به نوع مشکل، تعیین پیشبینی متفاوت خواهد بود. برای مواردی که به حالت رگرسیونی یا بازگشتی هستند، درختان تصمیم میانگینگیری میشوند و برای زمانی که قرار است روی مورد دستهبندی شده پیشبینی انجام شود، با توجه به رای اکثریت یعنی متداولترین متغیر گروهی، پیشبینی شکل می گیرد. در انتها نمونههای خارج از کیسه برای اعتبارسنجی و نهاییسازی پیشبینی مورد استفاده قرار خواهند گرفت.
مزایای استفاده از الگوریتم جنگل تصادفی
کاهش ریسک برازش بیشازحد: درختان تصمیم در مدل خود سعی دارند تمام دادهها را بهصورت مناسب نمایش دهند و این ریسک برازش بیشاز حد را افزایش میدهند. هنگامی که تعداد زیادی درخت تصمیم، در یک جنگل تصادفی وجود داشته باشد، تا زمانی که میانگین درختان غیر مرتبط کمتر از واریانس کلی و خطای پیشبینی باشد، طبقهبندی انجام شده مدل را بیش از حد متناسب نشان نخواهد داد.
انعطافپذیری: از آنجایی که جنگل تصادفی میتواند برآوردهای رگرسیونی و طبقهبندی را با درجه بالایی از دقت انجام دهد، یک روش محبوب میان علاقهمندان به علوم داده است. ویژگی Bagging گروهبندی جنگل تصادفی را به ابزاری کارآمد برای تخمین مقادیر از دست رفته تبدیل میکند؛ زیرا در این صورت یعنی از دست رفتن بخشی از دادهها همچنان دقیق باقی میماند.
سهولت در تعیین اهمیت ویژگیها: الگوریتم جنگل تصادفی تشخیص اهمیت یا میزان سهم متغیرها را در الگو آسان میکند. راههای مختلفی برای این کار وجود دارد. معمولا جینی (Gini) و میانگین کاهش در ناخالصی (Mean Decrease in Impurity) برای اندازهگیری میزان کاهش دقت مدل در هنگام حذف یک متغیر استفاده میشود. یکی دیگر از معیارها برای مشخص کردن اهمیت ویژگیها، «جایگشت اهمیت» است که بهعنوان میانگین کاهش دقت (Mean Decrease Accuracy) نیز شناخته میشود. MDA میانگین کاهش دقت را به وسیله جایگشت تصادفی مقادیر ویژگیها، در نمونههای خارج از کیسه اندازهگیری میکند.
دیدگاهتان را بنویسید