تعلم الآلة

النماذج الشبكية الاحتمالية

عرض في سياق فهم بعض الظواهر التعليمية

تعتبر عملية اتخاذ القرارات عملية معقدة تشوبها عوامل كثيرة. وفي غالب الأحيان، يضطر الإنسان إلى اتخاذ قراراته في أوضاع غامضة (Uncertainties) حيث لا يكون متأكداً من تبعات الخيارات المتاحة له. لذا فإن من الأهمية بمكان أن تكون قراراته مبنية على معطيات مقنعة (Informed decisions) لتكون هذه القرارت مبررة (Rational) وأقرب للصواب.

ولأن نظرية الاحتمالات هي أكثر نظرية استخدمت لتقدير غموض الأحداث، فإنها النظرية الأكثر شيوعاً في تمثيل عملية اتخاذ القرارات في الأوضاع الغامضة (Decisions under uncertainty). ولتمثيل غموض الأحداث وترابطها، ظهرت النماذج الشبكية الاحتمالية (Probabilistic Graphical Models)، كمزيج بين نظرية الشبكات (Graph theory) ونظرية الاحتمالات (Probability theory)، والتي تستخدم لمحاكات عمليات الاستنتاج والتوقع. وهذا يساهم في بناء أنظمة تساعد في عملية دعم اتخاذ القرارات وفق المعطيات الموجودة.

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

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

الاحتمالات

معنى كلمة “احتمال”

احتمال أن أحصل على تقدير ممتاز في مادة التاريخ 0.7؟“. لو قال طالب لك هذه الجملة فماذا يعني بها؟

عندما نشير لاحتمال وقوع حدث ما، فهنالك تفسيران لكلمة “احتمال” يستخدمها الدارسون. وقبل نقاش هذين التفسيرين، أود بداية شرح مصطلح مرتبط بالحدث ألا وهو ما يعرف بالـ States of affairs، والذي يمكن اعتباره على أنه مختلف الحالات التي يحدث فيها الحدث (أي الحالات التي تجعل من الحدث واقعاً) في ظل ثبات الظروف أو المعطيات الأخرى. فبالعودة إلى تفسيري كلمة “احتمال” فإن التفسير الأول، وهو ما يسمى بالـ (Frequentist)، يقضي بأنه في ظروف ثابتة ومحددة، فإن احتمال حدث ما هو الرقم الذي تقترب له نسبة الحالات التي يحدث فيها الحدث إلى مجموع الحالات كلها عندما تتكرر نفس الظروف أو المعطيات بعدد كبير. وبالعودة للجملة السابقة “احتمال أن أحصل على تقدير ممتاز في مادة التاريخ 0.7“، فإن هذا يعني أنه لو درس الطالب مادة التاريخ تحت نفس الظروف 100 مرة مثلا، فإن عدد الحالات التي يحصل فيها على تقدير ممتاز يكون قريباً من 70 حالة من أصل الـ 100 حالة. وفي حالة زيادة عدد مرات الدراسة في نفس الظروف، فإن هذه النسبة تقترب أكثر من الـ 0.7. أما التفسير الآخر لكلمة “احتمال” والتي سأتبناها في هذه المقالة، هو ما يعرف بالــ Bayesian interpretation of probability، وهو أن احتمال حدث ما هو درجة الاعتقاد (Degree of belief) بأن حالة من الحالات التي يقع فيها الحدث ستحدث (أياً كان مبرر هذا الاعتقاد). فقول “احتمال أن أحصل على تقدير ممتاز في مادة التاريخ 0.7” يعني أن لدي اعتقاد بنسبة 70% من أن حالة من الحالات التي تمكنني من الحصول على تقدير ممتاز في مادة التاريخ ستحدث، دون الحاجة لاعتبار تكرار الظروف أو المعطيات. ويلاحظ أن هذا التفسير لكلمة “احتمال” شخصي وغير محدد (Subjective) بينما التفسير الأول ثابت لايختلف من شخص إلى آخر (Objective). ولكن في نفس الوقت فإن التفسير الأول والذي يعتمد على تكرار الظروف يواجه بعض الإشكالات في كثير من الأحداث. فلو أخذنا الحدث في المثال السابق، فإن الطالب عادة لا يدرس المادة سوى مرة واحدة تحت نفس الظروف. فلو درسها مرتين فإن الظروف في المرة الثانية تكون مغايرة عنها في المرة الأولى (مثلاً في المرة الثانية تكون خلفيته المعرفية في المادة أعلى منها في المرة الأولى غالباً)، وبالتالي يكون الحدثان هنا مختلفين. والخلاف في تفسير معنى “احتمال” فلسفي وعميق لذا سأكتفي بما ذكرت.

سأستخدم في هذه المقالة الأحرف الإنجليزية الصغيرة للإشارة إلى الأحداث اختصاراً، فمثلاً:

 x= الطالب س ينجح في مادة التاريخ

ولأي حدث x، فإنه سيشار إلى نقيضه بــ  \lnot x، وعليه فإن:

 \lnot x= الطالب س لا ينجح في مادة التاريخ

دع  p(.) تمثل قيمة الاحتمال لحدث ما، فإذا كان:

x: حدث مؤكد الوقوع

y: حدث مستحيل الوقوع

z: حدث ممكن الوقوع

فإن:

 p(x) = 1, p(y) = 0, 0 < p(z) < 1

لنشير إلى عامل الاقتران المنطقي “و” بـ  \wedge :

مثال: الطالب س ينجح في مادة التاريخ  \wedge الطالب س لا يحب مادة التاريخ (الطالب س ينجح في مادة التاريخ وهو لا يحب المادة)

، وبعامل التخيير المنطقي “أو” بــ  \vee :

مثال: الطالب س ينجح في مادة التاريخ  \vee الطالب س لا يحب مادة التاريخ

(الطالب س ينجح في مادة التاريخ أو أنه لا يحب المادة. ملاحظة: هذه الجملة تعني أنه بالإمكان أن ينجح الطالب وهو لا يحب المادة، ويمكن الرجوع إلى جدول الصواب للعامل “أو”).

يمكن بديهياً استنتاج التالي لأي حدث  x ونقيضه  \lnot x :

 p(x \wedge \lnot x) = 0

(احتمال الحدث ونقيضه يساوي 0، إذ أنه لا يمكن أن يحدث النقيضان)

 p(x \vee \lnot x) = 1

(احتمال الحدث أو نقيضه يساوي 1، إذ أنه من المؤكد إما أن يحدث الحدث أو نقيضه)

ارتباط الأحداث واستقلالها

دعنا بداية نستخدم الصيغة:

 p(x|y)

لنعني قيمة احتمال وقوع حدث  x بعد معرفتنا بوقوع حدث آخر  y . من منظور احتمالي، فإن استقلال الحدثين، وسنرمز لهذا الاستقلال (Independence) بالصيغة:

 x \perp y

يعني أن معرفتنا بوقوع  y لا تغير من اعتقادنا بوقوع  x . لذا سيكون احتمال  x بعد معرفتنا بـ  y هو نفسه من دون معرفتنا بــ  y :

 p(x|y) = p(x)

مثال:

 x = حصول الطالب س على تقدير متدن في جميع المواد

 y = تغير حصة الرياضة الاسبوعية من الفترة الصباحية إلى الظهيرة

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

أما إن كانت معرفتنا بــ  y تغير من اعتقادنا بوقوع  x (ربما تزيده أو تنقصه)، فهذا يعود لارتباط الحدث  x في هذه الحالة بالحدث  y ، وسنرمز لهذا الارتباط (Association) بالرمز:

 x \not\perp y

 x = حصول الطالب س على تقدير متدن في جميع المواد

 y = تعتري الطالب س ظروف أسرية صعبة

فإن اعتقادنا بوقوع  x قبل معرفتنا بــ  y ليس هو الاعتقاد ذاته بعد معرفتنا بوقوع  y :

 p(x|y) \neq p(x)

ما ينطبق على حدثين من الارتباط والاستقلال ينطبق على نقيضيهما:

 x \perp y \Leftrightarrow x \perp \lnot y \Leftrightarrow \lnot x \perp \lnot y \Leftrightarrow \lnot x \perp y

استقلال حدثين بمعرفة أحداث أخرى

بالعودة إلى المثال السابق:

 x = حصول الطالب س على تقدير متدن في جميع المواد

 y = تعتري الطالب س ظروف أسرية صعبة

وكما ذكرنا سابقا أن  x \not\perp y . فلنفترض الآن أن المعلم عرف بوقوع هذا الحدث أيضاً:

 z= الطالب س أجاب في جميع اختباراته بإجابات خاطئة على غالبية الأسئلة

فما هو احتمال  x وفقا للمعطيين  y, z ؟ في هذه الحالة، فإن معرفة المعلم بالحدث  z تلغي فائدة الحدث  y لتكوين اعتقاد بالحدث  x. إذ أن معرفته بأن الطالب أجاب بإجابات خاطئة على غالبية الأسئلة كافية لأن يكون اعتقاداً بحصول الطالب على تقدير متدن في جميع المواد. فلا يهم هنا إن كان الطالب يعاني ظروفاً أسرية صعبة أم لا. حيث ألغت المعلومة  z فائدة المعلومة y في تكوين اعتقاد بخصوص تقدير الطالب. في هذه الحالة، فإن  x مستقل عن  y بعد معرفة  z، ويرمز لهذه الحالة بالرمز:

 x \perp y | z

والفائدة هنا هي أن استقلالية الأحداث واحتمالاتها قابلة للتغير بعد ورود معلومات عن الأحداث الأخرى. فزيادة البيانات كفيل بتغيير تقييمنا لاحتمالات الأحداث المراد فحصها وهذا ما يعرف بــ (Belief updating). لذا، ففي نظم التحليل ودعم اتخاذ القرارات، وفي حالة وجود أحداث كثيرة تحيط بالحدث الذي نريد تحليله أو اتخاذ قرار بشأنه، تبرز أهمية معرفة علاقات هذه الأحداث ببعضها وماهي الأحداث المستقلة وفق المعطيات التي لدينا. حيث يفيدنا ذلك في تمييز الأحداث التي نأخذها بعين الاعتبار من تلك التي لا تساهم في تقديم أية إضافة. ومن هذا المنطلق تبرز نظرية الشبكات (Graph theory) كأحد النظريات التي يمكن استخدامها لنمذجة الارتباط والاستقلال بين الأحداث. واستخدام نظرية الشبكات في نمذجة التوزيعات الاحتمالية (Probability distributions) هو ما يعرف بالنماذج الشبكية الاحتمالية (Probabilistic Graphical Models) والذي سيكون موضوع الجزء القادم من المقالة.

وقبل نهاية هذا الجزء، نشير إلى تعريف احتمال وقوع حدثين  x و  y معاً وهو:

 p(x \wedge y) = p(x) * p(y|x) = p(y) * p(x|y)

والذي يعرف بقانون ضرب الاحتمالات. وكذلك يمكن تعريف احتمال حدوث أحد حدثين  x أو  y بــ:

 p( x \vee y) = p(x) + p(y) - p(x \wedge y)

والذي يعرف بقانون جمع الاحتمالات. ويلاحظ هنا طرح احتمال وقوع الحدثين معاً من مجموع احتمالي الحدثين. والسبب هو أنه في حالة أن الحدثين يمكن أن يقعا معاً (non-mutually exclusive)، فإن احتمال وقوعهما يحسب في كل من  p(x) و  p(y) بحسب ما هو موضح في الـ Venn Diagram أدناه، الشكل (a). إذ أن المنطقة الخضراء I، وهي المنطقة التي يحدث فيها الحدثان، تدخل في منطقة الحدث  x و منطقة الحدث  y . لذا فإنه تم حسابها مرتين وذلك أثناء حساب احتمالي الحدثين. فيتم حذف واحدة من هاتين المرتين. أما في حالة أنه لا يمكن وقوع الحدثين معاً (mutually exclusive)، كما في الشكل (b) أدناه، فإن:

 p(x \vee y) = p(x) + p(y) - p( x \wedge y),

 p(x \wedge y) = 0

 \Rightarrow p(x \vee y) = p(x) + p(y)

وعليه، إذا كنا نريد حساب احتمال حادثة ما، من دون أن نعرف وقوع حدث آخر، أو ربما لا يهمنا الحدث الآخر حيث أننا نريد معرفة احتمال الحدث المستهدف بغض النظر عن الأحداث الأخرى، فإننا نحسب احتمال حدوث الحدث المستهدف مع جميع أحوال الحدث الآخر، أي مع وقوع الحدث الآخر أو نقيضه، كالتالي:

 p(x) = p(x\wedge y) + p(x \wedge \lnot y)

وهذا يعرف بالاحتمال الهامشي (Marginal probability).

والقوانين أعلاه يمكن تعميمها لأكثر من حدثين، فاحتمال وقوع  n من الأحداث  x_1,\ldots, x_n هو:

 p(x_1 \wedge \dots \wedge x_n) = p(x_n| x_{n-1} \wedge \ldots \wedge x_1) * p(x_{n-1}| x_{x-2} \wedge \ldots \wedge x_1) *\ldots * p(x_1)

القانون أعلاه يعرف بقانون التسلسل للاحتمالات (chain rule of probability).

وباستخدام الرموز الإنجليزية الكبيرة للإشارة إلى متغير يسند إليه الحدث أو نقيضه:

 X = x \;\; \mbox{or} \;\; X = \lnot x

فإن الاحتمال الهامشي لحدث ما x_1 هو:

 p(X = x_1) = \sum_{X_2 \wedge \dots \wedge X_n} p(X = x_1 \wedge X_2 \wedge \ldots \wedge X_n)

وبالعودة إلى الجزء الأول من المقالة، وتحديداً لتعريف الحالات التي يحدث فيها الحدث أو الــ States of affairs، فإنها هنا في الاحتمال الهامشي، تتبين في مختلف القيم التي تأخذها المتغيرات الأخرى في حين أن الحدث x_1 ثابت (واقع). ولهذا يكون احتمال الحدث x_1 هو احتمال وقوع أي من هذه الحالات، وهذا يفسر عملية الجمع (\sum) هنا.

النماذج الشبكية الاحتمالية

الشبكة (Graph) كتركيب تتكون من مجموعة من نقاط الالتقاء (Vertices)، وسأسميها هنا “الرؤوس”، ومجموعة من الروابط (Edges) بحيث أن كل رابط يربط بين رأسين. في المثال (a) أدناه  \{X,Y,Z\} هي الرؤوس و  \{(X,Y),(Z,Y),(Y,Z)\} هي الروابط:

والروابط إما أن تكون موجهة كما هو حال الرابط  (X,Y) ، وتمثل بسهم، أو غير موجهة كما هو الحال في  (Y,Z), (Z,Y) (وهنا عبرنا عن الرابط بالترتيبين المختلفين للرأسين للإشارة إلى أن الرابط غير موجه). نقول بأن هنالك طريق موجه (Directed path) بين رأسين إذا كان بالإمكان الانتقال من أحد الرأسين إلى الآخر عن طريق تتبع الروابط الموجهة بالسير حسب وجهتها. فمثلا في الشكل (b) يوجد طريق موجه بين  V و  Y . نقول بأن هنالك طريق (Path) بين رأسين إذا كانت هنالك سلسلة مترابطة من الرؤوس بغض النظر عن وجهة الروابط التي تربطها. فمثلاً في الشكل (b) أعلاه يوجد طريق بين  X و  V . يلاحظ أنه لا يوجد أي طريق بين  F وأي من الرؤوس الأخرى. نقول بأن الشبكة تحتوي على دورة موجهة (Directed cycle) إذا كان هنالك طريق موجه يبدأ من رأس في الشبكة وينتهي بنفس الرأس، و مثال ذلك الطريق  V \rightarrow Z \rightarrow Y \rightarrow V في الشبكة (c) أعلاه. لذا فإن الشبكة (c) تسمى الشبكة الموجهة المحتوية على دورة (Directed cyclic graph). أما الشكل (b) فهو شبكة موجهة لا تحتوي على دورة (Directed acyclic graph). بالنسبة للشبكة التي لا يوجد فيها أي رابط موجه (جميع الروابط التي فيها إن وجدت تكون غير موجهة) فتسمى الشبكة الغير موجهة (Undirected graph).

تستخدم الشبكات الموجهة والغير موجهة في تمثيل التوزيعات الاحتمالية بناءً على التطبيق وخصائص التوزيع الاحتمالي المراد استخدامه. في هذه المقالة سنركز فقط على التوزيعات الاحتمالية التي يمكن نمذجتها بالشبكات الموجهة الغير محتوية على دائرة والتي تعرف بــ Bayesian Network أو بــ Probabilistic Directed Acyclic Graph.

Bayesian Network

(ملاحظة: الاسم Bayesian هنا لا يعني أن الاحتمال يجب أن يفسر بالتفسير الثاني من التفسيرين الذين شرحناهما في بداية المقالة. إذ يمكن استخدام التفسير الأول في نمذجة الشبكة. الاسم في كلا الحالتين نسبة للعالم الإحصائي البريطاني “توماس بيس” ولكن الاصطلاحين مختلفان).

لنفترض أننا في إحدى البيئات التعليمية ونرغب في فهم الظواهر الموجودة في الشكل (a) أدناه. ولنفترض أننا حصلنا على القواعد الموجودة في (b) من خلال ملاحظات مشرفي البيئة التعليمية.

فإنه من خلال هذه القواعد، يمكن صياغة التوزيع الاحتمالي (Joint probability distribution) كالتالي (في حالة وجود أي إبهام، يمكن الرجوع للقانون التسلسلي للاحتمالات وقانون الاستقلال في الجزء السابق):

 P(X \wedge Y \wedge K \wedge N \wedge Z \wedge C \wedge S \wedge M \wedge W \wedge V \wedge F) = P(F|W) * P(W|M)  * P(M|Y) * P(V|S) * P(S|C) * P(C| K \wedge Y) * P(R| N \wedge Z)  * P(N| K) * P(K| Y) * P(Y | X) * P(Z| X) * P(X)

وبتمثيل هذا التوزيع الاحتمالي كشبكة موجهة نحصل على التالي:

والشبكة أعلاه تعرف بـ Bayesian Network وتمثل التوزيع الاحتمالي المعطى. ويتضح من هذه الشبكة أن أن وجود رابط بين متغيرين يعني وجود ارتباط بين الأحداث التي يمثلها هذان المتغيران. ولكن السؤال هنا هو كيف يمكن معرفة الاستقلال والارتباط بين المتغيرات الي لا ترتبط مباشرة مع بعضها؟ فمثلاً، لو أننا علمنا أن أحد الطلاب لديه قدرة منخفضة على الحفظ، أي  K=\lnot k ، وليست لدينا أية معلومات أخرى عنه، ونود أن نعرف علاقة هذا الحدث بكون الطالب متقناً لعلم الجبر أو غير متقن، فإنه بناء على قواعد الارتباط والاستقلال الموضحه في الجزء السابق، علينا حساب القيمتين:

 p(S=s | K = \lnot k) = \sum_{X\wedge Z\wedge Y\wedge R\wedge N\wedge C\wedge M\wedge W\wedge V\wedge F} \;\;p(S = s \wedge X \wedge Y \wedge R \wedge N \wedge Z \wedge C \wedge M \wedge W \wedge V \wedge F | K = \lnot k)

و:

 p(S=s) = \sum_{X,Z,Y,R,N,C,M,W,V,F, K} \;\;p(S= s \wedge X \wedge Y \wedge R \wedge K \wedge N \wedge Z \wedge C \wedge M \wedge W \wedge V \wedge F)

فإن كانت القيمتان متساويتين، فإن المتغيرين مستقلان عن بعضهما. وإن كانت القيمتان غير متساويتين، فإنهما مرتبطان ببعضهما.

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

ارتباط واستقلال متغيرين يفصلهما رأس واحد

قبل وضع القاعدة العامة التي يمكن من خلالها قراءة الارتباط والاستقلال بين أي متغيرين في الــ Bayesian Network، بداية ندرس ارتباط واستقلال متغيرين يفصلهما رأس واحد فقط.

في حالة وجود متغيرين يفصلهما رأس واحد في الشبكة، فإن الرأس الفاصل لا يخلو من أن يكون على حالة من ثلاث حالات:

  1. أن يصله سهم وينطلق منه السهم الآخر، مثال ذلك  M في التركيب  Y \rightarrow M \rightarrow W في الشبكة المعطاة سابقاً والموضح أدناه في الشكلين (1) و(2).
  2. أن ينطلق منه السهمان، مثال ذلك  X في التركيب  Z \leftarrow X \rightarrow Y في الشبكة المعطاة سابقاً والموضح أدناه في الشكلين (3) و (4).
  3. أن يصله السهمان، مثال ذلك  R في التركيب  Z \rightarrow R \leftarrow N في الشبكة المعطاة سابقاً والموضح أدناه في الشكلين (5) و (6). يسمى الرأس في هذه الحالة نقطة تصادم (collider) وأيضا يسمى هذا التركيب (v-structure).

بالنسبة للحالتين الأولى والثانية، فإنه في حالة أن قيمة المتغير في الرأس الفاصل ليست معروفة (لا نعرف المتغير هل يأخذ الحدث أو نقيضه) فإن المتغيرين اللذين يفصلهما هذا الرأس مرتبطان. فمثلاً في الرسم (1) في الصف الأول من الشكل أعلاه  Y و  W مرتبطان، وذلك لعدم معرفتنا بقيمة المتغير  M (الدائرة الفارغة تعني أن القيمة ليست معلومة، بينما اللون الأصفر يعني أن قيمة المتغير معطاة). وكذلك الحال بالنسبة لـ  Z و  Y في الرسم (3) حيث أن قيمة المتغير  X غير معروفة. أما إذا كان المتغيران في هاتين المحطتين تعرف قيمتهما، كما هو الحال في الشكلين (2) و (4)، فإن المتغيرين الآخرين مستقلان. لذا يمكن استخراج العلاقات التالية من الصفين الأولين:

 Y \not\perp W, \;\;\; Y \perp W | M

 Z \not\perp Y, \;\;\; Z \perp Y | X

بالعودة إلى ما تمثله هذه المتغيرات، فيمكن قراءة هذه الجمل من الشبكة (أؤكد مرة أخرى أن الشبكة افتراضية وليست بالضرورة ممثلة للواقع. فقد تكون شبكة العلاقات في الواقع مغايرة):

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

بالنسبة للحالة الثالثة، نقطة التصادم، فهي عكس الحالتين السابقتين. فإنه في حالة عدم معرفة قيمة المتغير في نقطة التصادم  R ، فإن المتغيرين الآخرين  Z و  N مستقلان. أما في حالة معرفة قيمة المتغير في نقطة التصادم، فإن المتغيرين الآخرين مرتبطان:

 Z \perp R, \;\;\; Z \not\perp R | N

لذا يمكن قراءة التالي:

  • في حالة معرفتي بإمكانية الطالب على القيادة، فإن المعلومة التي تأتيني بخصوص إتقانه للعلوم الاجتماعية تفيدني في تكوين اعتقاد بخصوص مشاركته في الأنشطة اللاصفية (أو العكس). أما في حالة عدم معرفتي بإمكانية الطالب في القيادة فإن أي معلومة تأتيني بخصوص مشاركة الطالب في الأنشطة اللاصفية لا تفيدني في تكوين اعتقاد بخصوص إتقانه للمواد الاجتماعية.

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

يمكن تعميم الحالات أعلاه على أي متغيرين في الشبكة بغض النظر عن عدد الرؤوس التي تفصلهما، وذلك من خلال خاصية الــ d-separation (والتي سأشرحها الآن).

قراءة الارتباط والاستقلال من الشبكة بشكل عام

الآن بالإمكان شرح خاصية الـ d-separation والتي يمكن استخدامها لمعرفة ارتباط واستقلال أي متغيرين في الـ Bayesian Network بغض النظر عن المسافة بينهما.

بداية، يمكن تعريف سلالة رأس ما (Descendants of a vertex) في الـ Bayesian Network على أنه جميع الرؤوس التي يمكن الوصول إليها بطريق موجه يبدأ من هذا الرأس. فعلى سبيل المثال، في الشبكة أعلاه، سلالة  K هي المجموعة  \{C,S,V,N,R\} . وبناءً عليه نعرف مصطلح الطريق النشط (Active path) كالتالي:

لتكن المجموعة  \mathbb{Z} تمثل المتغيرات التي نعرف قيمها، فإن الطريق بين محطتين  V_1 و  V_2 ًيكون نشطا إذا وإذا فقط:

  • في حالة وجود نقطة تصادم في هذا الطريق فإنها تنتمي للمجموعة  \mathbb{Z} أو أن أحد أفراد سلالتها ينتمي للمجموعة \mathbb{Z}.
  • لا يوجد محطة في هذا الطريق ليست نقطة تصادم و تنتمي للمجموعة  \mathbb{Z} .

بالعودة إلى الشبكة السابقة، دع المجموعة التي نعرف قيم متغيراتها هي  \mathbb{Z} = \{R,S,X\} ، كما هو موضح في الشكل أعلاه، فبأخذ الرأسين  Z و  C ، مثلاً، نجد أن الطريق Z\rightarrow R\leftarrow N\leftarrow K\rightarrow C يتحقق فيه الشرطان. إذا أن نقطة التصادم الموجودة في هذا الطريق وهي  R تنتمي إلى المجموعة  \mathbb{Z} . وكذلك لا يوجد في هذا الطريق رأس لا يمثل نقطة تصادم ينتمي إلى المجموعة  \mathbb{Z}. لذا فإن هذا الطريق نشط. وكذلك الحال بالنسبة للطريق  Z\rightarrow R\leftarrow N\leftarrow K\leftarrow Y\rightarrow C. بينما الطريقان الآخران Z\leftarrow X\rightarrow Y\rightarrow C و Z\leftarrow X\rightarrow Y\rightarrow K\rightarrow C كلاهما غير نشط. حيث أن الرأس X، الموجود في كلا الطريقين، ينتمي إلى  \mathbb{Z} وهو ليس نقطة تصادم. فالشرط الثاني غير متحقق. بينما جميع الطرق اللتي بين  Z و  V وهي  Z\rightarrow R\leftarrow N\leftarrow K\rightarrow C\rightarrow S\rightarrow V و Z\rightarrow R\leftarrow N\leftarrow K\leftarrow Y\rightarrow C\rightarrow S\rightarrow V و Z\leftarrow X\rightarrow Y\rightarrow K\rightarrow C\rightarrow S\rightarrow V و Z\leftarrow X\rightarrow Y\rightarrow C\rightarrow S\rightarrow V غير نشطة. حيث أن الشرط الثاني غير متحقق في أي منهم. إذ أن الرأس  S ، الموجودة في الطريقين الأولين، ينتمي إلى  \mathbb{Z} وهو ليس نقطة تصادم. وكذلك الحال في الطريقين الأخيرين إذ يوجد فيهما الرأس X وهو ليس نقطة تصادم وينتمي إلى \mathbb{Z}. لذا فإنه لا يوجد طريق نشط بين هذين الرأسين. والطريق بين  Y و F وهو Y\rightarrow M\rightarrow W\rightarrow F يعتبر طريقاً نشطاً. إذ أن الشرط الأول متحقق، حيث لا توجد أية نقطة تصادم في هذا الطريق. وكذلك فإن الشرط الثاني متحقق إذ أنه لا يوجد رأس في هذا الطريق ليس نقطة تصادم وينتمي إلى \mathbb{Z}. وأيضاً الطريق  K\rightarrow C\leftarrow Y\rightarrow M\rightarrow W\rightarrow F والذي يربط بين الرأسين  K و  F يعتبر طريقاً نشطاً، إذ أنه يوجد في الطريق نقطة تصادم،  C، بحيث ينتمي أحد أفراد سلالتها، وهو S، إلى المجموعة \mathbb{Z}، وبالتالي يكون الشرط الأول متحققاً. وكذلك لا يوجد في هذا الطريق أي رأس لا يمثل نقطة تصادم وينتمي للمجموعة \mathbb{Z}.

يمكن الآن تعريف خاصية الـ d-separation (العزل) كالتالي:

مجموعة المتغيرات  \mathbb{X} تعتبر معزولة (d-separated) عن مجموعة المتغيرات  \mathbb{Y} بمعرفة قيم مجموعة المتغيرات  \mathbb{Z} ، ويرمز لهذا العزل بــ  \mathbb{X}\perp\mathbb{Y} | \mathbb{Z} ، إذا وإذا فقط كان لا يوجد أي طريق نشط بين أي رأس في  \mathbb{X} و أي رأس في  \mathbb{Y} .

أي أنه بمعرفتنا بقيم المتغيرات في مجموعة ما  \mathbb{Z} ، فإن أي رأس يعتبر مستقل عن أي رأس آخر في الشبكة إذا لم يوجد طريق نشط بينهما. بالعودة إلى الشبكة السابقة فإنه يمكن قراءة علاقات الارتباط والاستقلال التالية مباشرة:

 Z \not\perp C | \mathbb{Z}, \;\;\;  Z \perp V | \mathbb{Z}, \;\;\; K \not\perp F | \mathbb{Z}

وبإمكانك معرفة استقلال وارتباط أي متغيرين آخرين من خلال فحص خاصية العزل بينهما.

استخدام الشبكة للتحليل والاستعلام

يستفاد من الـ Bayesian Network في الاستعلام عن احتمالية وقوع الأحداث وتحليل الأحوال التي وقعت بها بعض الأحداث. من أنواع الاستعلام:

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

 p(S=s \wedge Z=z | Y=y \wedge W=\lnot w) ?

  • ما هو الاحتمال الأكبر لقيم متغيرات معينة بمعرفة متغيرات أخرى. فعلى سبيل المثال، ما هو احتمال الأكبر لقيمة علم الجبر (متقن أم غير متقن) وقيمة القدرة القيادية (عالية أم منخفضة) إذا علمنا أنه مجتهد ولكنه غير متقن لعلم المنطق (يمكن فهم argmax على أنها تعيد لك القيم للمتغيرات المعرفة في أسفلها والتي تحقق أعلى قيمة للدالة المعطاة، أي هنا تعيد قيم المتغيرات التي تعطي أعلى قيمة احتمالية):

 \mbox{argmax}_{S,Z} \;\;p(S \wedge Z | Y=y \wedge W=\lnot w) ?

  • معرفة الأحداث الأكثر احتمالاً والتي تفسر ظاهرة ما. على سبيل المثال، ماهي الأحداث الأكثر احتمالاً التي تفسر كون الطالب غير مجتهد ومتقن لعلم اللغة التركيبي:

 \mbox{argmax}_{X,Z,R,N,S,M,W,V,F, K} \;\;p(Y=\lnot y \wedge C = c \wedge X \wedge Z \wedge R \wedge N \wedge S \wedge M \wedge W \wedge V \wedge F \wedge K) ?

السببية (Causality) والارتباط

تعتبر العلاقة السببية (Causal relationship) بين متغيرين علاقة ارتباط خاصة، حيث تكون قيم الأحداث لأحد هذين المتغيرين أسباباً لوقوع الأحداث التي يأخذها المتغير الآخر. ولكن ليست كل علاقة ارتباط بين متغيرين هي علاقة سببية. فقد يكون ارتباط حدثين ببعضهما نتيجة لسبب مشترك مجهول يسبب الحدثين معا. فعلى سبيل المثال، بالعودة إلى الشبكة السابقة، لنفترض أننا لا نعلم قيمة أي متغير في الشبكة. ففي هذه الحالة يعتبر المتغيران  C و  Z مرتبطان ببعضهما لوجود طريق نشط بينهما ( Z\leftarrow X\rightarrow Y\rightarrow C). وهذا الارتباط ينتج من أن معرفتنا بقيمة أحد هذين المتغيرين تنتقل بواسطة هذا الطريق النشط لتؤثر في اعتقادنا بقيمة المتغير الآخر. فمعرفتنا بمشاركة الطالب في الأنشطة اللاصفية تغير من اعتقادنا بوجود علة صحية لديه (المتغير  X )، والذي بدوره يغير من اعتقادنا باجتهاده (المتغير Y) والذي يغير بدوره من اعتقادنا بإتقان الطالب لعلم اللغة التركيبي (C). فتظهر الظاهرتان C و Z مرتبطتان في ظل عدم معرفتنا بحقيقة الأحداث الأخرى. ولكن لايمكن افتراض أن الأحداث التي يأخذها أحد هذين المتغيرين أسباب للأحداث التي يأخذها المتغير الآخر. فلا يذهب الطالب مثلاً للمشاركة في الأنشطة اللاصفية من أجل أن يتقن علم اللغة التركيبي، ولا يحاول الطالب أن يتقن علم اللغة التركيبي من أجل أن يشارك في الأنشطة اللاصفية. ويعود ارتباط الظاهرتين هنا إلى وجود أسباب مشتركة مجهولة منها الوضع الصحي للطالب، المتمثل بالمتغير X، والذي لا تعرف قيمته في هذه الحالة. وقد تكون هنالك أسباب أخرى لم تتم نمذجتها في الشبكة. لذا فمن الخطأ حين ملاحظة وجود ارتباط بين ظاهرتين أن نفسر ذلك مباشرة على أن إحدى هاتين الظاهرتين سبب للظاهرة الأخرى. لذا فإنه في الكثير من الدراسات التي تعنى بعلاقات بعض الظواهر، يتجنب الدارسون افتراض وجود علاقة سببية بين ظاهرتين دون قرائن قوية. إذ قد يؤدي افتراض وجود علاقة سببية إلى إشكالات كبيرة. فمثلا، عند اكتشاف عناصر كيميائية أو حيوية تظهر في أجساد مرضىً لمرض معين، يكون من الصعب استنتاج أن هذه العناصر سبب لهذا المرض مباشرة. فقد تكون هذه العناصر مرتبطة مع أعراض المرض وكلاهما ينتج عن سبب مشترك مجهول. فافتراض علاقة سببية هنا قد يؤدي إلى تصنيع أدوية قد تضر المرضى ولا تستهدف السبب الحقيقي للمرض.

أيضاً من الأخطاء الشائعة اعتبار الـ Bayesian Network نموذجاً لعلاقات سببية حيث توجد الأسهم الموجهة والتي قد يعتبرها البعض روابط تنطلق من السبب إلى الأثر. وهذا ليس صحيحاً. فليس كل Bayesian Network تمثل علاقات سببية، بل هي تمثل توزيعاً احتمالياً قد يربط بين المسببات والآثار، وقد يكون غير ذلك. وللتوضيح، افترض أن لديك متغيران  X و Y بينها ارتباط غير سببي. فالتوزيع الاحتمالي لهذين المتغيرين يمكن كتابته بالصيغتين:

 P(X,Y) = P(X) * P(Y|X)

 P(X,Y) = P(Y) * P(X|Y)

فلو أعطينا هاتين الصيغتين إلى شخصين مختلفين وطلبنا منهما أن ينمذجا الشبكة كل على حدة، فإن الشخص الأول سينمذجها كالتالي:

بينما الآخر سينمذجها كالتالي:

فإن تفسير الروابط المتجهة على أنها تربط السبب بالأثر، يجعلنا نستنتج من الرسم الأول أن X سبب لـ Y، ونستنتج من الرسم الثاني أن Y سبب لـ X وبالتالي استخراج علاقتين سببيتين مختلفتين لنفس الارتباط.

خاتمة

تعتبر النماذج الشبكية الاحتمالية موضوعا هاما من مواضيع الذكاء الاصطناعي وتعليم الآلة. وقد حاولت في هذه المقالة شرح المبادىء الأساسية التي تعتمد عليها مع شرح أساسيات أحد نماذجها وهو الــ Bayesian Network. وفي حالة ما إذا كان الموضوع غامضا للوهلة الأولى، فيمكن دراسته دراسة متأنية والتفكير في كثير من الظواهر الموجودة في عالمنا ومن ثم محاولة الربط بينها وبين المفاهيم المطروحة هنا. وفي حالة وجود أسئلة متعلقة بهذا الموضوع، يمكن طرحها وسأحاول الإجابة عليها بإذن الله.

 

اظهر المزيد

وليد الصانع

باحث مهتم بتعليم الآلة وتحديدا: النماذج الاحتمالية، الاستقراء المنطقي، والنماذج الاحتمالية المنطقية. التطبيقات: معالجة اللغات الطبيعية ونمذجة الظواهر العشوائية.

‫7 تعليقات

  1. شكرا دكتور وليد بحجم السماء وجزاك الله خير .
    سؤالي بحكم تخصصك بالاحتمالات : هل هناك جوانب علمية متخصصة بنماذج الاحتمالات وليست على صلة بأي تخصص منطقي؟

    1. السلام عليكم أخ عمر،
      غالبية القرارات التي نتخذها في أي مجال لا يمكن أن نجزم بتبعاتها. وأيضا الظواهر نسبة كبيرة منها ليست محددة وفق المعطيات التي نعرفها، فتستخدم النماذج الاحتمالية في محاولة فهمها. لا أعرف مجالا علميا لا تدخل فيه نماذج الاحتمالات: المجال الطبي (تشخيص الامراض، البحث عن أدوية …)، اللغويات (نمذجة اللغة بطريقة احتمالية لمعرفة الكلمات الأكثر احتمالا للظهور في سياقات معينة مثلا)، الاقتصاد (توقع الأوضاع الاقتصادية بناء على معطيات معينة: الموارد، الدخل وغيرها) … وقس على ذلك المجالات الأخرى.
      إذا كان سؤالك عن طريقة دراسة وعرض الاحتمالات، فأغلب المراجع التي قرأتها لا تعتمد الأسلوب المنطقي البحت (مثلا لا تستخدم الروابط المنطقية بالطريقة التي عرضتها في المقالة). بل تعتمد الأسلوب الرياضي الكمي، وغالبا تعرض الاحتمالات مع ما يسمى بــ “طرق العد” (Counting Techniques).

      تحياتي أخ عمر.

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

    1. وإياك أخي أحمد.
      لا أعلم حقيقة عن عمل يطرح النماذج الاحتمالية في إطار التعلم العميق.
      بالنسبة للنماذج الاحتمالية جميعها (شبكية موجهة، شبكية غير موجهة، شبكية موجهة جزئيا)، فمن الصعب أن تغطى في مرجع واحد. بالنسبة للنماذج الاحتمالية الموجهة أو الــ Bayesian Networks فأنصح بكتابين للمبتدئين:
      Adnan Darwiche, 2014. Modeling and Reasoning with Bayesian Networks, Cambridge University Press.
      و
      Nielsen, Thomas Dyhre, VERNER JENSEN, FINN, 2007. Bayesian Networks and Decision Graphs, Springer.

  3. ماشاء الله تبارك الله. مقال علمي رائع يفتح الشهيه 🙂

    الd-separation يمكن اختبارها بطريقه grahical حيث تعمل moralization ومن ثم triangulation للقراف وتشيك مثل هنا http://web.mit.edu/jmn/www/6.034/d-separation.pdf

    اعتقد انها اسهل للطلاب وحقيقة دايماً اتبعها بدل التعقيد اللي حاصل بتعريفات الd-separation، هل توافقني الراي؟ جزاك الله خير وكثر من أمثالك.

    1. حياك الله أخي عيسى،

      بالنسبة للــ d-separation فهي خاصية معرفة فقط على النماذج الموجهة و الــ d هنا اختصار لكلمة directed. بالإمكان معرفة استقلال متغيرين في الشبكات الموجهة عن طريق تحويل هذه الشبكة إلى شبكة غير موجهة (Markov Network/Markov Random Field) ومن ثم استخدام خاصية الــ Global Markov Property في معرفة الاستقلال في هذا النوع من الشبكات. وهذه هي الطريقة المشروحة بشكل مختصر في الرابط (ولكن الملف في الرابط ذكر الــ d-separation ثم ذكر هذه الطريقة ولم يوضح أن هذه ليست الــ d-separation). أثناء تحويل الشبكة الموجهة إلى شبكة غير موجهة: تحذف اتجاهات الأسهم ومن ثم يتم عمل الــ Moralisation/Moralization (تشريع العلاقة) وذلك “بتزويج” الأباء الذين ليس بينهم روابط (كما هو الحال في N و Z في الشبكة الموجودة في المقال) حتى يتم التخلص من نقط التصادم. عندها يصبح أي متغيرين منعزلين عن بعضها إذا كان لا يوجد طريق بينهما لا يمر بمتغير معطى وهذه هي خاصية الــ Global Markov Property بشكل مختصر.

      الفرق هنا أن الــ d-separation ظهرت في دراسة الشبكات الموجهة، والــ Markov Properties ظهرت في دراسة الشبكات الغير موجهة. والتحويل من الأولى إلى الثانية وارد، أما العكس ففيه اشكالات.

      بالنسبة للــ Triangulation فتستخدم في بعض خرازميات الاستنتاج (الــ inference).

      تحياتي أخ عيسى.
      ———————–
      ملاحظة: أو التنبيه على خطأ لغوي (قد يغير في المعنى) ورد في المقال وظهر في اقتباس على حساب الموقع في تويتر وهو:
      “ليست كل علاقة ارتباط بين متغيرين هي علاقة سببية. فقد يكون ارتباط حدثين ببعضهما نتيجة لسبب مشترك مجهول يسبب الحدثان معا”.
      الحدثان = الحدثين.

      1. “بالنسبة للــ d-separation فهي خاصية معرفة فقط على النماذج الموجهة و الــ d هنا اختصار لكلمة directed. بالإمكان معرفة استقلال متغيرين في الشبكات الموجهة عن طريق تحويل هذه الشبكة إلى شبكة غير موجهة (Markov Network/Markov Random Field) ومن ثم استخدام خاصية الــ Global Markov Property في معرفة الاستقلال في هذا النوع من الشبكات. ”

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

        ولكن في حالات كثيرة يمكن قراءة نفس علاقات الارتباط والاستقلال من الشبكتين.

        تحيتي.

اترك تعليقاً

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

زر الذهاب إلى الأعلى