260 likes | 630 Views
یادگیری استقرایی و درخت های تصمیم. مدرس : علی فروتن راد گروه مهندسی کامپیوتر دانشگاه آزاد اسلامی زنجان & Russell Ch. 18 & Mitchell Ch. 3. با تشکر از دکتر سعید شیری و دکتر فریبز محمودی گروه مهندسی کامپیوتر و فناوری اطلاعات دانشگاه صنعتی امیرکبیر و دانشگاه آزاد قزوین.
E N D
یادگیری استقراییو درختهای تصمیم مدرس: علی فروتن راد گروه مهندسی کامپیوتر دانشگاه آزاد اسلامی زنجان & Russell Ch. 18 & Mitchell Ch. 3 با تشکر از دکتر سعید شیری و دکتر فریبز محمودی گروه مهندسی کامپیوتر و فناوری اطلاعات دانشگاه صنعتی امیرکبیر و دانشگاه آزاد قزوین
یادگیری استقرایی Inductive learning • یک شیوه یادگیری با ناظر است. • سادهترین شکل یادگیری: یادگیری یک تابع از روی چند مثال fتابع هدف موردنظر است، یک مثال از این تابع زوج مرتبی به شکل (x, f(x))میباشد. مساله ما یافتن تابع فرضیهh است به نحوی که: • که تا حد ممکن به تابع اصلی منطبق باشد: h ≈ f • ورودی ما یک مجموعه آموزشی (training set)حاوی چندین مثال میباشد.
یادگیری با درخت تصمیم Decision trees مساله: تصمیمگیری در مورد صبر کردن یا نکردن برای خالی شدن یک میز در یک رستوران با توجه به شرایط روی صفات زیر: • Alternate: آیا رستوران جایگزینی در نزدیکی این رستوران وجود دارد؟ • Bar: آیا محلی برای صرف نوشیدنی در زمان انتظار در رستوران وجود دارد؟ • Fri/Sat: آیا امروز یک روز آخر هفته است؟ • Hungry: میزان گرسنگی ما چقدر است؟ • Patrons: تعداد مشتریان موجود در رستوران چندتاست؟ (None, Some, Full) • Price: محدوده قیمت رستوران چیست؟ ($, $$, $$$) • Raining: آیا باران در خارج رستوران میبارد؟ • Reservation: آیا از قبل رزرو انجام دادهایم یا خیر؟ • Type: رستوران از چه نوعی است؟ (French, Italian, Thai, Burger) • WaitEstimate: زمان تخمینی انتظار چقدر است؟ (0-10, 10-30, 30-60, >60)
نمایشهای مبتنی بر صفتAttribute-based representations مثالها بوسیله مقادیر صفات (بولی، گسسته، پیوسته) توصیف میشوند. مثالها با مثبت(T)و منفی(F) طبقهبندی شدهاند.
درخت تصمیم Decision trees یک شیوه ممکن برای نمایش فرضیه میباشد. در موارد true عمل انتظار انجام میپذیرد.
قابلیت توصیفExpressiveness • درختهای تصمیم قابلیت توصیف هر تابعی از صفات ورودی را دارا میباشند. • به عبارت دیگر هر تابع بولی بیان شده با یک جدول حقیقت توسط درخت تصمیم قابل توصیف است. در این حال هر سطر جدول یک مسیر از ریشه تا برگ است. • بنابراین برای هر مجموعه آموزشی یک درخت تصمیم سازگار وجود دارد، (مگر اینکه تابع f غیر قطعی باشد) اما این احتمال وجود دارد که مثالهای جدید در درخت قابل تعمیم نباشند. • ترجیح با درختهای تصمیم فشرده است.
فضاهای فرضیه Hypothesis spaces سوال: چند درخت تصمیم (فرضیه) متمایز برای n صفت بولی وجود دارد؟ = تعداد توابع بولی متمایز که میتوان با n صفت بولی ساخت. = تعداد جداول حقیقت متمایز با 2nسطر = 22n. بطور مثال برای 6 صفت بولی 18،446،744،073،709،551،616 درخت وجود دارد.
فضاهای فرضیه Hypothesis spaces سوال: چند درخت تصمیم (فرضیه) متمایز برای n صفت بولی وجود دارد؟ = تعداد توابع بولی متمایز که میتوان با n صفت بولی ساخت. = تعداد جداول حقیقت متمایز با 2nسطر = 22n. • بطور مثال برای 6 صفت بولی 18،446،744،073،709،551،616 درخت وجود دارد. سوال: چند فرضیه عطفی خالص وجود دارد؟ • هر فرضیه عطفی ( نظیرHungry Rain ) یک مسیر از ریشه تا برگ در درخت تصمیم است. • هر صفت ممکن است در یک فرضیه عطفی نقش مثبت، منفی یا بدون تاثیر داشته باشد. • در نتیجه برای n صفت، 3nفرضیه عطفی متمایز وجود دارد. • افزایش حجم فضای فرضیه باعث میشود: • شانس توصیف تابع هدف افزایش یابد. • از طرف دیگر باعث افزایش تعداد فرضیههای سازگار با مجموعه آموزشی میشودو در نتیجه احتمال پیش بینی غاط نیز بیشتر میشود. پس نیاز به یک الگوریتم هوشمند داریم تا در این فضا یک درخت سازگار بیابد.
الگوریتم یادگیری درخت تصمیم هدف: یافتن کوچکترین درخت سازگار با مثالهای آموزشی است. ایده: انتخاب (بازگشتی) با معنیترین صفت برای ریشه (زیر) درخت.
انتخاب صفت ایده: یک صفت خوب در حالت ایدهآل مثالها را به دو زیرمجموعه تمام مثبت و تمام منفی تفکیک میکند. بنابراین Patrons?انتخاب بهتری است.
استفاده از تئوری اطلاعات • در پیادهسازی Choose-Attribute در الگوریتمDTL از محتوای اطلاعاتی (انتروپی) استفاده میشود. • = P(vi)احتمال وقوع مقدار vi • برای یک مجموعه آموزشی حاوی p مثال مثبت وn مثال منفی:
استفاده از تئوری اطلاعات • در حالتیکه دو کلاس مثبت و منفی داریم: • اگر I=0 باشد یعنی همه مثالها در یک کلاس هستند. • اگر I=1 باشد یعنی نصف مثالها در یک کلاس و نصف دیگر در کلاس دوم هستند.
بهره اطلاعات Information gain یک صفت منتخب نظیرA مجموعه آموزشیE را به زیرمجموعههای E1, … , Ev بر اساس مقادیر Aتقسیم مینماید. با فرض آنکه A دارای v مقدار متمایز است. میزان اطلاعات صفت A عبارت است از: بهره اطلاعات (IG) که حاصل تفریق انتروپی و میزان اطلاعات صفت A است معیار مناسبی برای انتخاب صفت است. صفتی انتخاب میشود که بیشترینمقدار بهره اطلاعات (IG) را داشته باشد.
بهره اطلاعات Information gain برای مجموعه آموزشی ذکر شده داریم: p = n = 6, I(6/12, 6/12) = 1 bit برای این مجموعه صفاتPatrons وTypeرا در نظر بگیرید ( و همچنین سایر صفات ): در این مجموعه صفتPatrons بیشترینIG را نسبت به سایر صفات داراست پس به عنوان ریشه درخت توسط الگوریتمDTL انتخاب میشود
مثال درخت تصمیم آموزش داده شده با 12 مثال: این درخت سادهتر از درخت فرضیه واقعی است. اساسا مجموعههای آموزشی کوچک فرضیههای پیچیده ایجاد نمیکند.
اندازهگیری کارایی Performance measurement • چگونه میتوان مطمئن شد که h ≈ f؟ • استفاده از قضایای محاسباتی/ آماری تئوری اطلاعات. • آزمایش hروی یک مجموعه آزمایشی جدید. (امتحان الگوریتم روی اندازههای متفاوت از مجموعه آموزشی و تست روی باقیمانده دادهها به عنوان مجموعه آزمایشی) منحنی آموزش = درصد درستی پاسخ روی مجموعه آزمایشی نسبت بهاندازه مجموعه آموزشی
تطبیق بیش از حد(Over fitting) گاهی اوقات در مجموعه آموزشی مثالهاینادریوجود داردکهممکناستباتوزیعکلیدادههامطابقتنداشتهباشند. تعدادزیادگرههاییکدرخت تصمیمباعثمیشودتا درخت درجهآزادیزیادیبرایانطباقبااینمثالهاداشتهباشد.
مقابله با تطبیق بیش از حد • کاهش اندازه درخت (یادآوری اصل Ockham: سادهترین فرضیه سازگار مورد ترجیح است.) • اجتناب از رشد درخت در مرحله ایجاد. • هرس کردن (Post-Pruning) درخت پس از ایجاد. • روشهای تعیین اندازه درخت(صرفنظر از روشهای فوق): • استفاده از دو مجموعه جداگانه آموزش و تست جهت ارزیابی. • استفاده از تمام دادهها برای آموزش و بکارگیری تستهای آماری (نظیر روش تست کای-دوQuinlan 86 ) برای تخمین بسط دادن یا هرس کردن یک گره. • استفاده از توابع هیوریستیک برای تشخیص اندازه مناسب درخت. (نظیر روش Quinlan & Rivest 89 و روش Mehta et al.95)
هرس خطای کاهشیافتهReduced Error Pruning • این روش توسط Quinlanارائه شده است. ابتدا به درخت اجازه داده میشود تا به اندازه کافی رشد کند. سپس گره هائی را که باعث افزایش دقت دسته بندی نمیشوند هرس میگردند: • داده ها به دو مجموعه تست و آموزشی تقسیم میشوند. • درخت با داده های آموزشی مطابق روش قبل یاد گرفته میشود. • سپس برای یک گره داخلی (غیر برگ n ) • زیرشاخه n حذف میگردد. این زیر شاخه با یک برگ جایگزین میشود. به این برگ دسته مثالهای اکثریت یعنی دستهبندی اکثر مثالهای قرار گرفته تحت این شاخه نسبت داده میشود. • عملکرد درخت برروی مثالهای تست بررسی میشود: اگر درخت هرس شده عملکرد بهتر و یا مساوی با درخت فعلی داشت از درخت هرس شده استفاده میشود. • هرس کردن آنقدر ادامه مییابد تا هرس بیشتر، سودی نداشته باشد.