Naive Bayes
تطبّق مصنفات بايز الساذج مبرهنة بايز وتفترض استقلال السمات عند معرفة الفئة. تعرّف على الأنواع وتصفية الرسائل المزعجة والقيود وشيفرة Python.
نايف بايز عائلة من المصنّفات الاحتمالية التي تطبق مبرهنة بايز بافتراض «ساذج» مفاده أن السمات مستقلة بعضها عن بعض بعد معرفة الفئة. ويتيح هذا الافتراض للنموذج تعلم توزيع كل سمة داخل كل فئة على حدة؛ لذا لا يتطلب التدريب سوى المرور مرة واحدة لإحصاء بيانات التدريب، بينما يجمع التنبؤ بضع احتمالات مخزنة. وطبّق Mehran Sahami وزملاؤه هذه الطريقة على البريد الإلكتروني غير المرغوب فيه عام 1998، وانتشرت مرشحات البريد المزعج البايزية المعتمدة عليها في أوائل العقد الأول من القرن الحادي والعشرين، ولا تزال خط أساس سريعًا وقويًا في التعلّم الخاضع للإشراف للنصوص وغيرها من البيانات العالية الأبعاد جدًا.
آلية عمل نايف بايز#
تعطي مبرهنة بايز احتمال الفئة C في ضوء السمات x₁ … xₙ كما يلي: P(C | x) = P(C)·P(x | C) / P(x). ويتطلب تقدير P(x | C) لكل توليفة من قيم السمات مجموعة بيانات هائلة، لذا يفترض نايف بايز الاستقلال الشرطي ويفكك الاحتمال إلى P(x₁ | C)·P(x₂ | C)·…·P(xₙ | C). يتنبأ المصنّف بالفئة ذات أكبر قيمة لحاصل ضرب الاحتمال القبلي P(C) في هذا الناتج، ويهمل P(x)، لأنها متساوية لكل الفئات. وتجمع التطبيقات لوغاريتمات الاحتمالات بدلًا من ضرب الاحتمالات، لأن حاصل ضرب آلاف الأعداد الصغيرة يتجاوز حدود تمثيل أعداد الفاصلة العائمة.
يؤدي الإحصاء إلى نمط من الإخفاق: فالكلمة التي لم تظهر قط مع فئة في بيانات التدريب تحصل على احتمال يساوي صفرًا، ما يجعل احتمال تلك الفئة صفرًا لأي مستند يحتوي عليها، مهما كانت الأدلة الأخرى. ويعالج التنعيم الإضافي ذلك بإضافة عدد زائف α إلى كل تكرار؛ ويُعرف α = 1 بتنعيم لابلاس، وهو الخيار الافتراضي في scikit-learn.
أنواع مصنّفات نايف بايز#
تختلف الأنواع بحسب التوزيع الذي تفترضه لكل سمة ضمن الفئة. ينمذج نايف بايز متعدد الحدود أعداد التكرار، مثل عدد مرات ظهور كل كلمة في مستند، وهو الخيار المعتاد للنصوص. وينمذج نايف بايز برنولي الوجود أو الغياب الثنائي، كما يعاقب غياب الكلمات الشائعة في فئة ما. أما نايف بايز الغاوسي فيلائم توزيعًا طبيعيًا بمتوسط وتباين خاصين لكل سمة مستمرة في كل فئة. ويقدّر نايف بايز المكمّل إحصاءات الكلمات لكل فئة بالاستناد إلى جميع الفئات الأخرى، ما يجعله مناسبًا لمجموعات بيانات النصوص غير المتوازنة، بينما يتعامل نايف بايز الفئوي مع السمات التي تأخذ قيمًا من مجموعة ثابتة من الفئات.
يدرّب هذا المثال MultinomialNB في scikit-learn على أعداد الكلمات في ست رسائل موسومة، ثم يقيّم رسالتين جديدتين:
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
# Tiny labeled corpus: 1 = spam, 0 = legitimate
texts = [
"win a free prize now",
"free cash bonus click now",
"claim your free reward today",
"meeting moved to monday",
"lunch with the team today",
"project review notes attached",
]
labels = [1, 1, 1, 0, 0, 0]
# Count words, then learn class priors and per-class word probabilities (alpha=1 is Laplace smoothing)
vectorizer = CountVectorizer()
model = MultinomialNB(alpha=1.0)
model.fit(vectorizer.fit_transform(texts), labels)
new = vectorizer.transform(["free prize today", "notes from the monday meeting"])
print(f"P(spam): {model.predict_proba(new)[:, 1].round(3)}")تحصل الرسالة الأولى على احتمال 0.881 لكونها بريدًا مزعجًا، لأن كلمتي "free" و"prize" تظهران في الرسائل المزعجة وحدها؛ أما الثانية فتحصل على 0.053، لأن الكلمات "notes" و"monday" و"meeting" تظهر في البريد الشرعي وحده. ومن دون التنعيم، سيكون احتمال "free" صفرًا ضمن الفئة الشرعية، وستُصنّف أي رسالة شرعية تحتوي عليها على أنها بريد مزعج مؤكد.
نقاط القوة والقيود#
يستغرق التدريب والتنبؤ وقتًا خطيًا بالنسبة إلى عدد العينات والسمات، لذا يستطيع نايف بايز التعامل مع ملايين المستندات مع زمن استدلال منخفض جدًا، كما تسمح تطبيقات scikit-learn بتحديث النماذج من دفعات جديدة عبر partial_fit لإجراء التعلّم عبر الإنترنت. ولا يحتاج أيضًا إلى بيانات كثيرة: فقد أظهر Ng وJordan (2001) أن نايف بايز يقترب من خطئه التقاربي باستخدام أمثلة تدريب أقل مما يحتاج إليه الانحدار اللوجستي، الذي يحقق خطأ أقل عندما تتوافر بيانات كثيرة. وغالبًا ما تكون تنبؤات الفئات دقيقة حتى عند ترابط السمات، لأن المطلوب هو صحة ترتيب الفئات فحسب.
أما الاحتمالات نفسها فمعايرتها ضعيفة. إذ يُحتسب الدليل نفسه مرارًا عند ترابط السمات، ما يدفع الدرجات نحو 0 أو 1؛ لذا تعيد التطبيقات التي تحتاج إلى قيم ثقة موثوقة معايرتها باستخدام بيانات محجوزة. كما أن حقيبة من الكلمات المستقلة لا تمثل ترتيب الكلمات أو التفاعلات، لذلك تبدو عبارة "not good" مزيجًا من النفي وكلمة إيجابية؛ في حين تقرأ النماذج التي تستخدم الانتباه، مثل Transformers، الكلمات ضمن سياقها.
التطبيقات#
- تصفية البريد المزعج: تقيّم مرشحات البريد كل رسالة استنادًا إلى الكلمات وأنماط المرسلين والروابط الواردة فيها، وتحدّث إحصاءات الكلمات عندما يضع المستخدمون علامة على الرسائل بوصفها بريدًا مزعجًا.
- تحليل المشاعر: تُصنّف المراجعات وتذاكر الدعم إلى إيجابية أو سلبية استنادًا إلى الكلمات المستخدمة فيها، وهو نموذج أولي شائع يسبق الضبط الدقيق لنموذج لغوي.
- توجيه المستندات: تُصنّف المقالات الإخبارية والمرافعات القانونية وطلبات الدعم ضمن موضوعات أو قوائم انتظار، وغالبًا ما يُستخدم نايف بايز المكمّل عندما تكون بعض الفئات أندر بكثير من غيرها.
- خطوط الأساس في معالجة اللغات الطبيعية (NLP): يستخدم تحديد اللغة ووسم الموضوعات نايف بايز نقطةَ مرجعية سريعة ينبغي لأي نموذج أعلى تكلفة أن يتفوق عليها.
نايف بايز في الرؤية الحاسوبية#
ترتبط وحدات البكسل المتجاورة بعضها ببعض بقوة، لذا فإن التعامل مع وحدات البكسل الخام على أنها سمات مستقلة يهمل الحواف والأنسجة التي تحدد الكائنات، وهي أمور تلتقطها الشبكات العصبية الالتفافية من خلال معالجة التجاورات معًا. وقبل التعلّم العميق، طبّق نهج حقيبة الكلمات المرئية نايف بايز على مدرجات واصفات محلية، مثل SIFT، جُمعت في كلمات مرئية باستخدام التجميع بخوارزمية k-means، وهي المقابل المرئي لأعداد الكلمات. وتشكل أعداد فئات الكائنات التي يعثر عليها YOLO26 عبر اكتشاف الكائنات متجهًا من النوع نفسه؛ لذا يستطيع نموذج نايف بايز متعدد الحدود تصنيف مشهد على أنه شارع أو مطبخ أو مكتب اعتمادًا على الكائنات المكتشفة وحدها.
نايف بايز مقابل النماذج ذات الصلة#
- الشبكات البايزية: نايف بايز هي أبسط الشبكات البايزية؛ إذ تكون الفئة الوالد الوحيد لكل سمة، ولا توجد حواف بين السمات. وتضيف الشبكات البايزية العامة تلك الحواف لنمذجة التبعيات.
- الاستدلال البايزي: تشير كلمة «بايز» في نايف بايز إلى مبرهنة بايز. يقدّر نايف بايز القياسي كل احتمال على هيئة تكرار مُنعّم، أي تقدير نقطي واحد، بينما تحتفظ الأساليب البايزية الكاملة بتوزيع على كل معلمة.
- آلات المتجهات الداعمة (SVM): تتعلم حدًا تمييزيًا مباشرةً، بتكلفة تدريب أعلى. في تصنيف المشاعر، وجد Wang وManning (2012) أن نايف بايز أدق من SVM على المقتطفات القصيرة، وأن SVM أدق على المراجعات كاملة الطول.










