درخت تصمیم
درخت تصمیمگیری (Decision Tree) یک ابزار برای پشتیبانی از تصمیم است که از درختها برای مدل کردن استفاده میکند. درخت تصمیم بهطور معمول در تحقیقها و عملیات مختلف استفاده میشود. بهطور خاص در آنالیز تصمیم، برای مشخص کردن استراتژی که با بیشترین احتمال به هدف برسد بکار میرود. استفاده دیگر درختان تصمیم، توصیف محاسبات احتمال شرطی است.
مثالها
مثال۱
در بازی بیست سؤالی، بازیکن باید یک درخت تصمیم در ذهن خود بسازد که به خوبی موارد را از هم جدا کند تا با کمترین سؤال به جواب برسد. در صورتی بازیکن به جواب میرسد که درخت ساخته شده بتواند به خوبی موارد را از هم جدا کند.
مثال ۲
فرض کنید نمرات پارسال یک استاد به همکلاسیها را داریم و میخواهیم قبول یا مردود شدن خود را تخمین بزنیم؛ بنابراین یک جدول میکشیم که در آن ویژگیهایی که همه همکلاسیها دارند و برای ما مشخص هستند را فهرست میکنیم؛ ویژگیهایی مانند جنسیت، تأهل و اشتغال را میآوریم؛ بنابراین چنین نتیجه میشود:
- مؤنث => ۹۰ درصد قبول (برگ)
- مذکر => ۵۰ درصد مردود (تعیینکننده نیست (از لحاظ آماری همگن است)، پس تصمیم را میشکنیم)
- مذکر + اشتغال => ۶۰ درصد مردود (تقریباً همگن)
- مذکر + اشتغال + تأهل => ۸۵ درصد قبول (برگ)
- مذکر + اشتغال + مجرد => ۷۰ درصد مردود (برگ (چون ویژگی دیگری نداریم))
مثال ۳
در مجموعه داده گل زنبق، میخواهم نوع زنبقی را تخمین بزنم که بردار ویژگی آن x است؛ بنابراین در متلب:
clear all
load fisheriris ;% بارگیری مجموعهداده گل زنبق
iris_tree = fitctree(meas,species); % ایجاد درخت تصمیم
view(iris_tree,'mode','graph') % توضیح نمودار
x=[6 3 1.5 .3]; % زنبق من
disp(predict(iris_tree,x)) % نتیجه تصمیم
کلیات
در آنالیز تصمیم، یک درخت تصمیم به عنوان ابزاری برای به تصویر کشیدن و آنالیز تصمیم، در جایی که مقادیر مورد انتظار از رقابتها متناوباً محاسبه میشود، استفاده میگردد. یک درخت تصمیم دارای سه نوع گرهاست:
- گره تصمیم: بهطور معمول با مربع نشان داده میشود.
- گره تصادفی: با دایره مشخص میشود.
- گره پایانی: با مثلث مشخص میشود.
نمودار درخت تصمیمگیری
یک درخت تصمیم میتواند خیلی فشرده در قالب یک دیاگرام، توجه را بر روی مسئله و رابطه بین رویدادها جلب کند.
مربع نشان دهنده تصمیمگیری، بیضی نشان دهنده فعالیت، و لوزی نشان دهنده نتیجهاست.
الگوریتم ساخت درخت تصمیمگیری
مجموع دادهها را با
حال سؤال اینجاست که کدام بُعد از متغیرهای وابسته و چه آستانهای را باید انتخاب کرد. به زبان ریاضی باید آن
هدف در اینجا پیدا کردن آن
مسئله دستهبندی
اگر مسئله ما دستهبندی باشد و
ناخالصی گینی:
ناخالصی آنتروپی:
ناخالصی خطا:
مسئله رگرسیون
در مسئله رگرسیون ناخالصی میتواند یکی از موارد پایین باشد:
میانگین خطای مربعات:
میانگین خطای قدر مطلق:
مزایا
در میان ابزارهای پشتیبانی تصمیم، درخت تصمیم و دیاگرام تصمیم دارای مزایای زیر هستند:
۱- فهم ساده: هر انسان با اندکی مطالعه و آموزش میتواند، طریقه کار با درخت تصمیم را بیاموزد.
۲- کار کردن با دادههای بزرگ و پیچیده: درخت تصمیم در عین سادگی میتواند با دادههای پیچیده به راحتی کار کند و از روی آنها تصمیم بسازد.
۳-استفاده مجدد آسان: در صورتی که درخت تصمیم برای یک مسئله ساخته شد، نمونههای مختلف از آن مسئله را میتوان با آن درخت تصمیم محاسبه کرد.
۴- قابلیت ترکیب با روشهای دیگر: نتیجه درخت تصمیم را میتوان با تکنیکهای تصمیمسازی دیگر ترکیب کرده و نتایج بهتری بدست آورد.
معایب
- مشکل استفاده از درختهای تصمیم آن است که به صورت نمایی با بزرگ شدن مسئله بزرگ میشوند.
- اکثر درختهای تصمیم تنها از یک ویژگی برای شاخه زدن در گرهها استفاده میکنند در صورتی که ممکن است ویژگیها دارای توزیع توأم باشند.
- ساخت درخت تصمیم در برنامههای داده کاوی حافظه زیادی را مصرف میکند زیرا برای هر گره باید معیار کارایی برای ویژگیهای مختلف را ذخیره کند تا بتواند بهترین ویژگی را انتخاب کند.