یادگیری درخت تصمیم
درختها درهوش مصنوعی برای نمایش مفاهیم مختلفی نظیر ساختار جملات، معادلات، حالات بازی، و غیره استفاده میشود.
یادگیری درخت تصمیم روشی برای تقریب توابع هدف با مقادیر گسسته است. این روش نسبت به نویز داده هامقاوم بوده وقادر است ترکیب فصلی گزاره های عطفی را یاد بگیرد.
این روش جزو مشهورترین الگوریتمهای یادگیری استقرائی است که بصورت موفقیت آمیزی در کاربردهای مختلف بکار گرفته شده است.
نمایش درخت تصمیم
درخت تصمیم درختی است که در آن نمونه ها را به نحوی دسته بندی میکند که از ریشه به سمت پائین رشد میکنند و در نهایت به گره های برگ میرسد:
هر گره داخلی یاغیر برگ (non leaf) با یک ویژگی (attribute) مشخص میشود. این ویژگی سوالی را در رابطه با مثال ورودی مطرح میکند.
درهر گره داخلی به تعداد جوابهای ممکن با این سوال شاخه (branch) وجود دارد که هر یک با مقدار آن جواب مشخص میشوند.
برگهای این درخت با یک کلاس و یا یک دسته از جوابها مشخص میشوند.
علت نامگذاری آن با درخت تصمیم این است که این درخت فرایند تصمیم گیری برای تعیین دسته یک مثال ورودی را نشان میدهد.
کاربردها
درخت تصمیم در مسایلی کاربرد دارد که بتوان آنها را بصورتی مطرح نمود که پاسخ واحدی بصورت نام یک دسته یا کلاس ارائه دهند.
برای مثال میتوان درخت تصمیمی ساخت که به این سوال پاسخ دهد: بیماری مریض کدام است؟ و یا درختی ساخت که به این سوال پاسخ دهد: آیا مریض به هپاتیت مبتلاست؟
برای مسائلی مناسب است که مثالهای آموزشی بصورت زوج (مقدار-ویژگی) مشخص شده باشند.
تابع هدف دارای خروجی با مقادیر گسسته باشد. مثلا هر مثال با بله و خیر تعیین شود.
نیاز به توصیف گر فصلی (disjunctive) باشد.
ویژگی های درخت تصمیم
برای تقریب توابع گسسته بکار می رود (classification)
نسبت به نویز داده های ورودی مقاوم است
برای داده های با حجم بالا کاراست از این رو درData mining استفاده می شود
می توان درخت را بصورت قوانین if-then نمایش داد که قابل فهم برای استفاده است
امکان ترکیب عطفی و فصلی فرضیه ها را می دهد
lدر مواردی که مثالهای آموزشی که فاقد همه ویژگیها هستند نیز قابل استفاده است.
نحوه نمایش درخت تصمیم:
ارتباط مستقیمی بین درخت تصمیم ونمایش توابع منطقی وجود دارد. درواقع هردرخت تصمیم ترکیب فصلی گزاره های عطفی است
الگوریتم یادگیری درخت تصمیم
- اغلب الگوریتم های یادگیری درخت تصمیم بر پایه یک عمل جستجوی حریصانه (greedy) بالا به پائین (top-down) در فضای درختهای موجود عمل میکنند.
- این الگوریتم پایه، Concept Learning System (CLS) نامیده می شود که در سال 1950 معرفی شده است.
- این الگوریتم توسط Ross Quilan در سال 1986 بصورت کاملتری تحت عنوان Inducing Decisition trees (ID3) مطرح گردید.
- بعدها الگوریتم کاملتر دیگری تحت عنوان C4.5 ارائه گردید که برخی نقائص ID3 را برطرف میکند.
ایده اصلی ID3
lاین ایده به Ocuum’s Razor مشهور است ومی گوید :
” دنیا ذاتا ساده است“
بنابراین از کوچکترین درخت تصمیم که با داده سازگار باشد انتظار می رود که مثالهای نادیده را به درستی دسته بندی کند.
بایاس درخت تصمیم
lانتخاب درختهای کوچکتر
بایاس درخت تصمیم بر این ایده است که درختهای کوچکتر بر درختهای بزرگتر ترجیح داده شود.
الگوریتم ID3
lدر این الگوریتم درخت تصمیم از بالا به پائین ساخته میشود. این الگوریتم با این سوال شروع میشود: کدام ویژگی باید در ریشه درخت مورد آزمایش قرار گیرد؟
lبرای یافتن جواب از یک آزمون آماری استفاده میشود تا مشخص گردد هر کدام تا چه حد قادر است به تنهائی مثالهای آزمایشی را دسته بندی کند.
lبا انتخاب این ویژگی، برای هر یک از مقادیر ممکن آن یک شاخه ایجاد شده و مثالهای آموزشی بر اساس ویژگی هر شاخه مرتب میشوند. سپس عملیات فوق برای مثالهای قرار گرفته در هر شاخه تکرار میشوند تا بهترین ویژگی برای گره بعدی انتخاب شود.
lاین الگوریتم یک جستجوی حریصانه است که در آن انتخاب های قبلی هرگز مورد بازبینی قرار نمیگیرند.
نحوه ساختن درخت
lبرای ساختن درخت تصمیم از مثالهائی استفاده میشود که علامت گذاری (label) شده باشند.
lدرواقع ورودی سیستم یادگیر مجموعه ای از مثالهاست که هر مثال توسط مجموعه ای از ویژگی ها بیان شده است، هرویژگی می تواند دارای مجموعه متناهی ازمقادیر مختلف باشد. برای هر مثال علاوه بر ویژگیها مقدار دسته بندی آن نیز لازم می باشد.
lدر این فصل با درختهای تصمیمی آشنا خواهیم شد که برای دسته بندی بولی بکار می روند ولی درحالت کلی می توان یک درخت تصمیم ساخت که برای هر نوع دسته بندی بکار می رود.
کدام ویژگی طبقه بندی کننده بهتری است؟
lدر درخت تصمیم (ID3) از یک مقدار آماری به نام بهره اطلاعات Information Gain استفاده می شود تا اینکه مشخص کنیم که یک ویژگی تا چه مقدار قادر است مثالهای آموزشی را بر حسب دسته بندی آنها جدا کند.
منبع: سعید شیری