متى تتفوق SVM على الشبكات العصبية في تصنيف مجموعات البيانات الصغيرة؟

مقدمة

يبدو السؤال: متى تتفوق SVM على الشبكات العصبية في تصنيف مجموعات البيانات الصغيرة؟ بسيطاً ظاهرياً، لكنه يرتبط بطبيعة البيانات، وعدد العينات، وعدد السمات، والمعرفة المسبقة بالمشكلة، والميزانية الحاسوبية المتاحة. لا توجد خوارزمية تتفوق في جميع الظروف؛ فالشبكات العصبية بارعة في تعلم الأنماط المعقدة من كميات ضخمة من البيانات، بينما تحقق آلات المتجهات الداعمة، أو SVM، نتائج ممتازة غالباً عندما تكون البيانات محدودة وعالية الأبعاد.

في تطبيقات مثل تشخيص الأمراض اعتماداً على بيانات التعبير الجيني، أو تصنيف النصوص القصيرة، أو كشف العيوب الصناعية من قياسات حساسات متعددة، قد نجد آلاف السمات مقابل عشرات أو مئات العينات فقط. في هذا السياق، قد يؤدي تدريب شبكة عصبية إلى فرط التكيّف، أي حفظ بيانات التدريب بدلاً من تعميم القواعد على أمثلة جديدة. أما SVM فتستخدم مبدأ تعظيم الهامش الفاصل بين الفئات، ما يمنحها قدرة جيدة على التعميم عندما يُصمَّم تمثيل السمات والنواة بعناية.

لماذا تمثل البيانات الصغيرة عالية الأبعاد تحدياً؟

تُوصَف مجموعة البيانات بأنها صغيرة عندما يكون عدد الأمثلة التدريبية منخفضاً مقارنة بعدد المتغيرات أو السمات. فمثلاً، قد تضم دراسة طبية 180 مريضاً، لكل واحد منهم 12 ألف قياس جيني. هنا لا تكمن المشكلة في قلة البيانات وحدها، بل في نسبة عدد السمات إلى عدد العينات. كلما ارتفع عدد الأبعاد، زادت المساحة التي يمكن للنموذج أن يجد فيها علاقات ظاهرية لا تتكرر خارج عينة التدريب.

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

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

ولا يعني ذلك أن ارتفاع الأبعاد مفيد دائماً؛ فالسمات المزعجة والمكررة قد تضر SVM أيضاً. لكن استخدام الانتظام، وانتقاء السمات، وتقييس المتغيرات، يجعلها خياراً قوياً في سيناريو «عدد سمات كبير، وعدد عينات قليل».

تعظيم الهامش: الميزة الإحصائية الأساسية لـ SVM

تبحث SVM الخطية عن مستوى فاصل بين الفئات، ثم تختار المستوى الذي يحقق أكبر هامش ممكن. والهامش هو المسافة بين الحد الفاصل وأقرب الأمثلة من كل فئة. الفكرة الجوهرية أن الفاصل الذي يترك مساحة أوسع حوله يكون، في كثير من الحالات، أقل حساسية للتغيرات الصغيرة في بيانات التدريب وأكثر قدرة على التعميم.

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

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

هذه الأفضلية ليست مجرد مسألة سرعة؛ بل هي مسألة انحياز إحصائي مناسب للمشكلة. SVM تفرض بنية قرار واضحة ومنتظمة، ولذلك تقل احتمالية استغلالها للضوضاء حين يكون حجم العينة محدوداً.

دور النوى والمعرفة المسبقة في تفوق SVM

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

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

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

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

مقارنة عملية بين SVM والشبكات العصبية في العينات المحدودة

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

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

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

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

مثال تطبيقي: تصنيف بيانات جينية قليلة العينات

لنفترض أن مؤسسة بحثية تملك 240 عينة لمصابين وأصحاء، ولكل عينة 5000 سمة تمثل مستويات تعبير جيني. في هذه الحالة، من غير الحكمة بدء العمل بشبكة عصبية عميقة. الأفضل بناء خط أساس منظم باستخدام SVM خطية، مع تقييس البيانات وانتقاء السمات داخل خط الأنابيب نفسه لتجنب تسرب معلومات الاختبار إلى التدريب.

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

from sklearn.pipeline import Pipeline
from sklearn.feature_selection import SelectKBest, f_classif
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
from sklearn.model_selection import GridSearchCV, StratifiedKFold

pipeline = Pipeline([
    ("selection", SelectKBest(score_func=f_classif, k=300)),
    ("scaling", StandardScaler()),
    ("model", SVC(kernel="linear", class_weight="balanced"))
])

parameters = {
    "selection__k": [100, 300, 500],
    "model__C": [0.01, 0.1, 1, 10]
}

folds = StratifiedKFold(
    n_splits=5,
    shuffle=True,
    random_state=42
)

search = GridSearchCV(
    estimator=pipeline,
    param_grid=parameters,
    scoring="f1",
    cv=folds,
    n_jobs=-1
)

search.fit(X_train, y_train)

print(search.best_params_)
print(search.best_score_)
print(search.score(X_test, y_test))

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

متى لا تكون SVM الخيار الأنسب؟

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

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

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

لذلك يكون القرار السليم عملياً: اختر SVM أولاً عندما تكون البيانات صغيرة وعالية الأبعاد، والسمات مفهومة أو مصممة جيداً، وتهمك سرعة التجربة وقابلية التفسير. واختبر الشبكات العصبية عندما تملك بيانات كبيرة، أو تمثيلات مدربة مسبقاً، أو بنية معقدة لا تستطيع النواة والسمات التقليدية وصفها بفاعلية.

خاتمة

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

تعليقات