جنگل تصادفی

جنگل تصادفی یا جنگل‌های تصمیم تصادفی (به انگلیسی: Random forest) یک روش یادگیری ترکیبی برای دسته‌بندی، رگرسیون می‌باشد، که بر اساس ساختاری متشکل از شمار بسیاری درخت تصمیم، بر روی زمان آموزش و خروجی کلاس‌ها (کلاس‌بندی) یا برای پیش‌بینی‌های هر درخت به شکل مجزا، کار می‌کنند. جنگل‌های تصادفی برای درختان تصمیم که در مجموعهٔ آموزشی دچار بیش برازش می‌شوند، مناسب هستند. عملکرد جنگل تصادفی معمولاً بهتر از درخت تصمیم است، اما این بهبود عملکرد تا حدی به نوع داده هم بستگی دارد.[۱][۲][۳]

نخستین الگوریتم برای جنگل‌های تصمیم تصادفی را «تین کم هو» با بهره‌گیری از روش زیرفضاهای تصادفی پدیدآورد.[۴][۵] نسخه‌های بعدی آن توسط لیو بریمن ارتقا یافت.[۶]

پیشینه[ویرایش]

پژوهش‌های «بریمن» روی کار «امیت و گمن» اثر گذاشت، کسانی که پژوهش براساس دسته تصادفی که نود را تقسیم می‌کند (در مبحث بزرگ شدن تک درخت) ارائه کردند در این روش، پیش از این که هر درخت یا هر گره را جاسازی کنند، جنگلی از درختان بزرگ می‌شود و گزینش از بین گونه‌ای از درختان که برای گزینش تصادفی زیرفضاهایی از داده آموزش دیده‌اند، صورت می‌گیرد. در پایان ایده بهبود بخشیدن به گره‌های تصادفی (که انتخاب هر گره به شکل تصادفی بوده) به جای بهبودی قطعی توسط «دیتریش» بیان شد دستاوردهای دربارهٔ جنگل تصادفی نخستین بار به دست «لئو بریمن» مقاله شد.

این مقاله روش‌هایی از چگونگی ساخت جنگل بدون کنترل درخت‌ها با بهره‌گیری از CART را بیان می‌کند که با متد بگینگ و بهبودی نود تصادفی ترکیب شده‌است. به علاوه، این مقاله بسیاری از نتایج اولیه به دست آمده که شناخته شده بودند و چه آن‌هایی که به چاپ رسیده بودند را ترکیب می‌کرد که این ترکیبات پایه و اساس تمرینات امروزی جنگل‌های تصادفی را شامل می‌شود این الگوریتم توسط «لئو بریمن و عادل کالچر» توسعه یافت که جنگل تصادفی نیز جزو دستاوردهای ایشان بود ایده بگینگ برای ساخت مجموعه‌ای از درخت‌های تصمیم و انتخاب تصادفی نخست توسط «هو» و سپس «امیت و گمان» کامل شد. این تمرینات امروزی عبارتند از:

  1. بهره گرفتن از نقص خارج از کیسه برای تعمیم نقص‌های سازماندهی
  2. اهمیت اندازه‌گیری گونه‌ها و تنوع از طریق جایگشت

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

الگوریتم[ویرایش]

مقدمات: آموزش درخت تصمیم[ویرایش]

درخت تصمیم روش مشهوری برای انواع مختلفی از وظایف یادگیری ماشین به حساب می‌آید. با این حال در بسیاری موارد دقیق نیستند.[۱][۳]

در کل، معمولاً درخت تصمیمی که بیش از حد عمیق باشد الگوی دقیق نخواهد داشت: دچار بیش برارزش شده، و دارای سوگیری پایین و واریانس بالا می‌باشد. جنگل تصادفی روشی است برای میانگین گیری با هدف کاهش واریانس با استفاده از درخت‌های تصمیم عمیقی که از قسمت‌های مختلف داده آموزشی ایجاد شده باشند. در این روش معمولاً افزایش جزئی سوگیری و از دست رفتن کمی از قابلیت تفسیر اتفاق افتاده اما در کل عملکرد مدل را بسیار افزایش خواهد داد.[۱][۲]

به علاوه به کمک انحراف معیار پیش‌بینی‌ها از درخت‌های رگرسیون مستقل می‌توان تخمینی از عدم قطعیت پیش‌بینی داشت:

تعداد نمونه‌ها در فرمول بالا () یک متغیر آزاد است که معمولاً به کمک روش‌هایی مانند اعتبارسنجی متقابل یا مشاهدهٔ out-of-bag errorها مقدار بهینه را برای فرمول بالا می‌توان به‌دست‌آورد.

bagging[ویرایش]

مجموعه داده را با نمایش می‌دهیم، و درخت تصادفی با ایجاد داده جدید از ایجاد می‌کنیم. مدل نهایی با میانگین گرفتن یا رأی‌گیری بین درختان کار می‌کند.[۷] جزئیات این الگوریتم ذیلاً آمده‌است:

برای تا :

  • نمونه با جایگزینی از داده انتخاب کن و این نمونه‌ها را در مجموعه داده قرار بده. از آنجا که نمونه‌گیری با جایگزینی صورت می‌گیرد یک نمونه ممکن است چندین بار انتخاب شود.
  • یک درخت تصادفی به اسم با به روش پایین بساز:
    • هر دفعه برای پیدا کردن بهترین متغیر ابتدا یک تعداد مشخصی از متغیرها را کاملاً به صورت تصادفی انتخاب کن (مثلا تا، از قبل به مسئله داده شده‌است، و معمولاً با جذر تعداد متغیرها برابر است) و از میان آن‌ها بهترین متغیر را انتخاب کن.

در مسئله رگرسیون مدل نهائی، میانگین تمامی درخت‌ها است[۷] یعنی . از طرفی دیگر در مسئله دسته‌بندی یا Classification با رأی‌گیری بین درختان به جواب نهائی می‌رسیم.[۷]

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

از کیسه‌گذاری تا جنگل تصادفی[ویرایش]

روندی که گفته شد الگوریتم اصلی بگینگ برای درختان را توصیف می‌کند. جنگل تصادفی تنها یک اختلاف با این طرح کلی دارد: و آن این که از یک الگوریتم یادگیری درخت اصلاح شده‌استفاده می‌کند که در هر تقسیم کاندیدها در فرایند یادگیری، زیر مجموعه‌ای تصادفی از ویژگی‌های آن را پردازش می‌کنند. این پردازش گاهی «کیسه‌گذاری ویژگی» نامیده می‌شود. دلیل انجام این کار این است که ارتباط درخت‌ها در یک نمونه بوت استرپ معمولی را نشان می‌دهد. اگر یک یا چند ویژگی پیش‌بینی‌کننده‌ها، برای متغیر پاسخ (خروجی هدف) بسیار قوی باشد، این ویژگی در بسیاری از درخت‌های B که سبب ارتباط آن‌ها می‌شود، انتخاب خواهد شد. آنالیز چگونگی کارکرد بگینگ و مجموعه دسته‌های تصادفی، کمک می‌کند تا بتوان به دقت‌های با شرایط گوناگون دست یافت که توسط «هو» نیز ارائه شده بودند.

Extra-Trees[ویرایش]

برای برداشتن یک گام دیگر در جهت تصادفی‌سازی به مدل درختان بی‌نهایت تصادفی یاExtra-trees می‌رسیم. این مدل نیز مانند جنگل تصادفی از تجمیع تعدادی درخت مستقل استفاده می‌کند اما با دو تفاوت اساسی: اول آنکه هر درخت توسط تمام دادهٔ آموزش (و نه یک نمونهٔ bootstrap) train می‌شود و دوم آنکه در مرحلهٔ split کردن مقدار cut-point از یک توزیع احتمالاتی یکنواخت روی دامنهٔ مقادیر ممکن استفاده می‌شود که این برخلاف روش مرسوم که استفاده از معیارهایی مانند بهرهٔ اطلاعاتی یا ناخالصی جینی برای تعیین عدد cut-point است. تصادفی‌سازی این بخش آموزش را تسریع می‌بخشد.

ویژگان[ویرایش]

اهمیت متغیرها[ویرایش]

جنگل تصادفی می‌تواند برای رتبه‌بندی اهمیت متغیرها در یک رگرسیون یا مسئلهٔ طبقه‌بندی به کار رود. تکنیکی که در ادامه آمده‌است در مقاله اصلی «بریمن» آورده شده بود و در پکیج R جنگل تصادفی اجرا می‌شود. نخستین گام در اهمیت اندازه‌گیری متغیرها در مجموعه داده‌ها که با نمایش می‌دهیم، fit کردن جنگل تصادفی روی داده هاست. در هنگام انجام این فرایند جایگذاری، out-of-bag error برای هر داده ضبط می‌شود و به از آن روی کل جنگل میانگین گرفته می‌شود.

برای اندازه‌گیری اهمیت امین ویژگی بعد از آموزش، مقدار اُمین ویژگی permuted از میان داده‌های آموزش دیده و out-of-bag error دوباره روی این مجموعه داده محاسبه خواهد شد. اهمیت نمرهٔ اُمین ویژگی برابر است با میانگین این ارورها قبل و بعد از جایگشت روی تمام جنگل. این نمره با انحراف معیار اختلاف‌ها، نرمالایز می‌شود. ویژگی‌هایی که مقادیر بسیاری برای این نمره تولید می‌کنند نسبت به آن ویژگی‌هایی که مقدار کوچکی تولید می‌کنند بسیار با اهمیت تر هستند.[۲]

این روش تعیین اهمیت متغیر شامل برخی اشکالات می‌شود. برای داده‌ای که شامل متغیرهای بخش‌بندی شده با سطوح مختلف شماره‌هاست، جنگل تصادفی به این خاصیتشان بر اساس بالا یا پایین بودن سطح بایاس دارد و هرچه سطح بالاتر باشد بیشتر به سمت آنان سوگیری دارد. متدهایی همانند partial permutations و درختان در حال رشد بی‌طرف، می‌تواند برای حل مشکل به کار گرفته شوند. اگر داده شامل گروه‌هایی از ویژگی‌های مرتبط به هم با شبیه‌سازی برای خروجی باشد، در این حالت گروه‌های کوچک نسبت به گروه‌های بزرگ برتری دارند.

رابطه با الگوریتم نزدیکترین همسایه‌ها[ویرایش]

ارتباط بین جنگل تصادفی و الگوریتم کی-نزدیک‌ترین همسایه (K-NN) در سال ۲۰۰۲ توسط «لین» و «جو» استخراج شد. به نظر می‌رسد که هردوی آن‌ها می‌توانند به عنوان طرح پروزن‌ترین همسایه نام‌گذاری شوند.

این‌ها مدلهایی برای ساخت داده‌های آموزش دیده {(xi,yi)} هستند که پیش‌بینی‌های تازه y را برای x' با نگاه به همسایگی از نقاط، از طریق تابع وزن به صورت زیر درمی‌آورد:

در اینجا وزن غیر منفی از امین نقطه آموزش دیدهٔ همسایه با نقطهٔ جدید است. برای هر جمع وزن‌ها باید برابر با یک باشد. تابع‌های وزن در زیر آورده شده‌اند:

۱. در k-NN وزن‌ها اگر یکی از نقطهٔ نزدیک به باشد و درغیر این صورت صفر.

۲. در درخت اگر یکی از نقطهٔ نزدیک در برگ یکسان از باشد، و در غیر این صورت صفر.

به سبب این که میانگین جنگل مجموعه‌ای از درخت‌های را با تابع وزن فردی پیش‌بینی می‌کند، پیش‌بینی‌هایش به صورت زیر در می‌آید:این نشان می‌دهد که جنگل تصادفی یک طرح همسایه‌های وزندار است با وزن‌هایی که برابر با میانگین وزن‌های هر درخت هستند. همسایه‌های از این دید معادل هستند با نقاط که در هر درخت برگ مشترک دارند. همسایه‌های به‌طور پیچیده‌ای به ساختار هر درخت و در نتیجه ساختار کل دادهٔ آموزش وابسته است. «لین» و «جو» نشان دادند که شکل همسایگی ای که جنگل تصادفی از آن بهره گرفته‌است با اهمیت محلی هر ویژگی مطابق است.

یادگیری بی‌نظارت با جنگل تصادفی[ویرایش]

پیش‌بینی‌کننده‌های جنگل تصادفی به‌طور طبیعی و به عنوان بخشی از فرایند ساختشان به یک معیار عدم تشابه میان مشاهدات تبدیل می‌شوند. می‌توان یک معیار عدم تشابه جنگل تصادفی را به صورت زیر تعریف کرد: ایدهٔ اصلی این است که از یک پیش‌بینی‌کننده جنگل تصادفی استفاده کنیم که میان دادهٔ مشاهده‌شده و دادهٔ مصنوعی که به خوبی تولید شده تمایز بگذارد. منظور از دادهٔ مشاهده شده دادهٔ اصلی و بدون برچسب است و دادهٔ ساختگی نیز از یک توزیع مرجع گرفته می‌شود. یک عدم تشابه جنگل تصادفی می‌تواند به این علت که نسبت به تبدیل‌های یکنوا روی ورودی بدون تغییر است و به خوبی از پس داده‌های با انواع متغیر مختلط برمی‌آید و از لحاظ مشاهدات قوی است مورد توجه باشد. این معیار به سادگی از پس تعداد زیادی متغیر نیمه‌پیوسته برمی‌آید که این موضوع به دلیل ویژگی ذاتی انتخاب متغیرش است. به‌طور مثال معیار Addcl 1 به مشارکت متغیرها بر اساس میزان مستقل بودنشان از دیگر متغیرها وزن می‌دهد. معیار عدم تشابه جنگل تصادفی در کاربردهای گوناگونی به کار رفته‌است.[۸]

KeRF[ویرایش]

یک نمونهٔ آموزش از متغیرهای جفت مستقل که روی مفروض است. می‌خواهیم را به کمک تابع رگرسیون پیش‌بینی کنیم. یک جنگل رگرسیون تصادفی را به صورت تجمیعی از درخت رگرسیون تصادفی در نظر بگیرید. حال اگر مقدار پبشبینی‌شده به ازای نقطهٔ را توسط درخت اُم با نشان دهیم که متغیرهای تصادفی مستقل‌اند که روی توزیع یک متغیر تصادفی قرار دارند و از نمونهٔ مستقل‌اند. این متغیر تصادفی می‌تواند برای توصیف میزان تصادفی بودنی که از splitها و فرایند نمونه‌گیری تأثیر می‌گیرد باشد. درخت‌ها برای شکل‌دادن تخمین متناهی درخت با هم ترکیب می‌شوند. برای درخت‌های رگرسیون داریم که سلول دارای طراحی شده با میزان تصادفی بودن و مجموعه دادهٔ و است. بری ارتقای روش‌های جنگل تصادفی و بهبود تخمین‌های نادرست اسکورنت KeRF زیر را پیشنهاد داد:[۹]

انواع[ویرایش]

در انواع دیگری از جنگل‌های تصادفی از مدل‌های دیگری به عنوان تخمین‌گر پایه استفاده می‌شود. به‌طور مثال رگرسیون لوجستیک چندجمله‌ای و دسته‌بند بیز ساده.

مزایا[ویرایش]

در میان ابزارهای پشتیبانی تصمیم، درخت تصمیم و دیاگرام تصمیم دارای مزایایی هستند:

۱- فهم ساده: هر انسان با اندکی مطالعه و آموزش می‌تواند، طریقه کار با درخت تصمیم را بیاموزد.

۲- کار کردن با داده‌های بزرگ و پیچیده: درخت تصمیم در عین سادگی می‌تواند با داده‌های پیچیده به راحتی کار کند و از روی آن‌ها تصمیم بسازد.

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

۴- قابلیت ترکیب با روش‌های دیگر: نتیجه درخت تصمیم را می‌توان با تکنیک‌های تصمیم‌سازی دیگر ترکیب کرده و نتایج بهتری به‌دست‌آورد.

معایب[ویرایش]

با آنکه جنگل‌های تصادفی عموام به دقت بالاتری نسبت به یک درخت تصمیم می‌رسند، اما آن‌ها ویژگی ذاتی قابل‌تفسیر بودن موجود در درخت‌های تصمیم را ندارند. درخت‌های تصمیم در میان گروه نسبتاً کوچکی از مدل‌های یادگیری ماشین هستند که به سادگی تفسیر می‌شوند. تفسیرپذیری یکی از مورداستقبال‌ترین ویژگی‌های یک مدل است. این مدل‌ها به توسعه‌دهندگان این امکان را می‌دهد که از واقع‌گرایانه بودن تصمیماتی که مدل می‌گیرد اطمینان حاصل کنند و همچنین به کاربران اطمینان بیشتری در اعتماد به تصمیمات گرفته‌شده توسط مدل را می‌دهد.[۱۰] به علاوه، در مسائل با متغیرهای categorical متعدد، جنگل تصمیم ممکن است نتواند دقت مدل پایه را افزایش دهد. به‌طور کلی در حالاتی که با افزایش تعداد یک تخمین‌گر نتوان به دقت بهتری رسید استفاده از آن توجیهی ندارد.[۱۱]

مثال ۱[ویرایش]

درخت تصمیم در بهینه‌سازی مشارکت اوراق بهادار مورد استفاده قرار گیرد. مثال زیر اوراق بهدار ۷ طرح مختلف را نشان می‌دهد. شرکت ۱۰۰۰۰۰۰۰۰ برای کل سرمایه‌گذاری‌ها دارد. خطوط پر رنگ نشان دهنده بهترین انتخاب است که موارد ۱، ۳، ۵، ۶ و۷ را در بر می‌گیرد و هزینه‌ای برابر ۹۷۵۰۰۰۰ دارد و سودی برابر ۱۶۱۷۵۰۰۰ برای شرکت فراهم می‌کند. مابقی حالات یا سود کمتری دارد یا هزینه بیشتری می‌طلبد.[۱۲]

مثال ۲[ویرایش]

در بازی بیست سؤالی، بازیکن باید یک درخت تصمیم در ذهن خود بسازد که به خوبی موارد را از هم جدا کند تا با کمترین سؤال به جواب برسد. در صورتی بازیکن به جواب می‌رسد که درخت ساخته شده بتواند به خوبی موارد را از هم جدا کند.

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  1. ۱٫۰ ۱٫۱ ۱٫۲ Piryonesi, S. M.; El-Diraby, T. E. (2020) [Published online: December 21, 2019]. "Data Analytics in Asset Management: Cost-Effective Prediction of the Pavement Condition Index". Journal of Infrastructure Systems. 26 (1). doi:10.1061/(ASCE)IS.1943-555X.0000512.{{cite journal}}: نگهداری CS1: url-status (link)
  2. ۲٫۰ ۲٫۱ ۲٫۲ Piryonesi, S. Madeh; El-Diraby, Tamer E. (2020-06). "Role of Data Analytics in Infrastructure Asset Management: Overcoming Data Size and Quality Problems". Journal of Transportation Engineering, Part B: Pavements. 146 (2): 04020022. doi:10.1061/jpeodx.0000175. ISSN 2573-5438. {{cite journal}}: Check date values in: |date= (help)
  3. ۳٫۰ ۳٫۱ Hastie, Trevor. (2001). The elements of statistical learning: data mining, inference, and prediction: with 200 full-color illustrations. Tibshirani, Robert. , Friedman, J. H. (Jerome H.). New York: Springer. ISBN 0-387-95284-5. OCLC 46809224.
  4. Ho, Tin Kam (1995). Random Decision Forests (PDF). Proceedings of the 3rd International Conference on Document Analysis and Recognition, Montreal, QC, 14–16 August 1995. pp. 278–282. Archived from the original (PDF) on 17 April 2016. Retrieved 5 June 2016.
  5. Ho, Tin Kam (1998). "The Random Subspace Method for Constructing Decision Forests" (PDF). IEEE Transactions on Pattern Analysis and Machine Intelligence. 20 (8): 832–844. doi:10.1109/34.709601. Archived from the original (PDF) on 4 March 2016. Retrieved 29 April 2019. {{cite journal}}: Unknown parameter |name-list-format= ignored (|name-list-style= suggested) (help)
  6. Breiman, Leo (2001). "Random Forests". Machine Learning. 45 (1): 5–32. doi:10.1023/A:1010933404324. {{cite journal}}: Unknown parameter |name-list-format= ignored (|name-list-style= suggested) (help)
  7. ۷٫۰ ۷٫۱ ۷٫۲ Breiman, Leo (2001). "Random Forests". Machine Learning (به انگلیسی). 45 (1): 5–32. doi:10.1023/a:1010933404324. ISSN 0885-6125.
  8. Shi, Tao; Seligson, David; Belldegrun, Arie S.; Palotie, Aarno; Horvath, Steve (2005-04). "Tumor classification by tissue microarray profiling: random forest clustering applied to renal cell carcinoma". Modern Pathology: An Official Journal of the United States and Canadian Academy of Pathology, Inc. 18 (4): 547–557. doi:10.1038/modpathol.3800322. ISSN 0893-3952. PMID 15529185. {{cite journal}}: Check date values in: |date= (help)
  9. Messina, F. S. (1975-11). "Caesium ion: antagonism to chlorpromazine- and L-dopa- produced behavioural depression in mice". The Journal of Pharmacy and Pharmacology. 27 (11): 873–874. doi:10.1111/j.2042-7158.1975.tb10236.x. ISSN 0022-3573. PMID 1502. {{cite journal}}: Check date values in: |date= (help)
  10. Rendić, S.; Kajfez, F.; Zamola, B.; Valles, P.; Mildner, P. (26 ژوئن 1975). "Study of the sporulation of Bacillus thuringiensis var. thuringiensis". Bollettino dell'Istituto Sieroterapico Milanese. 54 (2): 98–104. ISSN 0021-2547. PMID 1076.
  11. Piryonesi, Sayed Madeh (2019-11). "The Application of Data Analytics to Asset Management: Deterioration and Climate Change Adaptation in Ontario Roads" (به انگلیسی). {{cite journal}}: Cite journal requires |journal= (help); Check date values in: |date= (help)
  12. Y. Yuan and M.J. Shaw, Induction of fuzzy decision trees بایگانی‌شده در ۱۰ فوریه ۲۰۰۹ توسط Wayback Machine. Fuzzy Sets and Systems ۶۹ (۱۹۹۵), pp. 125–139

منابع[ویرایش]

  • Sequential decision making with partially ordered preferences Daniel Kikuti, Fabio Gagliardi Cozman , Ricardo Shirota Filho

پیوند به بیرون[ویرایش]