مكون كشف الحالات الشاذة المستند إلى PCA

توضح هذه المقالة كيفية استخدام مكون كشف الحالات الشاذة المستند إلى PCA في مصمم التعلم الآلي من Azure، لإنشاء نموذج كشف الحالات الشاذة استنادًا إلى تحليل المكون الأساس (PCA).

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

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

المزيد حول تحليل المكون الرئيس

PCA هي تقنية راسخة في التعلم الآلي. يتم استخدامه بشكل متكرر في تحليل البيانات الاستكشافية لأنه يكشف عن البنية الداخلية للبيانات ويشرح التباين في البيانات.

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

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

لمزيد من المعلومات حول كيفية عمل PCA، وحول تنفيذ كشف الحالات الشاذة، راجع هذه المستندات:

طريقة تكوين كشف الحالات الشاذة المستند إلى PCA

  1. أضف مكوِّن كشف الحالات الشاذة المستند إلى PCA إلى البنية الأساسية في المصمم. يمكنك العثور على هذا المكون في فئة الكشف عن الحالات الخارجة عن المألوف.

  2. في اللوحة اليمنى للمكون، حدد الخيار وضع التدريب. حدد ما إذا كنت تريد تدريب النموذج باستخدام مجموعة محددة من المعاملات، أو استخدام مسح المعامل للعثور على أفضل المعاملات.

    إذا كنت تعرف كيف تريد تكوين النموذج، فحدد الخيار معلمة واحدة، وقدم مجموعة معينة من القيم كوسيطات.

  3. بالنسبة إلى عدد المكونات المراد استخدامها في PCA، حدد عدد ميزات الإخراج أو المكونات التي تريدها.

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

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

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

    إذا حددت 1، فلن يتم إجراء الإفراط في العينات. إذا حددت أي قيمة أعلى من 1، فسيتم إنشاء عينات إضافية لاستخدامها في تدريب النموذج.

    يوجد خياران، بناءً على ما إذا كنت تستخدم مسح المعلمات أم لا:

    • معلمة زيادة العينات لـ PCA العشوائي: اكتب رقمًا صحيحًا واحدًا يمثل نسبة الإفراط في أخذ العينات لفئة الأقلية على الفئة العادية. (يتوفر هذا الخيار عند استخدام أسلوب التدريب معلمة واحدة).

    ملاحظة

    لا يمكنك عرض مجموعة البيانات ذات العينات الزائدة. لمزيد من المعلومات حول كيفية استخدام الإفراط في أخذ العينات مع PCA، راجع الملاحظات الفنية.

  5. حدد الخيار تمكين ميزة الإدخال تعني التسوية لتطبيع جميع ميزات الإدخال إلى متوسط الصفر. يوصى عمومًا بالتطبيع أو التحجيم إلى الصفر لـ PCA، لأن هدف PCA هو تعظيم التباين بين المتغيرات.

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

  6. قم بتوصيل مجموعة بيانات تدريب ذات علامات وأحد مكونات التدريب.

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

  7. إرسال المسار.

النتائج

عند اكتمال التدريب، يمكنك حفظ النموذج المدرب. أو يمكنك توصيله بمكوِّن نموذج النتيجة لتوقع درجات الحالات الشاذة.

لتقييم نتائج نموذج كشف الحالات الشاذة:

  1. تأكد من أن عمود النتيجة متاح في كلا مجموعتي البيانات.

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

  2. تأكد من تمييز أعمدة التسمية.

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

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

  3. استخدم المكوِّن تشغيل برنامج Python النصي لتعديل فئات أعمدة التسمية كـ 1 (إيجابي، عادي) و0 (سلبي، غير طبيعي).

    label_column_name = 'XXX'
    anomaly_label_category = YY
    dataframe1[label_column_name] = dataframe1[label_column_name].apply(lambda x: 0 if x == anomaly_label_category else 1)
    

ملاحظات فنية

تستخدم هذه الخوارزمية PCA لتقريب المساحة الفرعية التي تحتوي على الفئة العادية. تمتد المساحة الفرعية بواسطة متجهات ذاتية مرتبطة بقيم eigenvalues العليا لمصفوفة التغاير في البيانات.

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

الخطوات التالية

راجع مجموعة المكونات المتوفرة للتعلم الآلي من Azure.

راجع الاستثناءات ورموز الخطأ للمصمم للحصول على قائمة بالأخطاء الخاصة بمكونات المصمم.