انتقل إلى المحتوى الرئيسي

جارٍ تحميل المختبر المرئي…

#anomaly-detectionالتعلّم غير المُشرَف

اكتشِف ما لا يُطابق شيئًا: z-score / ماهالانوبيس، Isolation Forest، LOF — ثلاث طرق لقول «هذه النقطة غريبة».

ما ستُجرّبه

  1. مرحبًا بك في #anomaly-detection. على الشاشة، سحابة من 200 نقطة عاديّة (كتلة غاوسيّة، بالأزرق) دسسنا فيها 8 متطفّلين. لا أحد يخبرنا أيّهم: بلا تسميات، هذا تعلّم غير مُوجَّه. الكاشف الحالي (مسافة ماهالانوبيس، تلوّث 5%) يمنح كلّ نقطة درجة «غرابة» ويُعلن الأعلى 5% منها شاذًّا: باللون الأحمر، مع هالة. المتطفّل الذي يفوته يبقى باللون الأصفر. احتيال مصرفي، عطل حسّاس، اختراق شبكة: هذا هو الإطار بالضبط — التقاط ما لا يُشبه شيئًا.
  2. لننظر إلى الدرجة نفسها بدل الحكم: اكتب /scores. تأخذ كلّ نقطة لونًا بحسب درجتها: أزرق = عاديّة جدًّا، ورديّ = على الحدّ، أحمر = بعيدة عن المركز.
  3. لدرجة ماهالانوبيس شكل هندسي: اكتب /envelope. القطع الناقص النيليّ هو حدّ العاديّ: مجموعة النقاط التي تساوي مسافة ماهالانوبيس فيها العتبةَ. كلّ ما هو خارجه يُسمّى شاذًّا.
  4. العتبة هي التلوّث: نسبة الشذوذ المتوقّعة. كن أكثر تشدّدًا: /threshold 0.02. راقب تضخّم القطع الناقص وانطفاء الهالات الحمراء.
  5. لنغيّر الفئة السكّانيّة: /shape two-groups. صار «العاديّ» الآن مؤلَّفًا من عنقودَين منفصلَين تمامًا، ونصف المتطفّلين مزروع بالضبط بينهما.
  6. ربّما العتبة متشدّدة أكثر من اللازم؟ ثمّة 8 متطفّلين من أصل 208 نقاط، قرابة 4%: ارفع التلوّث بـ /threshold 0.05 وانظر ما الذي يكسبه ماهالانوبيس.
  7. نحتاج إلى كاشف محلّي: /method lof. يقارن Local Outlier Factor الكثافةَ حول كلّ نقطة بكثافة جيرانها الـ 10 الأقرب: نقطة وحيدة في فراغ يحيط بها جيران متراصّون تحصل على LOF مرتفع.
  8. طريقة ثالثة لقول «غريب»: /method isolation. تقطع Isolation Forest الفضاء عشوائيًّا مرارًا؛ نقطة معزولة بعد قطعَين شاذّة، ونقطة مطمورة في الحشد تحتاج سبعة قطوع أو أكثر.
  9. دورك الآن: /shape elongated ثمّ /method zscore (سيجار ماهالانوبيس يلتقط النقاط خارج القطع الناقص حتّى لو كانت قريبة من محور)، /inject 15 لمزيد من المتطفّلين (لم يعد تلوّث 5% كافيًا)، /threshold 0.1 لرؤية الدقّة تتراجع، /point 204 لقراءة درجة نقطة (يقترح الإكمال التلقائي النقاط المُكتشَفة)، /seed 12 لسحب آخر، /reset للبدء من جديد. الخطوات التالية: #dbscan («ضوضاء» التجميع القائم على الكثافة، ابنة عمّ LOF) و#classification-metrics (الدقّة والاسترجاع ومقايضتهما).

أوامر القناة

  • /method <zscore|isolation|lof>يغيّر الكاشف: مسافة ماهالانوبيس أو Isolation Forest أو LOF.
  • /threshold <contamination=0.01..0.3>التلوّث: النسبة المتوقّعة للشذوذ؛ تُكشف النقطة إن تخطّت درجتُها كمّية 1 − العتبة.
  • /inject <n=1..20>عدد المتطفّلين في السحابة (يسقطون من الأعلى).
  • /shape <blob|elongated|two-groups>شكل الفئة العاديّة: كتلة، توزيع غاوسيّ ممدود ومُدوَّر، أو مجموعتان منفصلتان.
  • /envelopeيُظهر أو يُخفي القطع الناقص لماهالانوبيس عند العتبة الحاليّة (طريقة zscore).
  • /scoresيلوّن كلّ نقطة بحسب درجتها (أزرق ← ورديّ ← أحمر) بدل الحكم الثنائي.
  • /point <id>يُبرز نقطة ويعرض درجتها ورتبتها وحالتها.
  • /seed <n=1..99>إعادة سحب السحابة والمتطفّلين ببذرة عشوائيّة أخرى.
  • /resetالعودة إلى الكتلة، 8 متطفّلين، ماهالانوبيس، تلوّث 5%.

المسرد

كشف الشذوذ (anomaly detection)
مهمّة غير مُوجَّهة: دون تسميات، نتعلّم ما يشبهه «العاديّ» ثمّ نُشير إلى النقاط الشاذّة. احتيال مصرفي، عطل حسّاس، اختراق شبكة: الشذوذ نادر ومتنوّع وغالبًا مجهول مسبقًا.
قيمة شاذّة (outlier)
نقطة لا تُشبه بقيّة البيانات: بعيدة جدًّا عن المركز، أو معزولة جدًّا، أو موضوعة حيث الكثافة صفر. في هذه القناة، المتطفّلون المزروعون معلومون لكي نُقيّم الكواشف، لكنّ الكواشف لا ترى التسميات أبدًا.
z-score
الانحراف عن المتوسّط مُقاسًا بالانحرافات المعياريّة: z = (x − μ) / σ. أبعد من 3، النقطة نادرة إن كان المتغيّر غاوسيًّا. تعميمها إلى عدّة أبعاد مترابطة هو مسافة ماهالانوبيس.
مسافة ماهالانوبيس
d = √((x − μ)ᵀ Σ⁻¹ (x − μ)): المسافة إلى مركز السحابة بوحدات انتشارها، اتّجاهًا اتّجاهًا. نقطة على بُعد وحدة واحدة على المحور الضيّق لسحابة ممدودة أكثر شذوذًا من نقطة على بُعد 3 وحدات على المحور الطويل. أسطح المسافة الثابتة هي أقطاع ناقصة.
مصفوفة التغاير
جدول (3×3 هنا) فيه التباينات على القطر والتغايرات خارجه: يُشفّر حجم السحابة وامتدادها واتّجاهها. مقلوبها يُوزّن مسافة ماهالانوبيس؛ جذرها التربيعي يُحوّل كرة إلى قطع ناقص السحابة.
Isolation Forest
مجموعة أشجار مبنيّة بقطوع عشوائيّة (بُعد واحد، قيمة واحدة عشوائيًّا). ينتهي الشاذّ وحده في ورقته بعد قطوع قليلة؛ نقطة مطمورة في الحشد تحتاج كثيرًا. لا مسافة، لا افتراض شكل، تكلفة خطّية.
عمق العزل
عدد القطوع اللازمة لعزل نقطة في شجرة، بالمتوسّط عبر الغابة. الدرجة 2^(−h(x) / c(n)) تُحوّله إلى 0..1: قرب 1 = شذوذ، حول 0.5 = عاديّة.
Local Outlier Factor
نسبة متوسّط الكثافة المحلّية لجيران النقطة الـ k الأقرب إلى كثافتها هي (مقلوب متوسّط مسافة الوصول). LOF ≈ 1: بكثافة محيطها؛ LOF ≫ 1: أكثر عزلة بكثير من جيرانها. كونه محلّيًّا، يلتقط نقطة وحيدة بين عنقودَين قد يعدّها قطع ناقص عامّ عاديّة.
التلوّث
نسبة الشذوذ المتوقّعة (هنا من 1% إلى 30%). عتبة القرار هي الكمّية الموافقة من الدرجات: مع 5%، تُسمّى أعلى 5% من الدرجات شاذّة. منخفضة جدًّا، نُفوّت متطفّلين؛ مرتفعة جدًّا، نتّهم نقاطًا عاديّة.
إيجابيّ خاطئ
نقطة عاديّة تُصنَّف شاذّة. مع الإيجابيّات الصحيحة (المتطفّلون المُكتشَفون بشكل صحيح) والمتطفّلين الفائتين (السلبيّات الخاطئة)، يُحدّد الدقّة (اكتشافات صحيحة / اكتشافات) والاسترجاع (متطفّلون موجودون / متطفّلون). تُقايض العتبة أحدهما بالآخر.

قنوات أخرى في التعلّم غير المُشرَف

  • #k-meansالتجميع بلا تسميات: مراكز تتحرّك، قصور ذاتي يهبط، اختيار k — والأشكال التي يفشل عليها k-means.
  • #pcaتحليل المكوّنات الرئيسية: أوجِد المحاور التي تتغيّر عليها البيانات أكثر ما يكون، أسقِط، اضغط — وقِس ما فُقد.
  • #hierarchical-clusteringادمج النقاط اثنتَين اثنتَين حتّى لا يبقى إلّا واحدة: المخطّط الشجريّ، ومعايير الوصلة، وارتفاع القطع الذي يحدّد عدد العناقيد.
  • #dbscanالتجميع بحسب الكثافة: إبسيلون، MinPts، نقاط النواة والحافّة والضوضاء — الخوارزميّة التي تجد الأشكال الاعتباطيّة وتتجاهل المتطفّلين.
  • #anomaly-detectionاكتشِف ما لا يُطابق شيئًا: z-score / ماهالانوبيس، Isolation Forest، LOF — ثلاث طرق لقول «هذه النقطة غريبة».
  • #t-sne-umapارسم خريطة الأبعاد العالية: t-SNE وUMAP يفتحان بيانات ذات 10 أبعاد إلى خريطة قابلة للقراءة في بُعدَين — الحيرة، الجيران، ومغالطات القراءة.