تفسير نموذج تعلم الآلة. الجزء 2

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





مؤامرات الاعتماد الجزئي


تظهر مخططات الاعتماد الجزئي (قطع الاعتماد الجزئية أو مخططات PDP ، PD) تأثيرًا ضئيلًا لواحد أو اثنين من الميزات على النتيجة المتوقعة لنموذج التعلم الآلي ( JH Friedman 2001 ). يمكن لـ PDP إظهار العلاقة بين الهدف والميزات المحددة باستخدام الرسوم البيانية 1D أو 2D.

كيف يعمل؟


يتم حساب PDPs أيضًا بعد تدريب النموذج. في مشكلة كرة القدم التي ناقشناها أعلاه ، كان هناك العديد من العلامات ، مثل تمريرات التمريرات ، ومحاولات تسجيل الأهداف ، الأهداف المسجلة ، إلخ. لنبدأ بالنظر إلى سطر واحد. دعنا نقول أن الخط هو الفريق الذي حصل على الكرة بنسبة 50 ٪ من الوقت ، والتي صنعت 100 تمريرة حاسمة و 10 محاولات للتسجيل وهدف واحد.

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

تسمى المكتبة المستخدمة في Python لبناء PDP صندوق أدوات python مؤامرة الاعتماد الجزئي ، أو ببساطة PDPbox .


from matplotlib import pyplot as plt from pdpbox import pdp, get_dataset, info_plots # Create the data that we will plot pdp_goals = pdp.pdp_isolate(model=my_model, dataset=val_X, model_features=feature_names, feature='Goal Scored') # plot it pdp.pdp_plot(pdp_goals, 'Goal Scored') plt.show() 


ترجمة


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


يمكننا أيضًا تصور الاعتماد الجزئي لميزتين في نفس الوقت باستخدام رسومات ثنائية الأبعاد.



ممارسة

قيم SHAP


SHAP لتقف على تفسير إضافات SHapley. تساعد هذه الطريقة في تقسيم التوقعات إلى أجزاء للكشف عن أهمية كل خاصية. وهو يستند إلى Vector Shapley ، وهو مبدأ يستخدم في نظرية اللعبة لتحديد مقدار إسهام كل لاعب في نجاحه في لعبة مشتركة (https://medium.com/civis-analytics/demystifying-black-box-models-with-shap-) قيمة التحليل 3e20b536fc80). غالبًا ما يكون إيجاد حل وسط بين الدقة والقابلية للتفسير توازنًا صعبًا ، ولكن يمكن أن توفر قيم SHAP كليهما.

كيف يعمل؟


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

SHAP - يتم حساب القيم باستخدام مكتبة Shap ، والتي يمكن تثبيتها بسهولة من PyPI أو conda.


SHAP - تُظهر القيم مدى تغيير هذه الميزة المحددة لتوقعاتنا (مقارنةً بكيفية إجراء هذا التنبؤ مع بعض القيمة الأساسية لهذه الصفة). لنفترض أننا أردنا معرفة ما سيكون التوقع إذا سجل الفريق 3 أهداف ، بدلاً من مبلغ أساسي ثابت. إذا استطعنا الإجابة عن هذا السؤال ، فيمكننا اتباع نفس الخطوات للعلامات الأخرى كما يلي:

 sum(SHAP values for all features) = pred_for_team - pred_for_baseline_values 


لذلك ، يمكن تقديم التوقعات في شكل الرسم البياني التالي:


هنا هو الرابط إلى الصورة الكبيرة.

ترجمة


يوضح المثال أعلاه الخصائص التي يسهم كل منها في حركة إخراج النموذج بقيمة أساسية (متوسط ​​الناتج الإحصائي للنموذج باستخدام مجموعة بيانات التدريب التي انتقلنا إليها سابقًا) في إخراج النموذج النهائي. تظهر العلامات التي تقدم التنبؤ أعلاه باللون الأحمر ، وتظهر أدناه العلامات التي تخفض دقتها.

  • القيمة الأساسية هنا هي 0.4979 ، في حين أن التوقعات هي 0.7.
  • مع Goal Scores = 2 ، يكون للسمات أكبر تأثير على تحسين التوقعات ، في حين أن
  • السمة ball possession لديها أعلى تأثير لخفض التوقعات النهائية.


ممارسة


SHAP - القيم لها مبرر نظري أعمق بكثير مما ذكرته هنا. لفهم المشكلة بشكل أفضل ، اتبع الرابط .

الاستخدام المتقدم لقيم SHAP


سيساعد تجميع قيم SHAP المتعددة في تكوين عرض أكثر تفصيلاً للنموذج.

  • مخططات ملخص SHAP


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



لكل نقطة:

  • يوضح الترتيب العمودي ما الإشارة التي تعكسها ؛
  • يشير اللون إلى ما إذا كان هذا الكائن مهمًا للغاية أو مهمًا ضعيفًا لسلسلة مجموعة البيانات هذه ؛
  • يوضح الترتيب الأفقي ما إذا كان تأثير قيمة هذه الميزة قد أدى إلى تنبؤ أكثر دقة أم لا.


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

  • مخطط مساهمة SHAP


بينما يوفر الرسم البياني لملخص SHAP نظرة عامة على كل خاصية ، فإن الرسم البياني للتبعية SHAP يوضح كيف يعتمد إخراج النموذج على القيمة المميزة. يوفر الرسم البياني تبعية مساهمة SHAP رؤية PDP مماثلة ، لكنه يضيف المزيد من التفاصيل.


مخطط تبعية الودائع

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

ممارسة

استنتاج


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

مصادر:

  • "تعلم الآلة القابلة للترجمة: دليل لصنع نماذج الصندوق الأسود يمكن تفسيره." كريستوف منير
  • آلة التعلم التفسير الجزئي في Kaggle


اقرأ الجزء الأول

Source: https://habr.com/ru/post/ar465329/


All Articles