#classification-metrics — التعلّم المُشرَف
الدقّة، الاستدعائيّة، F1، مصفوفة الالتباس، ROC وAUC: قراءة مصنِّف بأمانة، خاصّة عند اختلال توازن الفئات.
ما ستُجرّبه
- مرحبًا بك في #classification-metrics. على اليسار، درجات أسندها نموذج إلى 600 مثال: السالبات بالأزرق، الموجَبات بالورديّ (30% من المجموع)، وشفرة صفراء عند
0.5: العتبة (threshold). في الوسط، مصفوفة الالتباس (confusion matrix) التي تنبثق: الموجَبات الحقيقيّة (أخضر)، السالبات الحقيقيّة (أزرق)، الموجَبات الخاطئة (أصفر)، السالبات الخاطئة (أحمر). لا يجيب النموذج أبدًا بـ «نعم» أو «لا»: يعطي درجة، وأنت من يختار موضع القطع. كلّ ما يلي يُبيِّن ثمن هذا الاختيار. - ارفع العتبة: اكتب
/threshold 0.8. تنزلق الشفرة الصفراء إلى اليمين: لا يمرّ سالب تقريبًا… لكنّ كثيرًا من الموجَبات تبقى تحتها. - افعل العكس:
/threshold 0.2. هذه المرّة نلتقط كلّ موجَب تقريبًا… وكثيرًا من السالبات معهم. - كلّ عتبة مفاضلة مختلفة. لرؤيتها جميعًا دفعة واحدة، ارسم منحنى ROC:
/roc. - الآن حالة واقعيّة: احتيال، مرض نادر، عطل… أبقِ 5% موجَبات فقط:
/imbalance 0.05. - أين نقطع إذًا؟ دع الآلة تجد العتبة التي تُعظِّم F1:
/optimize f1. - العلاج الحقيقيّ الوحيد هو نموذج أفضل. بعِّد التوزيعَين:
/separation 2.5. - دورك:
/precision-recallلمنحنى الدقّة-الاستدعائيّة (أصدق من ROC عندما تكون الموجَبات نادرة)،/optimize youdenللعتبة التي تُعظِّم TPR − FPR،/noise 0.25لنموذج أكثر ارتجاجًا،/imbalance 0.5لفئات متوازنة،/n 2000لتنعيم المخطّطات،/seed 42لسحب آخر،/resetللعودة إلى البداية. ثمّ: #logistic-regression، حيث تُبنى هذه الدرجات، و#overfitting، حيث نتعلّم ألّا نخدع أنفسنا على بيانات التدريب.
أوامر القناة
/threshold <0..1>— يحرّك عتبة القرار: موجَب إذا كانت الدرجة ≥ العتبة./separation <0..3>— جودة النموذج: الفارق بين درجات الفئتَين./imbalance <0.05..0.5>— انتشار الموجَبات: 0.05 = فئة نادرة، 0.5 = فئات متوازنة./roc— يُظهر أو يُخفي المنحنى (ROC أو الدقّة-الاستدعائيّة) على اليمين./precision-recall— يبدّل بين منحنى ROC ومنحنى الدقّة-الاستدعائيّة./optimize <f1|precision|recall|youden>— يضع العتبة التي تُحسِّن المعيار المختار./n <100..2000>— عدد الأمثلة المُحاكاة (سحب جديد)./noise <0.05..0.3>— الانحراف المعياريّ σ للدرجات: كلّما زاد، زاد تداخل الفئتَين./seed <1..99>— سحب عشوائيّ آخر بالمعاملات ذاتها./reset— يعيد العتبة إلى 0.5، الفصل إلى 1.5، الانتشار إلى 0.3، 600 مثال، والمنحنى مخفيًّا.
المسرد
- عتبة القرار (decision threshold)
- القيمة t التي فوقها تُعدّ الدرجة موجَبة. لا يختارها النموذج: هي مقبض عمليّ يُوازن بين الموجَبات الخاطئة والسالبات الخاطئة، وكلّ موضع للمقبض يعطي مصفوفة التباس مختلفة.
- مصفوفة الالتباس (confusion matrix)
- جدول 2×2 يقاطع الواقع بالتنبّؤ: موجَبات حقيقيّة (TP، موجَبات التُقطت بشكل صحيح)، سالبات حقيقيّة (TN)، موجَبات خاطئة (FP، إنذارات كاذبة) وسالبات خاطئة (FN، موجَبات مفقودة). يمكن قراءة كلّ مقاييس التصنيف من هذه الخانات الأربع.
- الدقّة (precision)
- من بين الأمثلة المتوقَّعة موجَبة، الحصّة التي هي فعلًا كذلك:
TP / (TP + FP). تقيس موثوقيّة الإنذار؛ تفضّلها عندما يُكلِّف الإنذار الكاذب كثيرًا (البريد المزعج، الإشراف). - الاستدعائيّة / الحساسيّة (recall / sensitivity)
- من بين الموجَبات الحقيقيّة، الحصّة التي يستردّها النموذج:
TP / (TP + FN). هي أيضًا معدّل الموجَبات الحقيقيّة (TPR)، محور y لمنحنى ROC؛ تفضّلها عندما يُكلِّف تفويت موجَب كثيرًا (الفحص، الاحتيال). - النوعيّة (specificity)
- من بين السالبات الحقيقيّة، الحصّة المتروكة جانبًا بشكل صحيح:
TN / (TN + FP). مُتمّمها1 − specificityهو معدّل الموجَبات الخاطئة (FPR)، محور x لمنحنى ROC. - درجة F1
- المتوسّط التوافقيّ للدقّة والاستدعائيّة:
2·P·R / (P + R). مرتفعة فقط حين تكون الاثنتان مرتفعتَين، وتتجاهل السالبات الحقيقيّة: المقياس الذي ينبغي قراءته حين تكون الفئة الموجَبة نادرة. - الدقّة الإجماليّة (accuracy)
- حصّة التنبّؤات الصحيحة:
(TP + TN) / n. مضلِّلة فور اختلال توازن الفئات: مع 5% موجَبات، الإجابة الدائمة «سالب» تسجّل 95% دون أن تكتشف شيئًا. - منحنى ROC وAUC
- منحنى معدّل الموجَبات الحقيقيّة مقابل معدّل الموجَبات الخاطئة لكلّ عتبة ممكنة؛ القطر هو الصدفة. AUC (المساحة تحت المنحنى) يقيّم الترتيب بمعزل عن العتبة: احتمال أن يحصل موجَب على درجة أعلى من سالب، 0.5 = صدفة، 1 = مثاليّ.
- منحنى الدقّة-الاستدعائيّة (precision-recall curve)
- الدقّة مقابل الاستدعائيّة لكلّ عتبة. بما أنّه يتجاهل السالبات الحقيقيّة، يبقى صارمًا عندما تكون الموجَبات نادرة، حيث يُطري ROC النموذج؛ خطّه المرجعيّ هو الانتشار، لا القطر.
- اختلال توازن الفئات (class imbalance)
- وضع تكون فيه فئة أكثر شيوعًا بكثير من الأخرى (احتيال، مرض نادر، عطل). تصير الدقّة الإجماليّة عديمة الفائدة؛ اقرأ الدقّة والاستدعائيّة وF1 أو منحنى الدقّة-الاستدعائيّة بدلًا منها، واختر العتبة على بيّنة من المفاضلة.
قنوات أخرى في التعلّم المُشرَف
- #live-training — ستّ خوارزميات تتعلّم أمام عينيك كفيديو: REC، عدّاد زمني، تعليقات توضيحية، مؤشّرات مباشرة. المشاهدة مجانية؛ تعديل النموذج بريميوم.
- #linear-regression — مطابقة خطّ: المربّعات الصغرى، البواقي، MSE، R² والنزول التدرّجي — اللبنة الأولى لكلّ نموذج تعلّم مُوجَّه.
- #logistic-regression — التصنيف إلى فئتين: السيغمويد، حدّ القرار، العتبة والخسارة اللوغاريتمية — ولماذا لا يكفي الخطّ دائمًا.
- #decision-trees — شجرة تنحت المستوى إلى مستطيلات: جيني، الإنتروبيا، العمق، التقليم — وفرط التعلّم الذي تراه بأمّ عينيك.
- #knn — أقرب k جار: صنِّف بالشبه، اختر k، غيّر المسافة — وشاهد الحدّ ينعم أو يتشظّى.
- #svm-margins — آلات متّجهات الدعم: أوسع هامش ممكن، المعامل C، ونواة RBF التي تُقوِّس الحدّ.
- #classification-metrics — الدقّة، الاستدعائيّة، F1، مصفوفة الالتباس، ROC وAUC: قراءة مصنِّف بأمانة، خاصّة عند اختلال توازن الفئات.