تقنية

بايز التكميلي: نتعلم عن الفئة من خارجها

ثلاث فئات تجمع لكل واحدة عدادات الفئتين الأخريين قبل التنعيم وحساب الأوزان
المكمل لا يساوي منافسًا واحدًا عندما توجد ثلاث فئات.

بايز التكميلي يبني أوزان الفئة من عدادات الأمثلة التي تنتمي إلى الفئات الأخرى، بدل الاكتفاء بعدادات الفئة نفسها. [1]

الخلاصة السريعة

لكل فئة مكمل مختلف يضم ما يقع خارجها؛ المعاملات المشتقة منه تدخل درجة القرار، ولا تكون أوزانها الخام احتمالات الفئات. [1]

  • مع ثلاث فئات، مكمل أ يجمع ب وج؛ لا يعني المكمل اختيار فئة منافسة واحدة فقط. [1]
  • في مثالنا، يصبح تقدير الميزة الأولى في مكمل أ 1/3 بعد تنعيم ألفا=1.
  • في التنفيذ المقروء ومع norm=False، نستعمل سالب لوغاريتم المكمل؛ المدخل (1، 0) يرجح أ في الأرقام المفترضة. [3]
  • norm يحدد تطبيعًا إضافيًا؛ في ComplementNB الموثق لا يستعمل class_prior، فلا ننقل إليه إعداد القبليات من مصنف آخر. [2]

ما المقصود بمكمل الفئة؟

تجمع الطريقة عدادات الكلمات من الفئات الأخرى لتقدير مكمل كل فئة. هذا مختلف عن تقدير الكلمات من داخل الفئة في النموذج متعدد الحدود المعتاد. [1]

نفترض ميزتين عدديتين غير سالبتين وثلاث فئات. مجموع عدادات أ هو (6، 1)، وب هو (1، 5)، وج هو (2، 2). مكمل أ=(3، 7)، ومكمل ب=(8، 3)، ومكمل ج=(7، 6).

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

مثال: من العدادات إلى تقدير المكمل

نختار تنعيمًا مقداره ألفا=1 لكل ميزة. في مكمل أ تصبح القيم (4، 8) ومجموعها 12، فتقديرا الميزتين (1/3، 2/3). في مكمل ب تصبح (9، 4) ومجموعها 13، وفي مكمل ج (8، 7) ومجموعها 15.

تقدير الميزة الأولى هو إذن 1/3 لأ، و 9/13 لب، و 8/15 لج. لم نضف أعداد أ إلى مكمل أ؛ التنعيم يضيف واحدًا لكل ميزة بعد جمع الفئات الأخرى.

نفترض هذه المجاميع لتوضيح الخطوات فقط. لا ندعي أنها تمثل مجتمعًا غير متوازن أو أن ألفا=1 أفضل إعداد لمهمة فعلية. تثبيت الإعداد جزء من قابلية مراجعة الأرقام.

لماذا تظهر إشارة سالبة أمام اللوغاريتم؟

في الكود المقروء، عند norm=False تحفظ الأوزان سالب لوغاريتم تقديرات المكمل، وتحسب الدرجة من ضرب المدخل في الأوزان. [3]

للمدخل (1، 0)، نأخذ وزن الميزة الأولى فقط. القيم هي −ln(1/3)≈1.099 لأ، و−ln(9/13)≈0.368 لب، و−ln(8/15)≈0.629 لج. الدرجة الأعلى لأ، فتختارها المقارنة.

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

هل تحمل جميع التطبيقات الإعداد نفسه؟

يتيح التوثيق norm لتطبيع إضافي، ويذكر أن القيمة الافتراضية False لا تتبع الخوارزمية الكاملة في جدول الورقة. كما أن class_prior غير مستخدم. [2]

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

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

المصادر ومتابعة القراءة

  1. Rennie et al.: Tackling the Poor Assumptions of Naive Bayes Text Classifiers (يفتح في نافذة جديدة)people.csail.mit.edu
  2. scikit-learn: ComplementNB (يفتح في نافذة جديدة)scikit-learn.org
  3. scikit-learn: implementation of ComplementNB (يفتح في نافذة جديدة)raw.githubusercontent.com

أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.