AliFallahi
AliFallahi
خواندن ۴ دقیقه·۳ سال پیش

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

پیشتر در مطلبی با عنوان "آموزش مرحله به مرحله و با مثال معیارهای ارزیابی مدل های طبقه بندی و ماتریس درهم ریختگی (Confusion Matrix)" چگونگی ساخت «ماتریس درهم ریختگی (Confusion Matrix)» را با مثال و مرحله به مرحله برای یک مسئله طبقه بندی ساده و اصطلاحا single class بررسی کردیم.


Confusion matrix چیست
Confusion matrix چیست


اما بدیهی است که مسایل کلسیفیکیشن، تنها محدود به دو کلاس داده ای نمی شوند و ما نیاز داریم تا بتوانیم کانفیوژن ماتریس را برای طبقه بندی چند کلاسه (Multi-Class Classification) نیز پیاده سازی کنیم.

برای مثال در نظر بگیرید که یک جعبه شامل 18 عدد سیب و متشکل از 6 عدد سیب زرد، 6 عدد سیب قرمز و 6 عدد سیب سبز را به صورت درهم به مدل یادگیری ماشین می دهیم تا سیب ها را بر اساس رنگ از هم جدا کند.

معیارهای ارزیابی طبقه بندی
معیارهای ارزیابی طبقه بندی


عملکرد دستگاه در شکل بالا نشان داده شده است. برای ساخت Confusion Matrix، ابتدا داده های خروجی دستگاه را به صورت زیر در یک جدول وارد می کنیم.

Confusion matrix در داده کاوی
Confusion matrix در داده کاوی


قطر اصلی این جدول، که با رنگ سبز مشخص شده است شامل نتیجه عملکرد صحیح مدل برای هر گروه از سیب ها است.

نکته تکمیلی: جمع هر یک از ردیف ها برابر با 6 است و جمع کل خانه های جدول نیز 18 است.

نحوه تکمیل کردن یک ردیف از جدول، به عنوان نمونه در شکل زیر نشان داده شده است.

Confusion matrix اموزش
Confusion matrix اموزش


ساخت ماتریس درهم ریختگی (Confusion Matrix) در مسایل طبقه بندی چند کلاسه

در ادامه، Confusion Matrix را برای این مسئله پیاده سازی می کنیم. در هر مرحله، رنگ مورد نظر را به عنوان کلاس +، و سایر رنگ ها را به عنوان کلاس های منفی در نظر می گیریم.

در شکل های زیر چگونگی محاسبه هر عدد، از دو طریق استفاده از داده های خروجی مدل و همچنین شمارش از روی شکل نشان داده شده است. لازم به ذکر است که روش شمارش از روی شکل، تنها با هدف افزایش کیفیت مطلب آموزشی انجام شده است.


با سیب های سبز شروع می کنیم.

  • بخش True Positive

دارای مقدار عددی "4" که نشان دهنده مجموع تعداد سیب های سبزی است که به درستی سبز، در نظر گرفته شده اند.

ماشین لرنینگ
ماشین لرنینگ


  • بخش False Positive

دارای مقدار عددی "2" که نشان دهنده مجموع تعداد سیب های غیر سبزی که به اشتباه سبز، در نظر گرفته شده اند.

2 = 1 + 1

یادگیری ماشینی
یادگیری ماشینی


  • بخش False Negative

دارای مقدار عددی "4" که نشان دهنده مجموع تعداد سیب های سبزی است که به اشتباه در گروه های رنگی دیگر قرار داده شده اند.

4 = 2 + 2

داده کاوی
داده کاوی


  • بخش True Negative

دارای مقدار عددی "8" که نشان دهنده مجموع تعداد سیب های غیر سبزی که به درستی غیر سبز، در نظر گرفته شده اند.

8 = 2 + 1 + 2 + 3

دیتا ماینینگ
دیتا ماینینگ


به همین ترتیب برای ساخت ماتریس درهم ریختگی برای یک مسئله کلاس بندی چند کلاسه مراحل را ادامه می دهیم.



تکمیل داده های مربوط به سیب های قرمز

  • بخش True Positive

دارای مقدار عددی "3" که نشان دهنده مجموع تعداد سیب های قرمزی است که به درستی قرمز، در نظر گرفته شده اند.

آموزش ماشین لرنینگ
آموزش ماشین لرنینگ


  • بخش False Positive

دارای مقدار عددی "3" که نشان دهنده مجموع تعداد سیب های غیر قرمزی که به اشتباه قرمز، در نظر گرفته شده اند.

3 = 1 + 2

آموزش یادگیری ماشینی
آموزش یادگیری ماشینی


  • بخش False Negative

دارای مقدار عددی "3" که نشان دهنده مجموع تعداد سیب های قرمزی است که به اشتباه در گروه های رنگی دیگر قرار داده شده اند.

3 = 2 + 1

آموزش داده کاوی
آموزش داده کاوی


  • بخش True Negative

دارای مقدار عددی "9" که نشان دهنده مجموع تعداد سیب های غیر قرمزی که به درستی غیر قرمز، در نظر گرفته شده اند.

9 = 2 + 2 + 1 + 4

آموزش دیتا ماینین
آموزش دیتا ماینین




تکمیل داده های مربوط به سیب های زرد

  • بخش True Positive

دارای مقدار عددی "2" که نشان دهنده مجموع تعداد سیب های زردی است که به درستی زرد، در نظر گرفته شده اند.

True Positive ماتریس در هم ریختگی
True Positive ماتریس در هم ریختگی


بخش False Positive

دارای مقدار عددی "4" که نشان دهنده مجموع تعداد سیب های غیر زردی که به اشتباه زرد، در نظر گرفته شده اند.

4 = 2 + 2

False Positive ماتریس در هم ریختگی
False Positive ماتریس در هم ریختگی


  • بخش False Negative

دارای مقدار عددی "2" که نشان دهنده مجموع تعداد سیب های زردی است که به اشتباه در گروه های رنگی دیگر قرار داده شده اند.

2 = 1 + 1

False Negative ماتریس در هم ریختگی
False Negative ماتریس در هم ریختگی


  • بخش True Negative

دارای مقدار عددی "10" که نشان دهنده مجموع تعداد سیب های غیر زردی که به درستی غیر زرد، در نظر گرفته شده اند.

10 = 3 + 1 + 2 + 4

True Negative ماتریس در هم ریختگی
True Negative ماتریس در هم ریختگی


در نهایت، پس از محاسبه تمامی خانه ها، کانفیوژن ماتریس به صورت زیر تکمیل می شود.

کانفیوژن ماتریس
کانفیوژن ماتریس


برای محاسبه معیارهای ارزیابی نیز می توانیم معیار موردنظر را برای هر سه کلاس محاسبه کنیم و سپس مقدار میانگین آن ها را به عنوان نتیجه کلی آن معیار اعلام کنیم.

برای مثال، صحت (Precision) در این مسئله، به صورت زیر محاسبه می شود.

فرمول محاسبه دقت و صحت در داده کاوی
فرمول محاسبه دقت و صحت در داده کاوی


نکته تکمیلی:

به طور معول سطرهای کانفیوژن ماتریس حاوی مقادیر پیش بینی شده و ستون ها حاوی مقادیر اصلی هستند، اما در برخی منابع این چیدمان برعکس است. مهم، مقادیر داخل خانه های ماتریس هستند که باید از لحاظ معنایی در محل درستی قرار گرفته باشند.

در ادامه، تصویر اول، دارای چینش رایج و تصویر دوم به صورتی است که ستون ها دارای مقادیر پیش بینی شده و ردیف ها مقادیر اصلی هستند.

کانفیوژن ماتریس
کانفیوژن ماتریس
ماتریس درهم ریختگی در یادگیری ماشینی
ماتریس درهم ریختگی در یادگیری ماشینی


Confusion matrix چیستماتريس confusionماتریس درهم ریختگیماشین لرنینگدیتا ماینینگ
آنچنان رفتم كه خود می خواستم
شاید از این پست‌ها خوشتان بیاید