بمجرد تحديد أن اقتران السجل المضاد (CLP) هو الأسلوب المناسب لحالة الاستخدام الخاصة بك، يمكنك تطبيقه عن طريق اتخاذ الخطوات التالية:
- قم بإنشاء مثيل لـ
CounterfactualPackedInputs
باستخدام البيانات الأصلية والبيانات المضادة. - قم بقياس معدل التقلب وعدد التقلبات لتحديد ما إذا كانت هناك حاجة للتدخل.
- إذا كانت هناك حاجة للتدخل، فقم بتمرير بيانات الإدخال الأصلية، والبيانات المضادة، والنموذج الأصلي، والخسارة المصاحبة للواقع إلى النموذج المخالف.
- قم بتقييم تأثير CLP عن طريق قياس معدل التقلب وعدد التقلبات.
لرؤية مثال لتطبيق CLP على نموذج Keras، راجع البرنامج التعليمي حول استخدام Logit Counterfactual Logit مع Keras .
قم بإنشاء مثيل لـ CounterfactualPackedInputs
لإنشاء مجموعة بيانات معاكسة للواقع، ابدأ بتحديد المصطلحات والميزات التي تريد تقييمها والتي قد تؤدي، عند إزالتها أو استبدالها، إلى تغيير التنبؤ بالنموذج الخاص بك.
بمجرد فهم الشروط والميزات التي سيتم التقييم عليها، ستحتاج إلى إنشاء مثيل لـ CounterfactualPackedInputs
، والذي يتضمن المدخلات الأصلية والبيانات المضادة. يجب أن يكون الإدخال الأصلي هو مجموعة البيانات التي استخدمتها لتدريب نموذج Keras الخاص بك. تحتوي البيانات المضادة على قيمة original_x
وقيمة counterfactual_x
وقيمة counterfactual_sample_weight
. يجب أن تكون القيمة المغايرة مطابقة تقريبًا للقيمة الأصلية مع الفارق المتمثل في إزالة أو استبدال واحدة أو أكثر من السمات الحساسة. تعد جودة مجموعة البيانات المضادة أمرًا مهمًا حيث يتم استخدامها لإقران دالة الخسارة بين القيمة الأصلية والقيمة المضادة بهدف التأكد من عدم تغيير تنبؤ النموذج عندما تكون السمة الحساسة مختلفة.
للحصول على تفاصيل حول كيفية تطوير مجموعة البيانات المضادة للواقع هذه، راجع دفتر الملاحظات حول إنشاء مجموعة بيانات مضادة مخصصة .
قياس عدد الوجه ومعدل الوجه
يتم تعريف الوجه على أنه مصنف يعطي قرارًا مختلفًا عندما تتغير السمة الحساسة المشار إليها في المثال. إنه يجسد الموقف الذي يقوم فيه المصنف بتغيير تنبؤاته في وجود أو غياب أو تغيير سمة الهوية. يجب استخدام مقياس أكثر استمرارية عند تقييم القيمة الحقيقية (النتيجة) للمصنف.
عدد الوجه
يقيس عدد الانعكاس عدد المرات التي يعطي فيها المصنف قرارًا مختلفًا إذا تم تغيير مصطلح الهوية في مثال معين.
- إجمالي عدد التقلبات : إجمالي تقلبات التنبؤ من الإيجابي إلى السلبي والعكس.
- عدد مرات التقلب للتنبؤ الإيجابي إلى السلبي : عدد مرات التقلب التي تغيرت فيها تسمية التنبؤ من موجب إلى سالب.
- عدد مرات التقلب للتنبؤ السلبي إلى الإيجابي : عدد مرات التقلب التي تغيرت فيها تسمية التنبؤ من سلبي إلى إيجابي.
معدل الوجه
يقيس معدل الانعكاس احتمالية قيام المصنف بإعطاء قرار مختلف إذا تم تغيير مصطلح الهوية في مثال معين.
- معدل الانعكاس الإجمالي : إجمالي عدد التقلبات على إجمالي عدد الأمثلة
- معدل التقليب الإيجابي إلى السلبي : عدد التقليب الإيجابي إلى السلبي على الأمثلة الإيجابية في مجموعة البيانات المضادة للواقع
- معدل انعكاس التنبؤ السلبي إلى الإيجابي : عدد التقلب السلبي إلى الإيجابي على الأمثلة السلبية في مجموعة البيانات المضادة للواقع
بعد حساب معدل التقلب وعدد التقلبات باستخدام مؤشرات الإنصاف ، يمكنك تحديد ما إذا كان المصنف يقوم بتنبؤ مختلف بناءً على سمة حساسة داخل البيانات. يمكنك استخدام عدد الأمثلة وفترات الثقة لتحديد ما إذا كان لديك بيانات كافية لتطبيق CLP واستخلاص النتائج من معدل الانعكاس. يشير معدل الانعكاس المرتفع وعدد التقلبات إلى حدوث هذا السلوك ويمكن استخدامه لتحديد ما إذا كان CLP مناسبًا لحالة الاستخدام الخاصة بك. هذا القرار خاص بالنموذج الخاص بك ويعتمد على عوامل مثل الضرر الذي قد يحدث للمستخدمين النهائيين والمنتج الذي يتم استخدام النموذج فيه.
قم بتطبيق اقتران اللوغاريتم المضاد للواقع على نموذج Keras الخاص بك
لاستخدام CLP، تحتاج إلى نموذج Keras الأصلي الذي تتطلع إلى معالجته، ومجموعة بيانات التدريب الأصلية، ومجموعة البيانات المغايرة للواقع. تحديد counterfactual loss
التي ينبغي تطبيقها على اقتران اللوغاريتم. باستخدام هذا، يمكنك بناء النموذج المضاد مع وظيفة الخسارة المضادة المطلوبة ووظيفة الخسارة من النموذج الأصلي الخاص بك.
بعد تطبيق CLP، يجب عليك حساب معدل التقلب وعدد التقلبات وأي تغييرات في المقاييس الأخرى مثل الدقة الإجمالية لقياس التحسن الناتج عن تطبيق هذه التقنية.