فهم كشف الشذوذ
كلّ مسألة شذوذ تبدأ بمعدّل أساس، وهو عادةً صغير بما يكفي لكسر العادات المنقولة عن التصنيف المتوازن. فبمئة شذوذ في عشرين ألف حدث تصيب تسمية كلّ شيء عادياً 19900 مرّة: دقّة 99.50٪ لكاشف لم يتعلّم شيئاً. وأيّ مقياس يتوسّط على الصنف الأكبر يرث معدّل الأساس، فيكون القرار الأوّل أيّ مقياس ينجو منه.
ومساحة ROC تنجو منه في الظاهر فقط. فعلى كاشف واقعيّ تقرأ 0.9468 بينما يقرأ متوسّط الدقّة 0.3245، وكلاهما صحيح: إذ يقسم معدّل الإيجابيات الكاذبة على 19900 حدث عاديّ، فألف إنذار كاذب يزحزحه خمس نقاط، بينما تقسم الدقّة على عدد الإنذارات حيث تكون ألف إنذار كاذب الحكاية كلّها. والدقّة عند k ثابت هي الرقم الذي يصف ما على أحدهم معالجته: 52٪ عند أعلى 50، و36٪ عند أعلى 100، و13.4٪ عند أعلى 500.
والكواشف نفسها تنقسم عائلات بحسب ما تفترضه في معنى «الشاذّ»، وكلّ عائلة عمياء عن شيء. فعلى بيانات فيها عنقودان وعشرون شذوذاً في الفجوة المتفرّقة بينهما، وجدت مسافة ماهالانوبيس الشذوذ البعيد العشرة كلّه، ولم تجد شيئاً من العشرين في الفجوة، وسجّلت ROC قدره 0.335 - أسوأ من الصدفة، لأنّ الفجوة تقع عند المتوسّط العامّ وتلك النقاط أقلّ ما في البيانات تطرّفاً. وسجّلت غابة العزل 0.903 ولم تجد الفجوة هي أيضاً، لأنّ نقطةً في منتصف مديي الإحداثيّين تحتاج من القطوع الموازية للمحاور ما تحتاجه نقطة عادية.
والطرق المحلّية موجودة لتلك الحالة بعينها، ولها إخفاقها الخاصّ. فعامل الشذوذ المحلّي يقارن كثافة نقطة بكثافة جيرانها، وهذا يفترض أنّ الجيران عاديّون. ومع نموّ شذوذ الفجوة من 2 إلى 40 يصيرون جوار بعضهم، فيهبط استدعاء العامل المحلّي من 100٪ إلى 8٪. أمّا مسافة الجيران البسيطة، التي لا تبالي بشذوذ الجيران، فتتدهور من 100٪ إلى 25٪: وهي الحالة النادرة التي يكون فيها المنهج الأبسط أمتن.
كيفية الحساب
precision@k = (true anomalies in the top k) / k; threshold* = argmin_t [ C_FN · missed(t) + C_FP · false(t) ]
حيث
- معدّل الأساس
- نسبة المشاهدات التي هي شذوذ؛ يحدّد ما يمكن لأيّ مقياس أن يعنيه
- C_FN, C_FP
- كلفة الشذوذ الفائت وكلفة الإنذار الكاذب
- k
- طاقة الفحص، وهي التي تثبّت العتبة لا العكس
- التلوّث
- معدّل الشذوذ في البيانات التي يلقاها الكاشف، وهو يتحرّك
مثال على كشف الشذوذ
20000 حدث عند معدّل شذوذ 0.5٪: عدم الإطلاق يعطي دقّة 99.50٪، ومساحة ROC 0.9468 في مقابل متوسّط دقّة 0.3245، وأعلى 100 درجة تحوي 36 شذوذاً حقيقياً.
عنقودان بينهما فجوة متفرّقة: ماهالانوبيس 0.335، ومسافة الجيران 0.978، والعامل المحلّي 0.933، وغابة العزل 0.903 - لكن من شذوذ الفجوة العشرين يضمّ أعلى 60 في الترتيب 65٪ لمسافة الجيران، و30٪ للعامل المحلّي، ولا شيء للاثنين الآخرين.
بكلفة 500 للفوات و20 للإنذار الكاذب، تُطلِق العتبة الأدنى كلفةً 460 إنذاراً وتمسك 67 من 100 وتكلّف 24360 في مقابل 50000 لعدم الإطلاق.
الأسئلة الشائعة
أأستعمل مصنّفاً موجَّهاً بدلاً منه إن كانت لديّ تسميات؟
إن كان لديك ما يكفي من الشذوذ المسمّى فنعم: سيتفوّق المصنّف عادةً على كاشف غير موجَّه في أنواع الشذوذ التي رآها. وسبب بقاء الطرق غير الموجَّهة أنّ الشذوذ المثير هو الذي لم يقع بعد، وأنّ مصنّفاً مدرَّباً على احتيالات العام الماضي كاشفٌ لاحتيالات العام الماضي.
أين ينبغي أن تقع العتبة؟
من الكلفتين، لا من مئينيّ مستدير. فمتى سُعِّر الفوات والإنذار الكاذب صارت العتبة حساباً. وقد تقع قاعدة مئينيّة قريباً بالصدفة - كلّف أعلى 1٪ مقدار 26980 في مقابل أمثل 24360 في المثال - لكنّها لن تبقى قريبة متى تغيّرت نسبة الكلفة أو التلوّث.
لماذا هبطت الدقّة مع أنّ شيئاً في النموذج لم يتغيّر؟
لأنّ الدقّة تتوقّف على معدّل التلوّث، وهو يتحرّك. فالعتبة نفسها على الكاشف نفسه أعطت دقّة 25٪ عند ضعف معدّل الشذوذ و8٪ عند نصفه، والاستدعاء ثابت قرب 65٪ طوال ذلك. فالعتبة تثبّت الاستدعاء؛ ولا تستطيع تثبيت وعد عن نظافة الطابور.
الخلاصة
كشف الشذوذ مسألة مقاييس في ثوب خوارزميّ. حدّد معدّل الأساس وطاقة الفحص وكلفة الفوات قبل اختيار منهج، فتلك الثلاثة تحدّد ما يمكن لأيّ كاشف أن يساويه - وتحقّق من نوع الشذوذ الذي تحويه بياناتك، فكلّ عائلة عمياء عن نوع تجده أخرى بسهولة.