تخطّي إلى المحتوى
Kudos AI

الشبكات البايزية والتوزيع المشترك

مخطّط موجَّه لا دوري مع جدول احتمالات شرطية عند كل عقدة، والجداء الذي يعرّف معناه، والاستقلالات الشرطية التي تجعله مضغوطًا.

متوسّطالوحدة 125 دقيقة · 100 XP
خمس عقد وعشرة أعداد تجتمع في مخطّط، ثم حدث كامل واحد يُتتبَّع من الأعلى إلى الأسفل بينما تتضارب عوامله الخمسة نزولًا إلى 0.000628.

يجيب التوزيع المشترك الكامل عن كل سؤال احتمالي، وهو مع ذلك عديم الجدوى عمليًا: فعلى nn متغيّرًا بوليانيًا له 2n2^n مدخلة، لا أحد يستطيع تزويدها ولا أحد يستطيع تخزينها. أما الشبكة البايزية فتحتفظ بقوّة التوزيع المشترك ولا تدفع إلا ثمن التبعيّات الموجودة فعلًا.

ما الشبكة

الشبكة البايزية مخطّط موجَّه لا دوري فيه

  • كل عقدة متغيّر عشوائي،
  • والسهم من XX إلى YY يقول إن XX أبٌ لـYY، أي إن لـXX تأثيرًا مباشرًا في YY،
  • وكل عقدة XiX_i تحمل جدول احتمالات شرطية (CPT) يعطي P(Xi∣Parents(Xi))P(X_i \mid \mathrm{Parents}(X_i))، بصفّ لكل تركيبة من قيم الآباء.

ويجب أن يكون مجموع كل صفّ من الجدول واحدًا، فلا يُكتب للمتغيّر البولياني إلا احتمال الصواب ويلزم منه الآخر. ولذلك تحتاج العقدة البوليانية ذات kk أبًا بوليانيًا إلى 2k2^k عددًا، وتحتاج عقدة الجذر إلى عدد واحد بالضبط.

شبكة السطو

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

P(b)=0.001P(e)=0.002P(a∣b,e)=0.95P(a∣b,¬e)=0.94P(a∣¬b,e)=0.29P(a∣¬b,¬e)=0.001P(j∣a)=0.90P(j∣¬a)=0.05P(m∣a)=0.70P(m∣¬a)=0.01\begin{array}{ll} P(b) = 0.001 & P(e) = 0.002 \\[4pt] P(a \mid b, e) = 0.95 & P(a \mid b, \lnot e) = 0.94 \\ P(a \mid \lnot b, e) = 0.29 & P(a \mid \lnot b, \lnot e) = 0.001 \\[4pt] P(j \mid a) = 0.90 & P(j \mid \lnot a) = 0.05 \\ P(m \mid a) = 0.70 & P(m \mid \lnot a) = 0.01 \end{array}

في المخطّط الأسهم B→AB \to A وE→AE \to A وA→JA \to J وA→MA \to M، ولا شيء غيرها. وهذه مجموعة من الدعاوى: فجون وماري لا يدركان السطو مباشرةً، ولا يلاحظان الزلازل الطفيفة، ولا يتشاوران قبل الاتّصال. وكل ما قد يُعطّل الإنذار - بطّارية فارغة أو سلك مقطوع - أو يمنع جارًا من الإبلاغ عنه مطويٌّ في الأعداد لا منمذجٌ. وليس ذلك تهاونًا؛ بل هكذا يتدبّر عميل صغير أمره في عالم كبير.

ماذا تعني الشبكة

الدلالة معادلة واحدة. فلأي إسناد كامل x1,…,xnx_1, \dots, x_n لكل المتغيّرات،

P(x1,…,xn)  =  ∏i=1nP(xi∣parents(Xi)),P(x_1, \dots, x_n) \;=\; \prod_{i=1}^{n} P\big(x_i \mid \mathrm{parents}(X_i)\big),

حيث يرمز parents(Xi)\mathrm{parents}(X_i) إلى قيم آباء XiX_i داخل الإسناد. فالشبكة هي التوزيع المشترك، مكتوبًا جداءً لمدخلات جداولها.

مثال محلول: حدث كامل واحد

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

P(j,m,a,¬b,¬e)=P(j∣a) P(m∣a) P(a∣¬b,¬e) P(¬b) P(¬e)=0.90×0.70×0.001×0.999×0.998=0.000628.\begin{aligned} P(j, m, a, \lnot b, \lnot e) &= P(j \mid a)\,P(m \mid a)\,P(a \mid \lnot b, \lnot e)\,P(\lnot b)\,P(\lnot e) \\ &= 0.90 \times 0.70 \times 0.001 \times 0.999 \times 0.998 \\ &= 0.000628 . \end{aligned}
Python

يعمل في متصفحك. تُنزّل عملية التشغيل الأولى بيئة بايثون (~10 ميغابايت)، ثم تُخزّن مؤقتًا.

ولمّا كان كل واحد من المدخلات الـ32 للتوزيع المشترك يمكن إنتاجه على هذا النحو، فكل ما يستطيع التوزيع المشترك الكامل الإجابة عنه تستطيع الشبكة الإجابة عنه أيضًا - بجمع المدخلات المعنيّة. والدرس التالي في فعل ذلك من غير إنتاج المدخلات الـ32 كلّها.

لماذا الشبكة أصغر بكثير

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

1+1+4+2+2=101 + 1 + 4 + 2 + 2 = 10

في مقابل 25−1=312^5 - 1 = 31 مدخلة مستقلّة في جدول التوزيع المشترك الكامل. وتتّسع الهوّة اتّساعًا انفجاريًا: فمع 30 متغيّرًا بوليانيًا لكلٍّ منها خمسة آباء على الأكثر، تحتاج الشبكة إلى 30×25=96030 \times 2^5 = 960 عددًا على الأكثر حيث يحتاج التوزيع المشترك إلى أكثر من مليار. والوفر مردّه إلى المحلّية: فكل متغيّر لا يتأثّر مباشرةً إلا بقلّة من المتغيّرات الأخرى.

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

تفاعلي: قل ما تعرفه، وراقب ما يترتّب

انقر عقدةً لتتنقّل بين: مجهول، وقع، مستبعَد.

سطو0.1%زلزال0.2%إنذار0.3%اتّصال جون5.2%اتّصال ماري1.2%
احتمال السطو
0.1%
احتمال الزلزال
0.2%
احتمال الإنذار
0.3%
احتمال المشاهدات
1.000000

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

الاستقلالات التي يقرّرها المخطّط

طبّق قاعدة السلسلة على أي ترتيب للمتغيّرات:

P(x1,…,xn)=∏i=1nP(xi∣xi−1,…,x1).P(x_1, \dots, x_n) = \prod_{i=1}^{n} P(x_i \mid x_{i-1}, \dots, x_1).

وبالمقارنة مع الدلالة أعلاه، تكون الشبكة تمثيلًا صحيحًا بالضبط حين يتحقّق، لكل متغيّر،

P(Xi∣Xi−1,…,X1)=P(Xi∣Parents(Xi))P(X_i \mid X_{i-1}, \dots, X_1) = P\big(X_i \mid \mathrm{Parents}(X_i)\big)

لترتيب ما تأتي فيه كل عقدة بعد آبائها. وبالكلمات: كل متغيّر مستقلّ شرطيًا عن سوابقه الأخرى بمعلومية آبائه. وتلزم من المخطّط وحده نتيجتان أخريان.

  • العقدة مستقلّة شرطيًا عن غير أحفادها بمعلومية آبائها. ففي شبكة السطو، JJ مستقلّ عن BB وEE وMM متى عُلم AA.
  • والعقدة مستقلّة شرطيًا عن كل عقدة أخرى بمعلومية غطاء ماركوف الخاصّ بها: آبائها وأبنائها والآباء الآخرين لأبنائها. فغطاء BB هو {A,E}\{A, E\}، ومن ثمّ فمتى عُلمت حالة الإنذار وحالة الزلزال، لم تُخبرك المكالمتان بشيء زائد عن السطو.

الترتيب مهمّ حين تبني شبكة. أضف العقد بالترتيب M,J,A,B,EM, J, A, B, E فتُضطرّ إلى رسم M→JM \to J، ثم المكالمتين كلتيهما إلى AA، ثم A→BA \to B، ثم A→EA \to E وB→EB \to E: وصلتان زائدتان وثلاثة أعداد زائدة على الشبكة السببية، وبعضها يصف علاقات يصعب تقديرها حقًا. فوضع الأسباب قبل النتائج هو ما يُبقي الشبكة صغيرة.

قبل الاختبار

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

المراجع والقراءات الإضافية

  • Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach, Pearson (3rd edition), 2010· مكتبة مراجع Kudos AI

تُذكر الأعمال المحمية بحقوق النشر للمرجعية فقط ولا تُستضاف هنا؛ يرجى الرجوع إلى الناشر للوصول إليها.

افتح المسار كاملًا

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