Bayesian Network
استكشف الشبكات البايزية ودورها في الاستدلال الاحتمالي. تعلّم كيف تعزّز هذه النماذج الرسومية الذكاء الاصطناعي القابل للتفسير وكيف تتكامل مع Ultralytics YOLO26.
الشبكة البايزية هي نوع من النماذج الرسومية الاحتمالية التي تستخدم رسمًا بيانيًا موجّهًا لا دوريًا (DAG) لتمثيل مجموعة من المتغيرات وتبعياتها الشرطية. وعلى خلاف الخوارزميات «الصندوق الأسود» التي تكتفي بربط المدخلات بالمخرجات، تنمذج هذه الشبكات صراحةً علاقات السبب والنتيجة بين العوامل المختلفة. ويتيح هذا الهيكل لعلماء البيانات إجراء النمذجة التنبؤية والاستدلال في ظل عدم اليقين، ما يجعلها فعّالة للغاية في السيناريوهات التي قد تكون فيها البيانات غير مكتملة أو حيث يلزم دمج المعرفة المتخصصة بالمجال مع الأدلة الإحصائية.
المفاهيم الأساسية والأهمية#
في صميم هذه الشبكات توجد نظرية بايز، وهي صيغة رياضية تُستخدم لتحديث احتمالات فرضية ما كلما توفرت أدلة أو معلومات إضافية. في الشبكة البايزية، تمثل العقد المتغيرات—مثل أحد الأعراض أو قراءة مستشعر أو تسمية تصنيف—بينما تمثل الحواف (الأسهم) التبعيات الاحتمالية. وإذا وُجد رابط من العقدة A إلى العقدة B، فهذا يشير إلى أن A تؤثر مباشرةً في B. وتُعد هذه البنية بالغة الأهمية بالنسبة إلى الذكاء الاصطناعي القابل للتفسير (XAI)، لأنها تتيح للمستخدمين تتبع مسار استدلال النموذج، مما يوفر شفافية يصعب غالبًا تحقيقها باستخدام بنيات التعلم العميق المعقدة.
تكتسب هذه النماذج أهمية خاصة في المجالات التي تتطلب تقييمًا صارمًا للمخاطر. ومن خلال استخدام توزيعات الاحتمال الشرطي، تستطيع الشبكة البايزية الإجابة عن الاستفسارات المتعلقة بحالة متغير محدد بالنظر إلى الأدلة المرصودة حول متغيرات أخرى. وتختلف هذه العملية، التي تُسمى غالبًا الاستدلال الاحتمالي، عن تقريب الدوال الذي تنفذه الشبكات العصبية التقليدية.
التطبيقات الواقعية#
تُنشر الشبكات البايزية على نطاق واسع في الصناعات التي يتطلب فيها اتخاذ القرار موازنة عوامل متعددة غير مؤكدة.
-
التشخيص الطبي: في مجال الذكاء الاصطناعي في الرعاية الصحية، تُستخدم هذه الشبكات لدعم أنظمة دعم القرار السريري. وقد تنمذج الشبكة العلاقات بين الأمراض (المتغيرات الخفية) والأعراض أو نتائج الاختبارات (المتغيرات المرصودة). فعلى سبيل المثال، قد يوفر تحليل الصور الطبية أدلةً تُحدّث احتمال تشخيص محدد، مما يساعد الأطباء على التعامل مع السجلات المعقدة للمرضى.
-
تشخيص الأعطال الصناعية: في إطار الذكاء الاصطناعي في التصنيع، تُعد الشبكات البايزية أدوات أساسية في اكتشاف الحالات الشاذة وتحليل السبب الجذري. فإذا اكتشف نظام التصنيع الذكي قراءةً غير اعتيادية لدرجة الحرارة، يمكن للشبكة حساب الاحتمال اللاحق لتعطل مكونات الآلة المختلفة، مما يوجّه فرق الصيانة بكفاءة.
التمييز عن المفاهيم ذات الصلة#
من المهم التمييز بين الشبكات البايزية وغيرها من النماذج الإحصائية ونماذج التعلم الآلي:
- مصنّف بايز الساذج: هذه حالة مبسطة وخاصة من الشبكة البايزية. ويتمثل الافتراض «الساذج» في أن جميع سمات التنبؤ مستقلة بعضها عن بعض استقلالًا متبادلًا بالنظر إلى متغير الفئة. وعلى الرغم من كفاءته الحسابية في مهام مثل تحليل المشاعر، فإنه لا يستطيع التقاط أوجه الترابط المعقدة التي تستطيع الشبكة البايزية الكاملة تمثيلها.
- عملية اتخاذ القرار لماركوف: على الرغم من أن كليهما يستخدم هياكل رسومية، تُستخدم عمليات اتخاذ القرار لماركوف (MDPs) أساسًا في التعلم المعزز لنمذجة اتخاذ القرارات المتسلسلة بمرور الوقت، بينما تركز الشبكات البايزية عادةً على العلاقات الاحتمالية بين المتغيرات في لقطة زمنية واحدة.
- نماذج التعلم العميق (مثل YOLO): تُحسَّن نماذج مثل YOLO26 للمهام الإدراكية عالية الأبعاد مثل اكتشاف الأجسام. وهي تتعلم تمثيلات مجردة للسمات من البيانات الأولية (وحدات البكسل). وعلى النقيض من ذلك، تلائم الشبكات البايزية الاستدلال عالي المستوى باستخدام المتغيرات المهيكلة بدرجة أكبر.
المخرجات الاحتمالية في الذكاء الاصطناعي الحديث#
في حين تتعامل الشبكات البايزية مع الرسوم البيانية السببية الصريحة، تُخرج نماذج التعلم العميق الحديثة أيضًا درجات ثقة احتمالية تعكس مدى اليقين. وعند استخدام أدوات مثل منصة Ultralytics لتدريب النماذج على مجموعات البيانات المخصصة، فإن فهم هذه الاحتمالات يُعد أساسيًا لتفسير أداء النموذج.
يوضح كود Python التالي كيفية الوصول إلى توزيع الاحتمالات (الثقة) لمهمة تصنيف باستخدام نموذج مُدرَّب مسبقًا. ويوضح ذلك كيفية قياس اليقين كميًا في سير عمل حديث للاستدلال.
from ultralytics import YOLO
# Load the YOLO26n-cls classification model
model = YOLO("yolo26n-cls.pt")
# Run inference on an image source
# This returns a results object containing probability data
results = model("https://ultralytics.com/images/bus.jpg")
# Iterate through results to display class probability
for result in results:
# Access the 'probs' attribute for classification probabilities
top_class_index = result.probs.top1
confidence = result.probs.top1conf
print(f"Predicted Class Index: {top_class_index}, Confidence: {confidence:.4f}")








