# ماتریس درهم‌ریختگی
در حوزهٔ هوش مصنوعی، یادگیری ماشینی و به‌طور مشخص در مسائل دسته‌بندی آماری، عبارت ماتریس در هم ریختگی که با نام ماتریس خطا نیز شناخته می‌شود، نوعی جدول خاص است که امکان نمایش دیداری عملکرد یک الگوریتم، به‌ویژه الگوریتم یادگیری نظارت‌شده، را فراهم می‌کند. معمولاً چنین نمایشی برای الگوریتم‌های یادگیری نظارت‌شده استفاده می‌شود، اگرچه در یادگیری بدون ناظر نیز کاربرد دارد. معمولاً به کاربرد این ماتریس در الگوریتم‌های بدون ناظر ماتریس تطابق می گویند.
هر ستون از ماتریس، نمونه‌ای از مقدار پیش‌بینی شده را نشان می‌دهد. در صورتی که هر سطر نمونه‌ای واقعی (درست) را در بر دارد یا بالعکس؛ هر دو شیوه در متون علمی یافت می‌شوند. بنابراین درایه‌های روی قطر اصلی ماتریس، نمونه‌هایی را نشان می‌دهند که به‌درستی پیش‌بینی شده‌اند. دلیل نام‌گذاری این ماتریس آن است که به‌سادگی می‌توان مشاهده کردکه  آیا سیستم دو رده را با هم اشتباه می‌گیرد یا خیر (برای مثال در برچسب‌گذاری اشتباه یکی به‌جای دیگری). در خارج از حوزه هوش مصنوعی، این ماتریس معمولاً ماتریس پیشایندی یا ماتریس خطا نامیده می‌شود.
در مباحث هوش مصنوعی از این جدول برای تعیین مقدار شاخص‌های ارزیابی مانند دقت و صحت استفاده می‌شود. دقت، عبارت است از اینکه "چه میزان از نمونه‌های انتخابی درست هستند" و صحت بر این مفهوم که "چه میزان از نمونه‌های صحیح موجود انتخاب شده اند" دلالت دارند. البته ممکن است در منابعی، Accuracy نیز دقت ترجمه شود که مفهومی کاملاً متفاوت داشته و بر میزان نمونه‌هایی اشاره دارد که سیستم در تشخیص آن‌ها موفق بوده‌است. 

## مثال
فرض کنید یک مجموعه نمونه شامل ۱۲ فرد داریم که ۸ نفر آن‌ها مبتلا به سرطان تشخیص داده شده‌اند و ۴ نفر بدون سرطان هستند؛ به‌طوری‌که افراد مبتلا به سرطان در رده ۱ (مثبت) و افراد غیرمبتلا در رده ۰ (منفی) قرار می‌گیرند. در این صورت می‌توان داده‌ها را به شکل زیر نمایش داد:
| شمارهٔ فرد | ۱ | ۲ | ۳ | ۴ | ۵ | ۶ | ۷ | ۸ | ۹ | ۱۰ | ۱۱ | ۱۲ |
| --------- | - | - | - | - | - | - | - | - | - | -- | -- | -- |
| رده واقعی | ۱ | ۱ | ۱ | ۱ | ۱ | ۱ | ۱ | ۱ | ۰ | ۰  | ۰  | ۰  |

فرض کنید یک روش تفکیک کننده در اختیار داریم که به طریقی افراد مبتلا یا غیرمبتلا به سرطان را تفکیک می‌کند. حال اگر این ۱۲ فرد را از این طبقه‌بند عبور دهیم، این طبقه‌بند ۹ پیش‌بینی صحیح و ۳ پیش‌بینی نادرست دارد: ۲ نفر مبتلا به سرطان به‌اشتباه غیرمبتلا پیش‌بینی شده‌اند (نمونه‌های ۱ و ۲)، و ۱ نفر غیرمبتلا به‌اشتباه مبتلا پیش‌بینی شده است (نمونهٔ ۹).
| شماره فرد      | ۱ | ۲ | ۳ | ۴ | ۵ | ۶ | ۷ | ۸ | ۹ | ۱۰ | ۱۱ | ۱۲ |
| -------------- | - | - | - | - | - | - | - | - | - | -- | -- | -- |
| رده واقعی      | ۱ | ۱ | ۱ | ۱ | ۱ | ۱ | ۱ | ۱ | ۰ | ۰  | ۰  | ۰  |
| رده پیش‌بینی‌شده | ۰ | ۰ | ۱ | ۱ | ۱ | ۱ | ۱ | ۱ | ۱ | ۰  | ۰  | ۰  |

توجه کنید که اگر مجموعه رده‌بندی داده واقعی را با رده‌بندی پیش‌بینی‌شده مقایسه کنیم، برای هر برآیند ممکن است چهار نتیجه متفاوت رخ بدهد. 
1. نخست، اگر رده واقعی مثبت باشد و رده پیش‌بینی‌شده نیز مثبت (۱،۱)، به این حالت یک نتیجهٔ «مثبت درست»[ج] گفته می‌شود، زیرا نمونهٔ مثبت به‌درستی شناسایی شده است.
2. دوم، اگر رده واقعی مثبت و رده پیش‌بینی‌شده منفی باشد (۱،۰)، «منفی نادرست»[چ] نام دارد، زیرا نمونهٔ مثبت به اشتباه منفی در نظر گرفته شده است.
3. سوم، اگر رده واقعی منفی و رده پیش‌بینی‌شده مثبت (۰،۱) باشد، «مثبت نادرست»[ح] نام دارد، چون نمونهٔ منفی به‌اشتباه مثبت تشخیص داده شده است.
4. چهارم، اگر رده واقعی منفی و رده پیش‌بینی‌شده منفی (۰،۰) باشد، «منفی درست»[خ] نامیده می‌شود، زیرا نمونهٔ منفی به‌درستی تشخیص داده شده است.

در نتیجه می‌توانیم مقایسهٔ بین رده‌بندی واقعی و پیش‌بینی‌شده را انجام داده و این اطلاعات را به جدول اضافه کنیم و نتایج درست را با رنگ سبز نمایش دهیم تا شناسایی‌شان ساده‌تر باشد.
| شمارهٔ فرد      | ۱  | ۲  | ۳  | ۴  | ۵  | ۶  | ۷  | ۸  | ۹  | ۱۰ | ۱۱ | ۱۲ |
| -------------- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
| رده واقعی      | ۱  | ۱  | ۱  | ۱  | ۱  | ۱  | ۱  | ۱  | ۰  | ۰  | ۰  | ۰  |
| رده پیش‌بینی‌شده | ۰  | ۰  | ۱  | ۱  | ۱  | ۱  | ۱  | ۱  | ۱  | ۰  | ۰  | ۰  |
| نتیجه          | FN | FN | TP | TP | TP | TP | TP | TP | FP | TN | TN | TN |

الگوی پایه برای هر ماتریس درهم‌ریختگی دودویی از همان چهار نوع نتیجهٔ بیان‌شده در بالا (مثبت درست، منفی نادرست، مثبت نادرست و منفی درست) همراه با رده‌های مثبت و منفی استفاده می‌کند. این چهار حالت را می‌توان در یک «ماتریس درهم‌ریختگی» ۲×۲ به صورت زیر فرموله کرد:
|                  |           | رده پیش‌بینی‌شده   |                  |
| کل جامعه = P + N | مثبت (PP) | منفی (PN)        |                  |
| رده واقعی        | مثبت (P)  | مثبت درست (TP)   | منفی نادرست (FN) |
| رده واقعی        | منفی (N)  | مثبت نادرست (FP) | منفی درست (TN)   |
| Sources:         |           |                  |                  |

رنگ‌بندی‌هایی که در سه جدول دادهٔ بالا استفاده شده، با همین ماتریس درهم‌ریختگی هماهنگ است تا افتراق داده‌ها آسان‌تر شود.
اکنون می‌توان ساده‌تر تعداد هر نوع نتیجه را جمع زد و آن‌ها را در قالب قرار داد و یک ماتریس درهم‌ریختگی ساخت که چکیده‌ای مختصر از نتایج آزمون دسته‌بند ارائه کند:
|                     |               | رده پیش‌بینی‌شده |   |
| کل جامعه 8 + 4 = 12 | دارای سرطان 7 | بدون سرطان 5   |   |
| رده واقعی           | دارای سرطان 8 | 6              | 2 |
| رده واقعی           | بدون سرطان 4  | 1              | 3 |

در این ماتریس درهم‌ریختگی، از میان ۸ نمونهٔ مبتلا به سرطان، سیستم ۲ مورد را به‌اشتباه سالم تشخیص داده است. همچنین از میان ۴ نمونهٔ سالم، ۱ مورد را به‌اشتباه مبتلا پیش‌بینی کرده است. تمام پیش‌بینی‌های صحیح روی قطر اصلی جدول (سبزرنگ) قرار دارند؛ پس به‌صورت بصری نیز می‌توان به‌آسانی خطاهای پیش‌بینی (یعنی مقادیری که روی قطر اصلی نیستند) را مشاهده کرد. همچنین با جمع کردن سطرهای ماتریس درهم‌ریختگی، می‌توان به تعداد کل نمونه‌های مثبت (P) و منفی (N) در مجموعه‌دادهٔ اولیه پی برد؛ یعنی {\displaystyle P=TP+FN} و {\displaystyle N=FP+TN}.

## ماتریس درهم‌ریختگی
در تحلیل پیش‌بین، «ماتریس درهم‌ریختگی» (گاه «ماتریس درهم‌ریختگی» هم نامیده می‌شود) جدولی ۲×۲ است که تعداد «مثبت واقعی»، «منفی کاذب»، «مثبت کاذب» و «منفی واقعی» را گزارش می‌کند. این جدول امکان تحلیل دقیق‌تری نسبت به صرفاً محاسبهٔ نسبت پیش‌بینی‌های درست (دقت یا Accuracy) فراهم می‌کند. اگر مجموعه‌داده نامتوازن باشد (تعداد نمونه‌ها در کلاس‌های مختلف خیلی متفاوت باشد)، صرف محاسبهٔ دقت می‌تواند گمراه‌کننده باشد.
برای نمونه، اگر در داده‌ها ۹۵ نمونه مبتلا به سرطان و فقط ۵ نمونه سالم وجود داشته باشد، ممکن است یک دسته‌بند به‌طورکلی همه را مبتلا به سرطان تشخیص دهد. در این صورت دقت کلی ۹۵٪ خواهد بود، اما با نگاهی دقیق‌تر مشخص می‌شود که برای افراد مبتلا ۱۰۰٪ میزان تشخیص درست (حساسیت) داریم ولی برای افراد سالم ۰٪! اگر از F1 نیز استفاده کنیم، در چنین مواردی ممکن است دچار خطا شویم؛ زیرا در این مثال، مقدار F1 بیش از ۹۷٫۴٪ را نشان می‌دهد، اما Informedness (شاخصی برای سنجش تصمیم آگاهانه) مقدار صفر را به دست می‌دهد، چرا که حدس‌های ما در مورد افراد سالم هیچ اطلاعاتی را منتقل نمی‌کند (همه را مثبت گرفته‌ایم).
بنابر پژوهش داویده کیکو (Davide Chicco) و جوزپه ژورمان (Giuseppe Jurman)، بااطلاع‌ترین سنجه برای ارزیابی یک ماتریس درهم‌ریختگی، ضریب همبستگی متیوز (MCC) است.
سایر سنجه‌ها را نیز می‌توان در ماتریس درهم‌ریختگی گنجاند که هریک کاربرد و اهمیت خاص خود را دارند.
|                               |                                                           | وضعیت پیش‌بینی‌شده                                            | وضعیت پیش‌بینی‌شده                                                           | منابع:                                                                                          | منابع:                                                                      |
| کل جامعه = P + N              | مثبت پیش‌بینی‌شده                                           | منفی پیش‌بینی‌شده                                             | اطلاع‌مندی (BM) = TPR + TNR − 1                                             | آستانه شیوع (PT) = √TPR × FPR - FPR/TPR - FPR                                                   |                                                                             |
| وضعیت واقعی                   | مثبت (P)                                                  | مثبت واقعی(TP)، ضربه صحیح (hit)                             | منفی کاذب (FN)، عدم تشخیص، کمتر از واقع برآورد شده (miss)                  | نرخ مثبت واقعی (TPR)، بازیابی، حساسیت (SEN)، احتمال تشخیص، نرخ ضربه صحیح، توان = TP/P = 1 − FNR | نرخ منفی کاذب (FNR)، نرخ عدم تشخیص (miss rate)خطای نوع دوم = FN/P = 1 − TPR |
| وضعیت واقعی                   | منفی (N)                                                  | مثبت کاذب (FP)، آلارم اشتباه، آژیر کاذب، برآورد بیش از واقع | منفی واقعی (TN) ، رد صحیح (correct rejection)                              | نرخ مثبت کاذب (FPR)، احتمال آژیر کاذب، fall-out خطای نوع اول = FP/N = 1 − TNR                   | نرخ منفی واقعی (TNR)، ویژگی (specificity)، گزینش‌پذیری = TN/N = 1 − FPR      |
|                               | شیوع = P/P + N                                            | ارزش اخباری مثبت (PPV)، دقت = TP/TP + FP = 1 − FDR          | نرخ حذف اشتباه (FOR) = FN/TN + FN = 1 − NPV                                | نسبت درست‌نمایی مثبت (LR+) = TPR/FPR                                                             | نسبت درست‌نمایی منفی (LR−) = FNR/TNR                                         |
| صحت (ACC) = TP + TN/P + N     | نرخ کشف اشتباه (FDR) = FP/TP + FP = 1 − PPV               | ارزش اخباری منفی (NPV) = TN/TN + FN = 1 − FOR               | نشانداری (MK)، deltaP (Δp) = PPV + NPV − 1                                 | نسبت شانس تشخیصی (DOR) = LR+/LR−                                                                |                                                                             |
| دقت متعادل (BA) = TPR + TNR/2 | امتیاز اف ۱ = 2 PPV × TPR/PPV + TPR = 2 TP/2 TP + FP + FN | شاخص فاوکس–مالوز (FM) = √PPV × TPR                          | ضریب همبستگی متیوز (MCC) = √TPR × TNR × PPV × NPV - √FNR × FPR × FOR × FDR | شاخص جاکارد، امتیاز تهدید (TS)، شاخص موفقیت بحرانی (CSI) = TP/TP + FN + FP                      | شاخص جاکارد، امتیاز تهدید (TS)، شاخص موفقیت بحرانی (CSI) = TP/TP + FN + FP  |

1. ↑  confusion matrix
2. ↑  contingency matrix
3. ↑  error matrix
4. ↑  Precision
5. ↑  Recall
6. ↑  True Positive
7. ↑  False Negative
8. ↑  False Positive
9. ↑  True Negative
10. ↑  تعداد موارد واقعاً مثبت در داده‌ها
11. ↑  نتیجه‌ای که درست نشان می‌دهد یک وضعیت یا ویژگی حضور دارد
12. ↑  خطای نوع دوم: نتیجه‌ای که به‌اشتباه نشان می‌دهد یک ویژگی یا وضعیت حضور ندارد
13. ↑  تعداد موارد واقعاً منفی در داده‌ها
14. ↑  نتیجه‌ای که درست نشان می‌دهد یک وضعیت یا ویژگی غایب است
15. ↑  خطای نوع اول: نتیجه‌ای که به‌اشتباه نشان می‌دهد یک ویژگی یا وضعیت حضور دارد


## ماتریس‌های سردرگمی با بیش از دو رده
ماتریس درهم‌ریختگی منحصر به مسائل دودویی نیست و در طبقه‌بندهای چندرده‌ای هم قابل استفاده است. ماتریس‌های سردرگمی‌ای که پیش‌تر گفتیم فقط دو شرط داشتند (مثبت و منفی). جدول زیر خلاصه از وضعیت ادراک را بین دو محاوره کننده به زبان سوتی می‌کند که برای ساده شدن، سلول‌های صفر در آن حذف شده‌اند:
| اصوات دریافتیاصوات تولیدی | i  | e | a  | o  | u |
| ------------------------- | -- | - | -- | -- | - |
| i                         | 15 |   | 1  |    |   |
| e                         | 1  |   | 1  |    |   |
| a                         |    |   | 79 | 5  |   |
| o                         |    |   | 4  | 15 | 3 |
| u                         |    |   |    | 2  | 2 |


### مثال
فرض کنیم الگوریتمی برای دسته‌بندی بین گربه‌ها، سگ‌ها، خرگوش‌ها طراحی کرده‌ایم. فرض کنیم در این مثال ۸ گربه، ۶ سگ و ۱۳ خرگوش داریم. در سطر مربوط به گربه‌ها، ۵ مورد به عنوان گربه و 3 مورد به عنوان سگ دسته‌بندی شده‌اند. در صورتی که در سطر مربوط به خرگوش‌ها، تنها چند مورد اشتباه وجود دارد. به سادگی مشاهده می‌شود که عملکرد الگوریتم در تمیز دادن دسته‌های خرگوش‌ها نسبت به گربه‌ها بسیار بهتر است. مشخص است که اعداد روی قطر اصلی ماتریس نمایش تعداد دسته‌بندی‌های درست هستند. لذا در صورتی که تمام اعداد غیر روی قطر اصلی صفر باشند، الگوریتم دارای بالاترین دقت ممکن است.
برای بدست آوردن بازدهی یک دسته‌بندی‌کننده کافی است مجموع عناصر قطر اصلی را بر مجموع کل عناصر ماتریس تقسیم نمود.
|                  |       | کلاس پیش‌بینی شده | کلاس پیش‌بینی شده | کلاس پیش‌بینی شده |
| گربه             | سگ    | خرگوش            |                  |                  |
| ---------------- | ----- | ---------------- | ---------------- | ---------------- |
| کلاس واقعی class | گربه  | ۵                | ۳                | ۰                |
| کلاس واقعی class | سگ    | ۲                | ۳                | ۱                |
| کلاس واقعی class | خرگوش | ۰                | ۲                | ۱۱               |