مبادئ عامة

[مقدمة في الذكاء الاصطناعي] 7- شرح مصفوفة الخلط Confusion Matrix ومقاييس الدقة والإحكام في التصنيف Classification

بدايةً يجب أن تكون قد أكملت قراءة الدرس الماضي عن تقنية التصنيف Classification في التعلم بإشراف الالة Machine Supervised Learning

رابط الدرس السابق : https://ai-wd.com/2018/415-intro-ai-classification-machine-supervised-learning

 

كما تبين لنا من الدرس السابق أن حالات “الايجابي الحقيقي والايجابي الخاطئ, والسلبي الحقيقي والسلبي الخاطئ” لها أثر كبير في تحديد مدى دقة وصحة برنامجك .

 

هذه الأنواع الحالات عادةً يتم عرضها وتلخيصها ضمن مايعرف بـ “مصفوفة الخلط Confusion Matrix” التي توفر أساس مقاييس حساب الأداء للمصنِف Classifier

confusion matrix ai - مصفوفة الخلط في الذكاء الاصطناعي وتعلم الالة

ومن أبسط مقاييس الحكم على أداء المصنِف هو “الدقة Accuracy”

وهو عدد الحالات التي تم تصنيفها بشكل صحيح / عدد الحالات الكلية

وفي هذه الحالة مثلاً لدينا 5 حالات “إيجابي حقيقي” و4 حالات “سلبي حقيقي”, وأيضاً لدينا حالتان “إيجابي خاطئ” وولا حالة “سلبي خاطئ”

 

وهذا يعطينا 9 حالات توقع صحيح قام بها برنامجنا من أصل 11 حالة

وبهذا تكون الدقة = 9/11 = 0.82 أو 82%

وللوهلة الاولى قد يبدو هذا الرقم جيداً , ولكن في الواقع أن “الدقة” ليست المقياس الوحيد على صحة المصنِف .

لنفرض أن 3% من سكان العالم مصابين بمرض السكري .

بكل بساطة يمكنني صنع برنامج دائماً يعطي النتيجة 0 , وبهذه الحالة تكون دقته تساوي 97% !

ولكنه يكون فعلياً عديم النفع في التعرف على حالات المحتملة للمصابين بالسكري.

 

يوجد مقياس آخر على صحة نتائج برنامجنا ويدعى “الإحكام Precision”

الإحكام = عدد الحالات الإيجابية الحقيقية / عدد الحالات الإيجابية الحقيقية + عدد الحالات السلبية الخاطئة

 

وفي هذه الحالة لدينا 5 حالات إيجابي حقيقي وحالتان إيجابي خاطئ

وبذلك يكون الإحكام = 5/7 = 0.71 أو 71%

 

وهكذا يكون 71% من الحالات صحيحة فقط من الحالات التي تنبأ برنامجنا أنها مصابة بالسكري

 

في بعض الحالات قد نحتاج لمقياس حساس ﻷجزاء الحالات الايجابية وعندها  نستخدم مقياس “الاستدعاء Recall” او يسمى أحياناً “معدل الحالات الإيجابية الحقيقية True Positive Rate”

وهو ,, عدد الحالات الإيجابية الصحيحة / عدد الحالات الإيجابية الصحيحة + السلبية الخاطئة

 

أو بكلمات اخرى ,, ماهي نسبة الحالات الحقيقية التي تنبأ بها برنامجنا ؟

وفي هذه الحالة يوجد لدينا 5 حالات إيجابية حقيقية وولا حالة سلبية خاطئة .

وبذلك يكون معدل الحالات الايجابية الحقيقية = 5/5 = 1 أو 100%

وبهذا يكون برنامجنا قد تنبأ بشكل صحيح 100% من الحالات المصابة بالسكري .

 

يوجد مقياس آخر مكافئ للحالات السلبية الخاطئة , وفي هذه الحالة لدينا حالتان إيجابي خاطئ و4 حالات سلبي حقيقي

وبذلك يكون معدل الحالات السلبية الخاطئة = 2/6 = 0.33 أو 33%

 

تذكر الان ان القياسات التي قمنا بها كان تعتمد على حد فاصل = 0.3

ويمكننا دائماً أن نعدل الحد الفاصل بين التصنيفين 1 و 0

 

فمثلاً لو أعدنا الحد الفاصل ليكون 0.5

معدل الحالات الايجابي الحقيقي سيصبح 4 من أصل 5 أو 0.8

ومعدل الحالات الايجابية الخاطئة سيصبح 1 من أصل 6 أو 0.16

 

ولو عدلنا الحد الفاصل ليكون 0.7

فإن هذا سيعطينا معدل حالات ايجابية حقيقية 2 من أصل 5 او 0.4

ومعدل الحالات الايجابية الخاطئة سيصبح 0 من أصل 6 أو 0

 

ولو ظللنا نعدل قيمة الحد الفاصل هذا سيعطينا نتائج مختلفة للمقاييس

ولو مثلنا هذه النتائج على شكل رسم بياني فسيظهر لنا خط منحرف يبدو كما في الصورة ..

وهذا الرسم يدعى بـ “خصائص المشغل المتلقي receiver operator characteristic” أو رسم ROC اختصاراً

وتكون المنطقة تحت الخط المنحني تدل على مدى صحة برنامجنا ودقته

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

وفي حالة كان لدينا برنامج تصنيف مثالي , سنرى الخط في بدايته يرتفع مباشرة نحو القمة اليسارية .

 

 

 

 – فراس معن

 

اترك تعليقاً