PCA-Based مكون الكشف عن الشذوذ

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

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

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

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

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

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

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

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

كيفية تكوين PCA-Based الكشف عن الشذوذ

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

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

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

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

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

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

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

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

    هناك خياران، اعتمادا على ما إذا كنت تستخدم مسح المعلمات أم لا:

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

    ملاحظة

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

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

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

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

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

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

النتائج

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

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

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

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

  2. تأكد من وضع علامة على أعمدة التسمية.

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

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

  3. استخدم مكون تنفيذ Python Script لضبط فئات أعمدة التسمية ك 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 لتقريب المساحة الفرعية التي تحتوي على الفئة العادية. وتمتد المساحة الفرعية بواسطة المتجهات الذاتية المرتبطة بالقيم الذاتية العليا لمصفوفة التباين المشترك للبيانات.

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

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

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

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