آموزش مرحله به مرحله و با مثال معیارهای ارزیابی مدل های طبقه بندی و ماتریس درهم ریختگی (Confusion Matrix)

یکی از رایج ترین مسایل در مدل های یادگیری با ناظر (Supervised Learning) طبقه بندی داده ها (Classification) است. بدیهی است که اینگونه از مدل ها نیز نیاز به معیارهایی برای ارزیابی دارند. در این مطلب به بررسی ماتریس درهم ریختگی (Confusion Matrix) و معیارهایی که برپایه این ماتریس برای ارزیابی یک مدل طبقه بندی از آن ها استفاده می شود، می پردازیم.معیارهای ارزیابی در کلسیفیکیشندر نظر بگیرید مدلی را پیاده سازی کرده ایم که هدف آن پیدا کردن سیب زمینی است در بین داده های ورودی است. یک مجموعه 10 عددی شامل 4 سیب زمینی و 6 پیاز را به مدل داده ایم.معیارهای ارزیابی مدل های طبقه بندیهمانطور که مشخص است عملکرد این مدل در تشخیص سیب زمینی ها دارای خطا بوده است، اما مقدار این خطا چقدر است؟ماتریس درهم ریختگی (Confusion Matrix)برای اندازه گیری خطا و یا به بیان دیگر، ارزیابی یک مدل طبقه بندی داده های خروجی را در کانفیوژن ماتریس (Confusion Matrix) وارد می کنیم. با توجه به اینکه مسئله ما فقط دارای یک حالت است (اینکه ورودی سیب زمینی است یا خیر) ماتریس درهم ریختگی از نظر تعداد سطر و ستون، به صورت زیر خواهد بود.ماتریس درهم ریختگی (Confusion Matrix)دقت شود که داده های ما دارای برچسب هستند، به این معنی که ما از قبل می دانیم کدام ورودی سیب زمینی است و کدام سیب زمینی نیست.بخش True Positiveمحتوای این بخش شامل تعداد گزینه های مثبتی است که مدل توانسته آن ها را پیدا کند.بخش False Positiveمحتوای این بخش شامل تعداد گزینه های اشتباه (منفی) است که مدل به اشتباه آن ها را مثبت تشخیص داده است.بخش False Negativeمحتوای این بخش شامل تعداد گزینه های درست (مثبتی) است که مدل به اشتباه آن ها را منفی تشخیص داده است.بخش True Negativeمحتوای این بخش شامل تعداد گزینه های اشتباه (منفی) است که مدل به درستی آن ها را منفی تشخیص داده است.معیارهای ارزیابی در یادگیری ماشینپس با توجه به نتایج بالا، ماتریس درهم ریختگی (Confusion Matrix) در این مثال دارای مقادیر زیر است.حالا که توانستیم نتایج به دست آمده توسط مدل را به صورت عددی و تفکیک شده داشته باشیم، می توانیم معیارهای ارزیابی را برای این مسئله کلسیفیکیشن اجرا کنیم.معیارهای رایج در این مسایل عبارت هستند از:Precision, Recall, Accuracy, Specificity, F1نتایج این فرمول ها اغلب در 100 ضرب می شود و به صورت «درصد» بیان می شوند.صحت (Precision)معیار پرسیژن، نشان می دهد که چقدر از نتایجی که توسط مدل مثبت اعلام شده اند، واقعا مثبت هستند. (چندتا از مواردی که اعلام شده سیب زمینی هستند، واقعا سیب زمینی هستند.)فرمول محاسبه دقت و صحت در داده کاویپوشش (Recall)Recall و precision چیستمعیار ریکال، نشان می دهد که چقدر از موارد مثبت داده شده به مدل، پیدا شده و به عنوان نمونه مثبت اعلام شده اند. ( از کل سیب زمینی ها چندتاشون توسط مدل به عنوان سیب زمینی شناسایی شدن.)دقت (Accuracy)Confusion matrix اموزشمعیار اکیوریسی، با محاصبه نسبت تشخیص های درست به کل داده ها، دقت مدل را محاسبه می کند. نکته بسیار مهم و قابل توجه در مورد Accuracy این است که اگر جامعه آماری داده های ورودی دارای توزیع نرمال نباشند، این معیار نتیجه قابل اعتمادی نخواهد داشت. مثلا مدلی ارایه شده است تا در یک لیست 20 نفری که به صورت تصادفی انتخاب شده اند افراد «راست دست» را از «چپ دست» ها تشخیص دهد. ما می دانیم که در حالت عادی تعداد افراد چپ دست، کمتر از راست دست ها است. پس اینکه مدل ارایه شده خطای کمی در تفکیک این دو گروه داشته باشد، نمی تواند نشان دهنده عملکرد دقیق آن باشد. زمانی می توان از معیار Accuracy استفاده نمود که داده های ورودی دارای تقسیم بندی یکسان باشد. مثلا لیست ورودی شامل 20 نفر و متشکل از 10 نفر راست دست و 10 نفر چپ دست باشد.تشخیص پذیری (Specificity)آموزش ماتریس مجاورتامتیاز اف یک (F1)تحلیل ماتریس درهم ریختگینکته: معیار F1 Score از دو طریق قابل محاسبه است که در فرمول مشخص شده است.مطلب تکمیلیآموزش مرحله به مرحله و با مثال ساخت ماتریس درهم ریختگی (Confusion Matrix) در مسایل طبقه بندی چند کلاسهنکات تکمیلی:اگر دوست داشتید، معیارهای معرفی شده را برای مسئله تشخیص سیب زمینی محاسبه کنید و در کامنت بنویسید.سعی می کنم این مطلب رو با کدهای مربوطه هم به زودی تکمیل تر کنم :)