مقدمة
تُعد Support Vector Machines (SVM) واحدة من أقوى خوارزميات تعلم الآلة في مشاكل التصنيف، حيث تهدف إلى إيجاد أفضل خط أو مستوى يفصل بين الفئات المختلفة بأكبر هامش ممكن.
تتميز SVM بأنها فعالة جدًا في البيانات عالية الأبعاد وتُستخدم في العديد من التطبيقات الواقعية.
ما هي SVM؟
هي خوارزمية تعلم آلة إشرافية تستخدم لإنشاء حد فاصل (Hyperplane) يفصل بين الفئات المختلفة في البيانات.
الهدف هو اختيار الحد الذي يحقق أكبر مسافة بين الفئات.
الفكرة الأساسية
بدلاً من رسم خط عشوائي للفصل، تقوم SVM باختيار الخط الذي يبتعد بأقصى مسافة عن أقرب نقاط من كل فئة.
المستوي الفاصل (Hyperplane)
هو الخط أو المستوى الذي يفصل بين الفئات.
- في 2D: خط
- في 3D: مستوى
- في أبعاد أعلى: Hyperplane
الهامش (Margin)
الهامش هو المسافة بين المستوي الفاصل وأقرب نقاط من كل فئة.
المتجهات الداعمة
هي النقاط الأقرب إلى المستوي الفاصل، وهي التي تحدد شكل الحد النهائي.
أي تغيير فيها يؤثر مباشرة على النموذج.
دالة Kernel
تستخدم عندما لا تكون البيانات قابلة للفصل بخط مستقيم.
أنواع Kernel
- Linear Kernel
- Polynomial Kernel
- RBF Kernel
- Sigmoid Kernel
أنواع SVM
- Linear SVM
- Non-Linear SVM
- Soft Margin SVM
- Hard Margin SVM
كيف يتم التدريب؟
يتم تدريب النموذج عبر إيجاد أفضل مستوي يفصل بين الفئات مع تعظيم الهامش وتقليل الخطأ.
Soft Margin
يسمح ببعض الأخطاء في التصنيف لتحسين التعميم.
Hard Margin
لا يسمح بأي خطأ، ويستخدم عندما تكون البيانات قابلة للفصل بشكل كامل.
المميزات
- دقة عالية
- فعالة في الأبعاد العالية
- تعمل جيدًا مع البيانات الصغيرة والمتوسطة
- مرنة باستخدام Kernel
العيوب
- بطيئة في البيانات الكبيرة
- صعبة الضبط (Parameter tuning)
- غير مناسبة للبيانات الضخمة جدًا
أمثلة عملية
مثال 1: تصنيف البريد
تمييز البريد بين Spam و Not Spam.
مثال 2: التعرف على الصور
تصنيف الصور حسب المحتوى.
مثال 3: التشخيص الطبي
تحديد وجود مرض بناءً على التحاليل.
التطبيقات
- الطب
- التعرف على الصور
- التصنيف النصي
- الأمن السيبراني
- التنبؤ المالي
مقارنة مع الخوارزميات الأخرى
SVM أكثر دقة من KNN في كثير من الحالات، وأقوى من Naive Bayes في البيانات المعقدة، لكنها أبطأ من Random Forest.