Bayesian Network
تمثّل الشبكة البايزية المتغيرات واعتمادياتها الشرطية في رسم بياني موجّه لا دوري، بحيث يمكن للأدلة تحديث احتمالات الأسباب.
الشبكة البايزية، وتُسمى أيضًا شبكة الاعتقاد، هي نموذج رسومي احتمالي يمثّل مجموعة من المتغيرات العشوائية واعتمادياتها الشرطية باستخدام رسم بياني لا دوري موجه (DAG). تمثل كل عقدة متغيرًا، مثل مرض أو عَرَض أو قراءة مستشعر، ويشير كل سهم من تأثير مباشر إلى المتغير الذي يؤثر فيه. وتخزّن كل عقدة جدول احتمالات شرطية يبيّن توزيعها لكل توليفة من قيم العقد الأبوية، وتحدد هذه الجداول مجتمعةً التوزيع المشترك الكامل لجميع المتغيرات. وعند توافر أدلة عن بعض المتغيرات، تحسب الشبكة احتمالات محدّثة لبقية المتغيرات، ما يجعلها أداة للتشخيص وتقييم المخاطر ودعم اتخاذ القرار في ظل عدم اليقين. وقد طوّر جوديا بيرل جزءًا كبيرًا من النظرية في ثمانينيات القرن العشرين، ونال عن أعماله في الاستدلال الاحتمالي والسببي جائزة تورنغ لعام 2011.
البنية وجداول الاحتمالات الشرطية#
يشفّر الرسم البياني الاستقلال الشرطي: فكل متغير مستقل عن المتغيرات التي ليست من نسله عند معرفة عقده الأبوية. ويتيح ذلك تحليل التوزيع المشترك إلى عناصر محلية صغيرة، P(X1, ..., Xn) = P(X1 | parents(X1)) × ... × P(Xn | parents(Xn)). وتضم شبكة السطو والإنذار الكلاسيكية من أعمال بيرل، الواردة في كتاب الذكاء الاصطناعي: منهج حديث لراسل ونورفي، خمسة متغيرات ثنائية (نعم/لا). وقد يؤدي سطو أو زلزال إلى تشغيل إنذار المنزل، ويدفع الإنذار جارَين، جون وماري، إلى الاتصال بالمالك.
يتطلب جدول مشترك كامل لخمسة متغيرات ثنائية 31 احتمالًا مستقلًا. أما الشبكة فتحتاج إلى 10: احتمال واحد لكل من السطو والزلزال، وأربعة احتمالات للإنذار بحسب كل توليفة من قيم والديه، واحتمالين لكل جار بحسب حالة الإنذار. وتزداد الوفورات سريعًا مع زيادة عدد المتغيرات، لأن حجم كل جدول يعتمد فقط على عدد العقد الأبوية للعقدة.
الاستدلال: تحديث المعتقدات استنادًا إلى الأدلة#
يثبّت الاستدلال المتغيرات المرصودة ويحسب التوزيع اللاحق لمتغير الاستعلام عبر تطبيق مبرهنة بايز على الرسم البياني. ويعمل في أي اتجاه: من الأسباب إلى الآثار (التنبؤ)، ومن الآثار إلى الأسباب (التشخيص)، وبين أسباب أثر مشترك. ويُسمى النمط الأخير «التفسير بالإقصاء»، ويعني أن معرفة أن الإنذار قد انطلق تجعل اكتشاف وقوع زلزال يخفض احتمال حدوث سطو. ويمكن إجراء الاستدلال الدقيق بالتعداد أو حذف المتغيرات في الشبكات الصغيرة أو الشبيهة بالشجرية، لكنه مسألة NP-hard عمومًا؛ لذلك تستخدم الشبكات الكبيرة أساليب تقريبية مثل ترجيح الاحتمالات أو أخذ عينات Gibbs أو انتشار الاعتقاد ذي الحلقات.
يجيب هذا المثال عن استعلام الكتاب P(Burglary | John calls, Mary calls) بالتعداد، عبر جمع التوزيع المشترك المحلّل على متغيري الزلزال والإنذار غير المرصودين:
from itertools import product
# Conditional probability tables of the burglary-alarm network
p_burglary, p_earthquake = 0.001, 0.002
p_alarm = {(True, True): 0.95, (True, False): 0.94, (False, True): 0.29, (False, False): 0.001}
p_john = {True: 0.90, False: 0.05} # P(John calls | alarm)
p_mary = {True: 0.70, False: 0.01} # P(Mary calls | alarm)
def bern(p, value):
"""Return the probability of a binary outcome with success probability p."""
return p if value else 1 - p
# Evidence: both neighbors called. Sum the factored joint over the hidden variables.
joint = {True: 0.0, False: 0.0}
for b, e, a in product([True, False], repeat=3):
joint[b] += bern(p_burglary, b) * bern(p_earthquake, e) * bern(p_alarm[b, e], a) * p_john[a] * p_mary[a]
print(f"P(burglary | John and Mary call) = {joint[True] / sum(joint.values()):.3f}")يطبع البرنامج النصي القيمة 0.284، وهي الإجابة نفسها الواردة في الكتاب. يرفع اتصال الجارين احتمال السطو من 1 من كل 1,000 إلى نحو 28%، وتعود نسبة 72% المتبقية إلى تفسيرات لا تتضمن سطوًا، مثل إنذار أطلقه زلزال أو عطل، لأن السطو نادر جدًا.
تعلّم الشبكات البايزية من البيانات#
يمكن إنشاء الشبكة يدويًا استنادًا إلى معرفة الخبراء، أو تعلّمها من البيانات، أو الجمع بين الطريقتين. ويملأ تعلّم المعلمات جداول الاحتمالات الشرطية من التكرارات المرصودة، مع استخدام التوزيعات السابقة لتنعيم التوليفات النادرة وخوارزمية التوقع والتعظيم عند فقدان بعض القيم. أما تعلّم البنية فيبحث عن الرسم البياني نفسه، إما بتقييم الرسوم البيانية المرشحة وفق معيار مثل معيار المعلومات البايزي، أو بإجراء اختبارات الاستقلال الشرطي كما تفعل خوارزمية PC. وتُظهر الأسهم المتعلّمة اعتمادًا إحصائيًا، لكن اعتبارها أسبابًا يتطلب افتراضات إضافية تدرسها اكتشافات السببية. وتنفّذ مكتبات Python مثل pgmpy كلا النوعين من التعلّم، إلى جانب الاستدلال الدقيق والتقريبي.
تطبيقات عملية#
- التشخيص الطبي: تربط الشبكات الأمراض بالأعراض ونتائج الاختبارات التي تسببها، بحيث تحدّث ملاحظات الطبيب احتمال كل حالة، ويمكن تتبّع كل استنتاج عبر الرسم البياني، وهو شكل من الذكاء الاصطناعي القابل للتفسير.
- تشخيص الأعطال: تصوغ الأنظمة الصناعية وتقنية المعلومات نماذج لكيفية انتشار أعطال المكونات إلى الإنذارات والقراءات. وفي الفحص البصري، يمكن لفئات العيوب التي يكتشفها كاشف YOLO26 أن تدخل الشبكة بوصفها أدلة مرصودة تحدّث احتمال كل سبب جذري سابق، مثل تآكل أداة أو سوء معايرة آلة.
- تقييم المخاطر: يجمع علماء البيئة وشركات التأمين ومهندسو السلامة البيانات المحدودة مع أحكام الخبراء في شبكات تقدّر احتمال وقوع الأحداث النادرة.
الشبكات البايزية ونماذج ذات صلة#
- بايز الساذج: شبكة بايزية تكون فيها عقدة الفئة الوالد الوحيد لكل سمة، ما يفترض استقلال السمات بعضها عن بعض عند معرفة الفئة.
- حقول ماركوف العشوائية: نماذج رسومية ذات حواف غير موجهة، تلائم العلاقات المتناظرة مثل البكسلات المتجاورة في الصورة.
- عمليات قرار ماركوف: نماذج للقرارات المتتابعة، تتغير فيها الحالة بفعل الأفعال ويُسعى إلى تعظيم المكافآت، وهي الإطار القياسي للتعلم المعزز. ولا تكتسب الشبكة البايزية قرارات ومكافآت إلا عند توسيعها بعقد للقرار والمنفعة لتصبح مخطط تأثير.
- نماذج ماركوف المخفية: شبكة بايزية ديناميكية تكرر البنية نفسها في كل خطوة زمنية، مع حالة مخفية تصدر ملاحظة واحدة في كل خطوة. ولـمرشحات كالمان البنية نفسها، لكن بحالات مستمرة وانتقالات وملاحظات خطية غاوسية.










