پیشتر در مطلبی با عنوان "آموزش مرحله به مرحله و با مثال معیارهای ارزیابی مدل های طبقه بندی و ماتریس درهم ریختگی (Confusion Matrix)" چگونگی ساخت «ماتریس درهم ریختگی (Confusion Matrix)» را با مثال و مرحله به مرحله برای یک مسئله طبقه بندی ساده و اصطلاحا single class بررسی کردیم.
اما بدیهی است که مسایل کلسیفیکیشن، تنها محدود به دو کلاس داده ای نمی شوند و ما نیاز داریم تا بتوانیم کانفیوژن ماتریس را برای طبقه بندی چند کلاسه (Multi-Class Classification) نیز پیاده سازی کنیم.
برای مثال در نظر بگیرید که یک جعبه شامل 18 عدد سیب و متشکل از 6 عدد سیب زرد، 6 عدد سیب قرمز و 6 عدد سیب سبز را به صورت درهم به مدل یادگیری ماشین می دهیم تا سیب ها را بر اساس رنگ از هم جدا کند.
عملکرد دستگاه در شکل بالا نشان داده شده است. برای ساخت Confusion Matrix، ابتدا داده های خروجی دستگاه را به صورت زیر در یک جدول وارد می کنیم.
قطر اصلی این جدول، که با رنگ سبز مشخص شده است شامل نتیجه عملکرد صحیح مدل برای هر گروه از سیب ها است.
نکته تکمیلی: جمع هر یک از ردیف ها برابر با 6 است و جمع کل خانه های جدول نیز 18 است.
نحوه تکمیل کردن یک ردیف از جدول، به عنوان نمونه در شکل زیر نشان داده شده است.
در ادامه، Confusion Matrix را برای این مسئله پیاده سازی می کنیم. در هر مرحله، رنگ مورد نظر را به عنوان کلاس +، و سایر رنگ ها را به عنوان کلاس های منفی در نظر می گیریم.
در شکل های زیر چگونگی محاسبه هر عدد، از دو طریق استفاده از داده های خروجی مدل و همچنین شمارش از روی شکل نشان داده شده است. لازم به ذکر است که روش شمارش از روی شکل، تنها با هدف افزایش کیفیت مطلب آموزشی انجام شده است.
دارای مقدار عددی "4" که نشان دهنده مجموع تعداد سیب های سبزی است که به درستی سبز، در نظر گرفته شده اند.
دارای مقدار عددی "2" که نشان دهنده مجموع تعداد سیب های غیر سبزی که به اشتباه سبز، در نظر گرفته شده اند.
2 = 1 + 1
دارای مقدار عددی "4" که نشان دهنده مجموع تعداد سیب های سبزی است که به اشتباه در گروه های رنگی دیگر قرار داده شده اند.
4 = 2 + 2
دارای مقدار عددی "8" که نشان دهنده مجموع تعداد سیب های غیر سبزی که به درستی غیر سبز، در نظر گرفته شده اند.
8 = 2 + 1 + 2 + 3
به همین ترتیب برای ساخت ماتریس درهم ریختگی برای یک مسئله کلاس بندی چند کلاسه مراحل را ادامه می دهیم.
دارای مقدار عددی "3" که نشان دهنده مجموع تعداد سیب های قرمزی است که به درستی قرمز، در نظر گرفته شده اند.
دارای مقدار عددی "3" که نشان دهنده مجموع تعداد سیب های غیر قرمزی که به اشتباه قرمز، در نظر گرفته شده اند.
3 = 1 + 2
دارای مقدار عددی "3" که نشان دهنده مجموع تعداد سیب های قرمزی است که به اشتباه در گروه های رنگی دیگر قرار داده شده اند.
3 = 2 + 1
دارای مقدار عددی "9" که نشان دهنده مجموع تعداد سیب های غیر قرمزی که به درستی غیر قرمز، در نظر گرفته شده اند.
9 = 2 + 2 + 1 + 4
دارای مقدار عددی "2" که نشان دهنده مجموع تعداد سیب های زردی است که به درستی زرد، در نظر گرفته شده اند.
بخش False Positive
دارای مقدار عددی "4" که نشان دهنده مجموع تعداد سیب های غیر زردی که به اشتباه زرد، در نظر گرفته شده اند.
4 = 2 + 2
دارای مقدار عددی "2" که نشان دهنده مجموع تعداد سیب های زردی است که به اشتباه در گروه های رنگی دیگر قرار داده شده اند.
2 = 1 + 1
دارای مقدار عددی "10" که نشان دهنده مجموع تعداد سیب های غیر زردی که به درستی غیر زرد، در نظر گرفته شده اند.
10 = 3 + 1 + 2 + 4
در نهایت، پس از محاسبه تمامی خانه ها، کانفیوژن ماتریس به صورت زیر تکمیل می شود.
برای محاسبه معیارهای ارزیابی نیز می توانیم معیار موردنظر را برای هر سه کلاس محاسبه کنیم و سپس مقدار میانگین آن ها را به عنوان نتیجه کلی آن معیار اعلام کنیم.
برای مثال، صحت (Precision) در این مسئله، به صورت زیر محاسبه می شود.
نکته تکمیلی:
به طور معول سطرهای کانفیوژن ماتریس حاوی مقادیر پیش بینی شده و ستون ها حاوی مقادیر اصلی هستند، اما در برخی منابع این چیدمان برعکس است. مهم، مقادیر داخل خانه های ماتریس هستند که باید از لحاظ معنایی در محل درستی قرار گرفته باشند.
در ادامه، تصویر اول، دارای چینش رایج و تصویر دوم به صورتی است که ستون ها دارای مقادیر پیش بینی شده و ردیف ها مقادیر اصلی هستند.