الذّكاء الإصطناعيّ القابل للتّفسير Explainable Artificial Intelligence

1-الذّكاء الإصطناعيّ القابل للتّفسير

التدّقيق العلمي: م. محمد سرميني، م. رامي عقّاد
التدّقيق اللّغوي: هبة الله فلّاحة

المقدمة Introduction

عندما ظهرت تكنولوجيا الذّكاء الاصطناعيّ أذهلت العالم أجمع بمدى تأثيرها بشكل كبير على جميع المجالات الطّبيّة والصّناعيّة وأيضًا الاقتصاديّة، حيث أصبح الذّكاء الاصطناعيّ يقدّم الحلول لتلك المجالات بشكل فعّال مع توفير الوقت اللّازم عن السّابق. فمع تطوّر تلك الأمور تطوّر ذلك المجال بشكل كبير، ففي الآونة الأخير ظهرت فيه تقنيّات جديدة  تعمل على سهولة العمل والفهم، ومن ضمن تلك التّقنيات هي التي سنتطرّق في الحديث عنها  في المقال الخاصّ بنا، وهي الذّكاء الاصطناعيّ القابل للتّفسير (XAI) ؛ وهي التي تعمل على توضيح مفهوم جديد وهو كيفيّة إيصال المعلومات بشكل أفضل وجيّد إلى الإنسان العاديّ، فهو يعمل على جعل النّتائج أكثر مرونة من ذي قبل حيث أنّه يعطي نتائج تجعل الإنسان العاديّ لديه القدرة على الفهم. سوف نرى في المقالة ما يوضّح تلك الخاصّيّة الجديدة بشكل كبير ومفيد.

ما هو الذّكاء الاصطناعيّ القابل للتّفسير.

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

مثال على الذّكاء الاصطناعيّ القابل للتّفسير أثناء العمل:

استخدام خوارزميّة تعزيز التدرج الشديد XGBoost: Extreme Gradient Boosting على بيانات أسعار الإسكان في بوسطن، يتمّ تحقيق القابليّة للتّفسير باستخدام SHAP (الشكل)، وتلك الأداة تستخدم لعمل الرسم البياني حيث أنها توضّح إمكانيّة الشّرح الواردة أدناه الميّزات التي يساهم كلّ منها في دفع إخراج النّموذج من القيمة الأساسيّة (متوسّط ناتج النّموذج عبر مجموعة بيانات التّدريب التي مرّرناها) إلى إخراج النّموذج، تظهر الميّزات التي تدفع بالتنبّؤ إلى أعلى باللّون الأحمر، و التي تدفع التنبّؤ إلى الأسفل تظهر باللّون الأزرق. كما في الشّكل 1

الشّكل 1 رسم يوضح كيفية عمل الذكاء الإصطناعي القابل للتفسير

وهنا عزيزي القارئ سوف يتمّ وضع شرح مبسّط باستخدام الحالات الخاصّة من الذّكاء الاصطناعيّ القابل للتّفسير.

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

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

الدّفاع Defense: يمكن أن يكون الذّكاء الاصطناعيّ القابل للتّفسير مفيدًا لتطبيقات التّدريب العسكريّ؛ لشرح الأسباب الكامنة وراء قرار يتّخذه نظام ذكاء اصطناعيّ (أي المركبات المستقلّة)، هذا مهمّ لأنّه يساعد في التّخفيف من التّحديات الأخلاقيّة المحتملة مثل سبب خطأ التّعرّف على كائن ما أو عدم إطلاقه على الهدف.

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

الموافقات على القروض Loan approvals: يمكن استخدام الذّكاء الاصطناعيّ القابل للتّفسير لشرح سبب الموافقة على القرض أو رفضه، هذا مهمّ لأنّه يساعد في التّخفيف من أيّ تحدّيات أخلاقيّة محتملة من خلال توفير مستوى متزايد من التّفاهم بين البشر والآلات، ممّا سيساعد في خلق ثقة أكبر في أنظمة الذّكاء الاصطناعيّ.

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

كشف الاحتيال Fraud detection: يُعدّ الذّكاء الاصطناعيّ القابل للتّفسير مهمًّا للكشف عن الاحتيال في الخدمات الماليّة، يمكن استخدام هذا لشرح سبب تمييز معاملة ما على أنّها مشبوهة أو مشروعة، ممّا يساعد على التّخفيف من التحدّيات الأخلاقيّة المحتملة المرتبطة بقضايا التّحيّز والتّمييز غير العادل عندما يتعلق الأمر بتحديد المعاملات الاحتياليّة.

كيف يعمل الذّكاء الاصطناعيّ القابل للتّفسير؟

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

  1.  بيانات قابلة للتّفسير: وهي البيانات المدخلة للنّموذج مباشرة حيث يتمّ شرح البيانات بالتّفصيل مثلًا لماذا تمّ اختيار تلك البيانات؟ لماذا تمّ اختيار هذا العمود؟ لماذا تمّ العمل على إزالة التّحيّز (bias)، وبهذه الطّريقة يتمّ التّفسير للبيانات للإنسان العاديّ حتى يتمّ فهم البيانات بشكل أفضل وفهم ماذا يدور حولها.
  2.  الخوارزميّات القابلة للتّفسير: حيث يتمّ هنا شرح الخوارزميّة أو النّموذج بشكل تفصيليّ؛ فيتمّ ذكر تفسير للطّبقات المستخدمة وكيف تعمل تلك الطّبقات على التّصنيف أو التنبّؤ بالنّاتج المطلوب تحديدًا. وتتحقّق تلك النّقطة بالخصوص في شَبَكَات الطَّيِّ العُصبُونِيَّة CNN: Convolutional Neural Network، حيث يسهل تطبيق الذّكاء الاصطناعيّ القابل للتّفسير التحقّق فيها بشكل كبير وواسع، وقد تطرّق معظم الباحثين إلى استخدام تلك التّقنيّة في الأبحاث الخاصّة بهم خلال الفترة الأخيرة، حتّى تكون الخوارزميّات الخاصّة بهم واضحة بشكل أكبر.

هناك طريقتان حاليّتان للتّفسير:

  1. النّمذجة بالوكالة Proxy modeling: تلك الطّريقة في التّفسير يُستخدم فيها نوع مختلف، ثمّ يتمّ شرح النّماذج وتبسيطها عن طريق استخدام عدّة طرق أشهرها شجرة القرار؛ التي تقوم بتقريب النّموذج الفعليّ المستخدم.
  2.  تصميم التّفسير Design for interpretability : وهنا يتمّ عمل تصميم سهل ومبسّط للنّموذج ليكون سهلًا فى الفهم، وهذا النّوع يعمل على وضع مخاطرة بعض الشّيء فهو يقلّل من الدّقّة التنبّؤيّة للنّموذج المستخدم. 

ما هي الأنواع الخاصّة بالذّكاء الاصطناعيّ القابل للتّفسير؟

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

  • الذّكاء الاصطناعيّ القابل للتّفسير Interpretable AI :

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

  • الذّكاء الاصطناعيّ الشّفاف Transparent AI: 

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

  • الذّكاء الاصطناعيّ القابل للتّفاعل Interactable AI:

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

 

                                     الشّكل 2 شكل يوضح الأنواع الخاصة بالذكاء الاصطناعي القابل للتفسير

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

ما هي الميّزات الخاصّة بالذّكاء الاصطناعيّ القابل للتّفسير؟

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

ما هي المزايا الخاصّة بالذّكاء الاصطناعيّ القابل للتّفسير؟

  • تقليل تكلفة الأخطاء Reducing Cost of Mistakes: حيث هنا تتأثّر المجالات المختلفة وبالأخصّ المجالات الحسّاسة للقرار؛ مثل مجالات الطّبّ والتّمويل وأيضًا الشّؤون القانونيّة والاقتصاد والبنوك؛ وما إلى ذلك بشكل كبير في حالة التنبّؤ الخاطئة وغير الموثوقة، وهنا يقوم الذّكاء الاصطناعيّ القابل للتّفسير بتقليل تلك الأخطاء.
  • التّقليل من تأثير النّموذج: حيث أظهرت النّماذج الخاصّة بالذّكاء الاصطناعيّ أدلّة على التّحيّز، حيث أنّنا نرى فى البيانات التي تتحدّث عن شيء ما مثل التي تقوم بتدريب سيارة ذاتيّة القيادة، فيمكن لتلك البيانات أن تجعل النّموذج منحازًا إلى أحد النّواتج، حيث يمكننا أن نفرض أنّ لدينا نموذج ذكاء اصطناعيّ يتمّ تدريبه، والبيانات التي لدينا يوجد فيها عدم توازن في عدد المخرجات وبالتالي يكون النّموذج منحازًا إلى إحدى تلك النّتائج، وهنا يقوم الذّكاء الاصطناعيّ القابل للتّفسير بتقليل تلك الجزئيّة حيث يقوم بمعالجتها بشكل دقيق. 
  • تحسين الشّرح والشّفافيّة improves Explanation and Transparency: حيث يعمل الذّكاء الاصطناعيّ القابل للتّفسير بالّرح المفسّر؛ حيث أنّ الشّركات تستخدمه في فهم النّماذج التي لديها بطريقة منظّمة، ومعرفة سبب تصرّف تلك الخوارزميّات بهذه الطّريقة المدرّبة عليها في جميع الظّروف.
  • التّحسين الصّحيح: حيث يمكن للذّكاء الاصطناعيّ القابل للتّفسير أن يساعد المطوّرين في تحديد المشكلة، وأيضًا المساعدة في حلّها ووضع نهج صحيح. 

التّطبيق العمليّ:

فى الجزء الخاصّ بالتّطبيق عزيزي القارئ سوف نقوم بالعمل على مجموعة من البيانات وهى عبارة عن بيانات رقميّة تسمّى بالنّوبة القلبيّة، وسوف نقوم باستخدام تلك البيانات من أجل تطبيق المصطلح الخاصّ بالذّكاء الاصطناعيّ القابل للتّفسير، حيث أنّ حجم البيانات التي لدينا عبارة عن ٣٠٣ صفوف و ١٤ عمودًا؛  فالأعمدة التي لدينا عبارة عن نوع الشّخص، والذّبحة الصّدريّة التي لديه، ونوع ألم الصّدر الذي لديه، وعمر الشّخص المصاب. 

سوف نقوم بتطبيق الذّكاء الاصطناعيّ القابل للتّفسير على تلك البيانات ونقوم بعرض النّتائج. 

فى أوّل الأمر سوف نقوم بتثبيت المكتبات التي نستخدمها هنا:

!pip install xai
!pip install xai_data

عزيزى القارئ سنقوم بطرح الخطوات التي سوف نستخدمها فى شرح التّطبيق العمليّ:

import xai
import xai.data

هنا يمكن العمل على استدعاء المكتبات الخاصّة بالجزء الذي سوف نطبّقه على البيانات. 

categorical_cols = ['age', 'sex', 'cp', 'trtbps', 'chol', 'fbs', 'restecg', 'thalachh','exng', 'oldpeak', 'slp', 'caa', 'thall', 'output']

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

df_groups = xai.imbalance_plot(df, 'age', categorical_cols=categorical_cols)
   رسم بيانى يوضح تناسب عدد البيانات مع بعضها.

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

df_groups = xai.imbalance_plot(df, 'output', categorical_cols=categorical_cols)


     رسم بياني يوضح عدد تسميات المخرجات

هنا أيضًا في الرسم الموضّح للعمود الذي بناءً عليه يتمّ تدريب النّموذج أ، بمعنى أنّه عمود المخرجات الخاصّة بالنّموذج.

_ = xai.correlations(df, include_categorical=True, plot_type="matrix")
هنا الخريطة الحرارية للبيانات لقياس الترابط بين البيانات

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

في تلك المرحلة عزيزي القارئ سوف نقوم بتدريب النّموذج، ونرى النّموذج المدرّب بواسطة الذّكاء الاصطناعيّ القابل للتّفسير

proc_df = xai.normalize_numeric(bal_df)
proc_df = xai.convert_categories(proc_df)
x = df.drop("output", axis=1)
y = df["output"]

فى تلك الخطوة هنا سوف نقوم بعمل تقسيم للبيانات الخاصّة بنا، حيث نضع أعمدة المدخلات في متغيّر ويسمى س، وعمود المخرج فى متغيّر ويسمى ص.

x_train, y_train, x_test, y_test, train_idx, test_idx = \
    xai.balanced_train_test_split(
            x, y, "age",
            min_per_group=1,
            max_per_group=1,
            categorical_cols=categorical_cols)

هنا أيضًا نقوم بعمل تقسيم البيانات عن طريق مكتبة المعروفة التي يتمّ استدعاؤها من سيكت ليرن sklearn، وتلك المكتبة تقوم بتقسيم البيانات بطريقة معيّنة إلى بيانات تدريب وأيضًا بيانات اختبار.

import sklearn

from sklearn.metrics import classification_report, mean_squared_error, roc_curve, auc

from keras.layers import Input, Dense, Flatten, \
    Concatenate, concatenate, Dropout, Lambda
from keras.models import Model, Sequential
from keras.layers.embeddings import Embedding

def build_model(X):
    input_els = []
    encoded_els = []
    dtypes = list(zip(X.dtypes.index, map(str, X.dtypes)))
    for k,dtype in dtypes:
        input_els.append(Input(shape=(1,)))
        if dtype == "int8":
            e = Flatten()(Embedding(X[k].max()+1, 1)(input_els[-1]))
        else:
            e = input_els[-1]
        encoded_els.append(e)
    encoded_els = concatenate(encoded_els)

    layer1 = Dropout(0.5)(Dense(100, activation="relu")(encoded_els))
    out = Dense(1, activation='sigmoid')(layer1)

    # train model
    model = Model(inputs=input_els, outputs=[out])
    model.compile(optimizer="adam", loss='binary_crossentropy', metrics=['accuracy'])
    return model


def f_in(X, m=None):
    """مدخلات المعالجة المسبقة حتى يمكن توفيرها لوظيفة ما"""
    if m:
        return [X.iloc[:m,i] for i in range(X.shape[1])]
    else:
        return [X.iloc[:,i] for i in range(X.shape[1])]

def f_out(probs, threshold=0.5):
    """تحويل الاحتمالات إلى فئات"""
    return list((probs >= threshold).astype(int).T[0])

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

model = build_model(x_train)
model.fit(f_in(x_train), y_train, epochs=1000, batch_size=512)
Epoch 142/1000
1/1 [==============================] - 0s 4ms/step - loss: 1.4909 - accuracy: 0.6579
Epoch 143/1000
1/1 [==============================] - 0s 4ms/step - loss: 1.5266 - accuracy: 0.6272
Epoch 144/1000
1/1 [==============================] - 0s 4ms/step - loss: 1.3439 - accuracy: 0.6667
Epoch 145/1000
1/1 [==============================] - 0s 5ms/step - loss: 1.5527 - accuracy: 0.6535
Epoch 146/1000
1/1 [==============================] - 0s 6ms/step - loss: 1.3925 - accuracy: 0.6316
Epoch 147/1000
1/1 [==============================] - 0s 4ms/step - loss: 1.1776 - accuracy: 0.6754
Epoch 148/1000
...
Epoch 999/1000
1/1 [==============================] - 0s 4ms/step - loss: 0.3815 - accuracy: 0.8246
Epoch 1000/1000
1/1 [==============================] - 0s 4ms/step - loss: 0.3905 - accuracy: 0.8289

نظرًا لعدد المرّات التي قمنا بتدريب النّموذج عليها، قمنا بوضع آخر ست مرّات حتى نرى النّتيجة التي حصلنا عليها وهي نتيجة جيّدة وليست سيئة.

score = model.evaluate(f_in(x_test), y_test, verbose=1)
print("Error %.4f: " % score[1])
print("Accuracy %.4f: " % (score[0]*100))

3/3 [==============================] - 0s 3ms/step - loss: 0.5396 - accuracy: 0.7867

هنا عزيزي القارئ تمّ العمل على اختبار النّموذج الذي قمنا بتدريبه وكانت النّتيجة في الاختبار هى .٧٨

probabilities = model.predict(f_in(x_test))
pred = f_out(probabilities)

_= xai.metrics_plot(
        y_test,
        probabilities)
رسم بيانى يوضح قيم التنبق بعد اختبار النموذج

هنا أيضًا تمّ حساب قيمة التنبّؤ للنّموذج المستخدم وكانت النّتائج كما ظهرت أمامنا 


مصفوفه الالتباس الخاصه بالنموذج

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

ما هو تفسير مصفوفة الالتباس Confusion Matrix؟

مصفوفة الالتباس هي جدول يُستخدم لتحديد أداء خوارزميّة التّصنيف، مصفوفة الالتباس تصوّر وتلخّص أداء خوارزميّة التّصنيف.

شكل يقوم بتوضيح كيفيه عمل مصفوفه الالتباس

الخاتمة: 

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

المراجع:

الكاتب

  • محمد بكرى محمود محمد

    أنا مهندس تعلم الآلة Machine learning Engineering كلية حاسبات ومعلومات تخصص علوم حاسب أعمل الآن كمتطوع لدى شركه كاجل كا موجهه لبعض المتدربين. لدي معرفة كبيرة بمجال تعلم الآلة والتعلم العميق حيث لدي مشاريع كثيرة على بيانات مختلفة ومتعددة وأيضا عملت في مجال البحث العلمي ونشر الأوراق العلمية حيث لدى خمس أوراق علميه.

0 Shares:
اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

You May Also Like
Missing Vaue
اقرأ المزيد

الاستراتيجيّات الفعّالة للتّعامل مع القيم المفقودة في تحليل البيانات Effective Strategies for Handling Missing Values in Data Analysis

التدّقيق العلمي: د.م. حسن قزّاز، م. محمّد سرمينيالتدّقيق اللّغوي: هبة الله فلّاحةِ ما هي القيمة المفقودة Missing Value:…