مصفوفة الارتباك في التعلم الآلي مع مثال

⚡ ملخص ذكي

مصفوفة الارتباك هي جدول لقياس أداء نماذج التصنيف يقارن التصنيفات المتوقعة بالتصنيفات الفعلية المعروفة، مما يكشف بدقة عن الفئات التي يصنفها المصنف بشكل صحيح والفئات التي يخطئ فيها.

  • 🔘 أربع نتائج: القيم الإيجابية الحقيقية، والسلبية الحقيقية، والإيجابية الكاذبة، والسلبية الكاذبة تملأ كل خلية من خلايا المصفوفة الثنائية.
  • ☑️ أنواع الأخطاء: النتيجة الإيجابية الخاطئة هي خطأ من النوع الأول، بينما النتيجة السلبية الخاطئة هي خطأ من النوع الثاني.
  • ✅ المقاييس المشتقة: تأتي الدقة والضبط والاستدعاء والنوعية ودرجة F1 جميعها من نفس العوامل الأربعة.
  • 🧪 ما وراء الدقة: في حالة البيانات غير المتوازنة، تعمل الدقة على تحسين النموذج، بينما تكشف المصفوفة عن الفئة التي يفشل فيها النموذج فعلياً.
  • 🛠️ عرض متعدد الفئات: تُنتج الفئات N شبكة N×N حيث يحتوي القطر على كل تنبؤ صحيح.
  • ⚙️ Python طريق: يقوم scikit-learn ببناء نفس الجدول في سطرين باستخدام confusion_matrix() و classification_report().

مصفوفة الارتباك في التعلم الآلي مع مثال

ما هي مصفوفة الارتباك؟

A الارتباك مصفوفة هي تقنية لقياس الأداء لـ آلة التعلم التصنيف. هو جدول يوضح أداء نموذج التصنيف على مجموعة بيانات اختبارية معروفة قيمها الحقيقية مسبقًا. مصطلح "مصفوفة الارتباك" بسيط، لكن المصطلحات المستخدمة فيه قد تكون مُربكة، لذا سنشرح كل جزء منها بلغة مبسطة أدناه.

تنطبق المصفوفة على أي المصنف الخاضع للإشراف — الانحدار اللوجستي، شجرة القرار، أ نموذج بايز ساذج أو الشبكة العصبية العميقة — لأنه يقارن فقط عمودين من التصنيفات: ما تنبأ به النموذج وما كان صحيحًا بالفعل.

أربع نتائج لمصفوفة الارتباك

تعمل مصفوفة الارتباك على توضيح دقة المصنف من خلال مقارنة الفئات الفعلية والمتوقعة. تتكون مصفوفة الارتباك الثنائية من مربعات:

جدول الارتباك الثنائي الذي يوضح أرباع TP وFP وFN وTN
جدول الارتباك

يوضح الجدول أعلاه المربعات الأربعة التي تحتوي عليها كل مصفوفة ارتباك ثنائية:

  • TP: إيجابي حقيقي: تم التنبؤ بالقيم المتوقعة بشكل صحيح على أنها قيم موجبة فعلية
  • FP: نتيجة إيجابية خاطئة: تم التنبؤ بالقيم بشكل خاطئ على أنها موجبة فعلية، أي تم التنبؤ بالقيم السالبة على أنها موجبة.
  • FN: نتيجة سلبية خاطئة: القيم الموجبة تُعتبر قيماً سالبة
  • TN: سلبي حقيقي: تم التنبؤ بالقيم المتوقعة بشكل صحيح على أنها قيمة سالبة فعلية

تُطلق الإحصائيات على خليتي الخطأ اسمين خاصين بهما. والنتيجة الإيجابية الخاطئة هي خطأ من النوع الأول أثار النموذج إنذارًا ما كان ينبغي إطلاقه أبدًا. النتيجة السلبية الخاطئة هي خطأ من النوع الثاني — التزم النموذج الصمت في حين كان ينبغي عليه إطلاق الإنذار. معرفة أي الخيارين أكثر تكلفة لحل مشكلتك يحدد المقياس الذي ستضبطه لاحقًا.

يمكنك حساب اختبار الدقة من مصفوفة الارتباك، كما توضح الصيغة أدناه:

صيغة الدقة المستمدة من نتائج مصفوفة الارتباك الأربعة

مثال على مصفوفة الارتباك

مصفوفة الارتباك هي أسلوب مفيد في التعلم الآلي، يسمح لك بقياس الاستدعاء، والدقة، والصحة، ومنحنى AUC-ROC. يوضح المثال التالي في كرة القدم معاني المصطلحات: إيجابي صحيح، سلبي صحيح، إيجابي خاطئ، وسلبي خاطئ، وذلك بلغة بسيطة.

صحيح إيجابي:

توقعتَ نتيجة إيجابية، وقد صدقت توقعاتك. على سبيل المثال، توقعتَ فوز فرنسا بكأس العالم، وقد فازت بالفعل.

سلبي حقيقي:

توقعتَ نتيجة سلبية، وهذا صحيح أيضاً. لقد توقعتَ أن إنجلترا لن تفوز، وقد خسرت.

إيجابية كاذبة:

توقعاتك إيجابية وهي كاذبة.

كنت تتوقع فوز إنجلترا، لكنها خسرت.

سلبي خطأ:

توقعك سلبي، والنتيجة تجعله خاطئاً.

لقد توقعت أن فرنسا لن تفوز، لكنها فازت.

يجب أن تتذكر أن الكلمة الأولى تصف ما إذا كان التوقع صحيحًا أم خاطئًا (صحيح أو خاطئ) والكلمة الثانية تصف ما توقعه النموذج (إيجابي أو سلبي).

كيفية حساب مصفوفة الارتباك

فيما يلي الخطوات التفصيلية لحساب مصفوفة الارتباك في استخراج البيانات:

  • الخطوة 1) أولاً، أنت بحاجة إلى مجموعة بيانات اختبارية مع قيم النتائج المتوقعة.
  • الخطوة 2) توقع جميع الصفوف في مجموعة بيانات الاختبار.
  • الخطوة 3) قارن النتائج المتوقعة بالتنبؤات وقم بالعد:
    1. مجموع التوقعات الصحيحة لكل فئة.
    2. مجموع التوقعات غير الصحيحة لكل فئة.

بعد ذلك، يتم تنظيم هذه الأرقام بالطرق الموضحة أدناه:

  • يتوافق كل صف من صفوف المصفوفة مع فئة فعلية.
  • يرتبط كل عمود من أعمدة المصفوفة بفئة متوقعة.
  • يتم إدخال إجمالي عدد التصنيفات الصحيحة وغير الصحيحة في الجدول.
  • يتم وضع مجموع التوقعات الصحيحة لفئة معينة في الخلية التي يلتقي فيها الصف الفعلي لتلك الفئة مع عمودها المتوقع - أي في القطر.
  • يتم وضع مجموع التنبؤات غير الصحيحة لفئة معينة في الصف الفعلي لقيمة تلك الفئة وفي العمود المتوقع للفئة التي اختارها النموذج بدلاً من ذلك.

تُعدّ أدوار الصفوف والأعمدة اصطلاحًا وليست قاعدة ثابتة، وبعض أدوات الرسم البياني تُبدّل التخطيط، لذا اقرأ دائمًا تسميات المحاور قبل تفسير المصفوفة. التوجيه المستخدم هنا - الفعلي في الصفوف، والمتوقع في الأعمدة - هو التوجيه الذي تُنتجه مكتبة scikit-learn.

مصطلحات مهمة أخرى باستخدام مصفوفة الارتباك

بمجرد تحديد القيم الأربع، تصف مجموعة من المصطلحات الثانوية شرائح مختلفة من نفس الجدول:

  • القيمة التنبؤية الإيجابية (PPV): هذا قريب جدًا من الدقة. أحد الفروق الجوهرية بين المصطلحين هو أن القيمة التنبؤية الإيجابية تأخذ الانتشار في الحسبان. في حالة التوازن التام بين الفئات، تكون القيمة التنبؤية الإيجابية مساوية للدقة.
  • معدل الخطأ الفارغ: يُحدد هذا المصطلح مدى احتمالية خطأ توقعاتك إذا توقعت دائمًا الفئة الأكثر شيوعًا. يمكنك اعتباره مقياسًا أساسيًا لمقارنة أداء المصنف الخاص بك.
  • درجة ف: تُعتبر درجة F1 متوسطًا مرجحًا لمعدل الإيجابية الحقيقية (الاستدعاء) والدقة.
  • منحنى ROC: يرسم منحنى ROC معدل الإيجابية الحقيقية مقابل معدل الإيجابية الكاذبة عند نقاط قطع مختلفة. كما يوضح المفاضلة بين الحساسية (الاستدعاء) والنوعية، وهي معدل السلبية الحقيقية.
  • الدقة: يُظهر مقياس الدقة دقة الفئة الإيجابية. إنه يقيس مدى احتمالية صحة التنبؤ بالفئة الإيجابية.

معادلة الدقة: عدد النتائج الإيجابية الصحيحة مقسومًا على مجموع النتائج الإيجابية الصحيحة والنتائج الإيجابية الخاطئة

تكون أعلى درجة هي 1 عندما يصنف المصنف جميع القيم الموجبة بدقة تامة. لا يُعدّ مقياس الدقة وحده مفيدًا جدًا لأنه يتجاهل الفئة السالبة. عادةً ما يُقترن هذا المقياس بمقياس الاستدعاء. يُسمى الاستدعاء أيضًا بالحساسية أو معدل الإيجابية الحقيقية، ويُكتب كما هو موضح أدناه.

  • حساسية: تحسب الحساسية نسبة الفئات الإيجابية التي تم اكتشافها بشكل صحيح. يوضح هذا المقياس مدى جودة النموذج في التعرف على الفئة الإيجابية.

معادلة الحساسية: عدد النتائج الإيجابية الحقيقية مقسومًا على مجموع النتائج الإيجابية الحقيقية والنتائج السلبية الخاطئة

مقاييس ومعادلات مصفوفة الارتباك

كل مقياس مما سبق هو عملية حسابية على نفس النقاط الأربع، لذلك من المفيد رؤيتها جنبًا إلى جنب مع السؤال الذي يجيب عليه كل منها.

متري المعادلة السؤال يجيب عليه استخدمه عندما
الدقة (TP + TN) / (TP + TN + FP + FN) كم عدد التوقعات التي كانت صحيحة إجمالاً؟ الفصول الدراسية متوازنة تقريبًا
دقة TP / (TP + FP) عندما يقول النموذج نتيجة إيجابية، فكم مرة يكون ذلك صحيحاً؟ الإنذارات الكاذبة مكلفة
أذكر (حساسية) TP / (TP + FN) من بين جميع الحالات الإيجابية الحقيقية، كم عدد الحالات التي تم اكتشافها؟ إن عدم اكتشاف الحالات الإيجابية مكلف
النوعية TN / (TN + FP) من بين جميع الحالات السلبية الحقيقية، كم منها تمت تبرئتها؟ الطبقة السلبية مهمة أيضاً
نقاط F1 2 × (الدقة × الاستدعاء) / (الدقة + الاستدعاء) ما هو التوازن بين الاثنين؟ تحتاج إلى رقم واحد لكليهما

لنفترض أن لدينا مرشحًا للبريد العشوائي تم اختباره على 100 بريد إلكتروني، وكانت نتائجه كالتالي: TP = 45، FN = 5، FP = 10، وTN = 40. الدقة = (45 + 40) / 100 = 0.85. الدقة = 45 / (45 + 10) = 0.82، الاستدعاء = 45 / (45 + 5) = 0.90، والنوعية = 40 / (40 + 10) = 0.80. أما قيمة F1 فهي 0.86.

تكشف هذه الأرقام عن حقيقةٍ تخفيها نسبة الدقة وحدها: إذ يلتقط الفلتر 90% من الرسائل المزعجة الحقيقية، لكنه يعزل خطأً رسالةً إلكترونيةً شرعيةً واحدةً من بين كل خمس رسائل مُعلّمة. ويتوقف قبول هذه المقايضة على تكلفة كل خطأ، وهذا تحديدًا هو سبب عرض المصفوفة بدلًا من الدقة وحدها.

مصفوفة الارتباك لتصنيف متعدد الفئات

نادراً ما تتوقف مسائل التصنيف عند تصنيفين، وتتغير أبعاد المصفوفة دون تغيير شكلها. بالنسبة لعدد N من الفئات، يصبح الجدول شبكة N×N: يحتوي القطر على كل تنبؤ صحيح، وتسجل كل خلية غير قطرية الفئة التي تم الخلط بينها وبين أي فئة أخرى.

نموذج ثلاثي التصنيفات يُصنّف الصور إلى قطط وكلاب وأرانب، يُنتج شبكة 3×3. إذا كانت الخلية في الصف "قطط"، العمود "كلاب" تحتوي على 12، فهذا يعني أن 12 صورة لقطط صُنّفت ككلاب. هذا المستوى من التفصيل هو ما يجعل المصفوفة أكثر فائدة من النتيجة: فهي تُحدّد زوج التصنيفات الذي لا يستطيع النموذج فصله.

يتم تعريف الدقة والاستدعاء ومقياس F1 لكل فئة باستخدام منظور "واحد مقابل الباقي"، حيث تكون الفئة المعنية هي الفئة الموجبة، وكل ما عداها سلبي. ثم يتم دمج قيم كل فئة بإحدى ثلاث طرق:

  • المتوسط ​​الكلي: يحسب المقياس لكل فئة على حدة، ثم يأخذ المتوسط ​​غير المرجح. كل فئة لها نفس الأهمية، لذلك لا يتم تجاهل الفئات النادرة.
  • المتوسط ​​الجزئي: يتم تجميع عدد النتائج الإيجابية الصحيحة (TP) والنتائج الإيجابية الخاطئة (FP) والنتائج السلبية الخاطئة (FN) عبر جميع الفئات قبل حساب المقياس. تهيمن الفئات الكبيرة، وبالنسبة لمشاكل التصنيف الفردي، تكون الدقة الجزئية والاستدعاء الجزئي والدقة متطابقة.
  • المتوسط ​​المرجح: يقوم بحساب متوسط ​​درجات كل فئة باستخدام عدد الحالات الحقيقية لكل فئة كوزن، مما يحافظ على عدم توازن الفئات مرئيًا.

اختر الماكرو عندما تكون كل فئة مهمة بنفس القدر، واختر الموزون عندما يعكس توزيع الفئات حركة المرور الحقيقية.

كيفية إنشاء مصفوفة الارتباك في Python

تقوم مكتبة scikit-learn بإنشاء الجدول بأكمله من مصفوفتين للتصنيفات، لذا لا حاجة للعد اليدوي. يقارن المثال أدناه عشرة تصنيفات صحيحة بعشرة تنبؤات.

from sklearn.metrics import confusion_matrix

y_true = [1, 0, 1, 1, 0, 1, 0, 0, 1, 0]
y_pred = [1, 0, 1, 0, 0, 1, 1, 0, 1, 0]

cm = confusion_matrix(y_true, y_pred)
print(cm)

تُرجع هذه العملية مصفوفة NumPy بحجم 2×2 حيث يمثل الصف 0 الفئة السلبية الفعلية ويمثل الصف 1 الفئة الإيجابية الفعلية:

[[4 1]
 [1 4]]

بقراءة المصفوفة وفقًا لاتفاقية مكتبة scikit-learn، نحصل على القيم التالية: TN = 4 (أعلى اليسار)، FP = 1 (أعلى اليمين)، FN = 1 (أسفل اليسار)، وTP = 4 (أسفل اليمين). يؤدي فك هذه القيم الأربع في سطر واحد إلى إنشاء الخريطة.ping صريح:

tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()

للحصول على الدقة والاستدعاء وF1 لكل فئة في وقت واحد، بما في ذلك المتوسطات الكلية والمرجحة الموضحة أعلاه، اتصل بـ classification_report() بدلاً من حساب كل مقياس يدويًا:

from sklearn.metrics import classification_report

print(classification_report(y_true, y_pred))

للحصول على نسخة مرسومة، ConfusionMatrixDisplay.from_predictions(y_true, y_pred) يعرض الجدول نفسه كخريطة حرارية مُصنّفة. قائمة الوسائط الكاملة، بما في ذلك labels و normalize الخيارات موثقة في مرجع مصفوفة الارتباك في مكتبة scikit-learnتنطبق خطوة التقييم نفسها على النماذج المبنية باستخدام TensorFlow، لأن المقياس يعتمد فقط على التصنيفات المتوقعة.

لماذا تحتاج مصفوفة الارتباك؟

فيما يلي مزايا وفوائد استخدام مصفوفة الارتباك.

  • يوضح ذلك كيف يصبح نموذج التصنيف مرتبكًا عندما يقوم بالتنبؤات.
  • تمنحك مصفوفة الارتباك نظرة ثاقبة ليس فقط على الأخطاء التي يرتكبها المصنف الخاص بك، ولكن أيضًا على أنواع الأخطاء التي يرتكبها.
  • يساعدك هذا التحليل على التغلب على قصور استخدام دقة التصنيف وحدها.
  • يمثل كل عمود في مصفوفة الارتباك مثيلات تلك الفئة المتوقعة.
  • يمثل كل صف من مصفوفة الارتباك مثيلات الفئة الفعلية.
  • إنها تحول تقييم النموذج إلى تشخيص، يشير إلى زوج الفئات المحدد الذي يحتاج إلى مزيد من البيانات أو ميزة أفضل.

تكمن أهمية مصفوفة الارتباك التشخيصية في كونها محور مرحلة التقييم في أي علم البيانات سير العمل، ولماذا عادةً ما يكون الجدول الأول الذي تتم مراجعته قبل ترقية المصنف إلى مرحلة الإنتاج.

الأسئلة الشائعة

إذا كانت نسبة السجلات المزورة 2% فقط، فإن نموذجًا يتنبأ بعدم وجود تزوير في كل مرة يحقق دقة 98% دون أن يكتشف أي تزوير. تكشف المصفوفة عن الخلية الإيجابية الحقيقية الفارغة فورًا، ولهذا السبب يُعدّ الاستدعاء أهم من الدقة في البيانات غير المتوازنة.

تُظهر المصفوفة المُعَيَّرة النسب بدلاً من الأعداد الخام، وعادةً ما يتم ذلك بقسمة كل خلية على مجموع صفها. وهذا يجعل مقارنة الفئات ذات الأحجام المختلفة للغاية سهلةً ومباشرة، على الرغم من أنها تُخفي أحجام العينات - لذا يُنصح بالإبلاغ عن كلا الإصدارين عندما تكون الفئات غير متوازنة.

أعد بناء المصفوفة عند عدة عتبات احتمالية وراقب النتائج. يؤدي خفض العتبة إلى نقل السجلات من خانة النتائج السلبية الخاطئة إلى خانة النتائج الإيجابية الصحيحة، مما يزيد من معدل الاستدعاء ولكنه يزيد أيضًا من نسبة النتائج الإيجابية الخاطئة. اختر العتبة التي يكون عندها تأثير مزيج الأخطاء المتبقية أقل ما يمكن.

لا. تحسب المصفوفة تطابقات التصنيفات المنفصلة، ​​لذا فهي تحتاج إلى فئات. أما مخرجات الانحدار فهي متصلة ويتم تقييمها باستخدام مقاييس الخطأ مثل متوسط ​​الخطأ المطلق أو معامل التحديد (R²). إن تقسيم الهدف المتصل إلى نطاقات هو الطريقة الوحيدة لجعل المصفوفة ذات معنى.

عادةً ما يكون التذكير هو الخيار الأفضل، لأن التشخيص الخاطئ يكلف أكثر بكثير من إجراء اختبار متابعة غير ضروري. ولذلك، تُصمم أدوات الفحص بحيث تُبقي نسبة النتائج السلبية الخاطئة قريبة من الصفر، وتتقبل نسبة إضافية من النتائج الإيجابية الخاطئة، والتي يتم استبعادها لاحقًا بواسطة اختبار تأكيدي.

تقوم أدوات التقييم الآلي للنماذج الآن بفحص كل خلية خارج القطر الرئيسي، وتصنيف الأخطاء الأكثر تكلفة، واقتراح الفئات التي تحتاج إلى مزيد من بيانات التدريب أو تصنيف مدمج. كما أنها تقوم بمسح العتبات تلقائيًا، مما يحول المقارنة اليدوية للمصفوفات إلى قائمة مختصرة مرتبة.

مساعد الطيار جيثب يُنشئ هذا الملف مسودة للاستيراد، واستدعاء المقياس، ورسمًا بيانيًا حراريًا انطلاقًا من تعليق قصير. تعامل مع المسودة كنقطة بداية - تأكد دائمًا من ترتيب المحاور ومعامل التسمية الموجبة بنفسك، لأن المصفوفة المنقولة تعكس كل استنتاج.

كبيرة بما يكفي بحيث يظلّ أندر فئة تملأ صفّها بعددٍ معقول - إذ ينتج عن عدد قليل من العينات مقاييس تتأرجح بشدة بين عمليات التشغيل. يوفر التحقق المتبادل، الذي يجمع المصفوفات عبر الطيات، صورةً أكثر استقرارًا من تقسيم عينة صغيرة واحدة.

تلخيص هذه التدوينة بـ: