Support Vector Machine
آلة المتجهات الداعمة
التعريف
نموذج تصنيف يبحث عن الحد الفاصل الذي يحقق أكبر هامش ممكن بين الفئتين، ويمكنه فصل البيانات غير الخطية بالنواة.
تختار SVM المستوى الفائق (Hyperplane) الذي يبتعد أكثر ما يمكن عن أقرب نقاط الفئتين، وتسمى هذه النقاط المتجهات الداعمة لأنها وحدها تحدد الحل. في الصيغة ذات الهامش المرن يسمح المعامل C ببعض الأخطاء موازنةً بين اتساع الهامش وأخطاء التدريب.
بحيلة النواة (Kernel Trick) مثل نواة RBF أو كثيرة الحدود تعمل SVM ضمنياً في فضاء خصائص أعلى بعداً دون حسابه صراحةً، فتفصل بيانات غير قابلة للفصل الخطي.
Definition
A support vector machine is a supervised learning model that finds the maximum-margin hyperplane separating classes, and can learn non-linear boundaries using kernel functions.
شرح مبسّط للمبتدئين
تخيّل نوعين من الكرات على طاولة؛ SVM ترسم بينهما أعرض «شارع» ممكن، وتهتم فقط بالكرات الواقفة على حافتي الشارع.
شرح أكاديمي متخصص
مسألة الهامش المرن برنامج تربيعي محدب له حل أمثل عام، وصيغته الثنائية تعتمد على البيانات فقط عبر الضرب الداخلي، مما يسمح باستبداله بنواة \(K(\mathbf{x},\mathbf{x}')\) تحقق شرط Mercer.
أمثلة عملية
- تصنيف النصوص قبل انتشار التعلم العميق.
- التعرف على الأرقام المكتوبة.
- تصنيف بيانات حيوية عالية الأبعاد.
from sklearn.datasets import make_moons
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
X, y = make_moons(n_samples=300, noise=0.2, random_state=0)
X_tr, X_te, y_tr, y_te = train_test_split(X, y, random_state=0)
for k in ["linear", "rbf"]:
print(k, round(SVC(kernel=k, C=1.0).fit(X_tr, y_tr).score(X_te, y_te), 3))شرح الكود
بيانات «الهلالين» غير قابلة للفصل الخطي، فتتفوق نواة RBF على النواة الخطية.
النتيجة المتوقعة
linear 0.84 rbf 1.0
التطبيقات والاستخدامات
- تصنيف النصوص والصور الصغيرة.
- المعلوماتية الحيوية.
- كشف الشذوذ (One-Class SVM).
المزايا
- فعالة في الأبعاد العالية.
- مسألة تحسين محدبة بحل فريد.
القيود والعيوب
- بطيئة مع البيانات الكبيرة جداً.
- حساسة لاختيار C والنواة وتقييس الخصائص.
- لا تعطي احتمالات مباشرة.
المعادلات الرياضية
SVM ذات الهامش المرن
\min_{\mathbf{w},b,\boldsymbol\xi}\ \frac{1}{2}\lVert\mathbf{w}\rVert^2 + C\sum_{i=1}^{n}\xi_i \quad \text{s.t.}\quad y_i(\mathbf{w}^\top\mathbf{x}_i + b) \ge 1-\xi_i,\ \xi_i \ge 0نصغّر \(\lVert\mathbf{w}\rVert\) لتكبير الهامش \(2/\lVert\mathbf{w}\rVert\)، مع السماح بأخطاء \(\xi_i\) يُعاقَب عليها بالمعامل C.
| الرمز | المعنى |
|---|---|
| \(\mathbf{w}, b\) | معاملا المستوى الفاصل |
| \(\xi_i\) | متغيرات الارتخاء (مقدار تجاوز الهامش) |
| \(C\) | معامل الموازنة بين الهامش والأخطاء |
| \(y_i \in \{-1,+1\}\) | تسمية المثال |
مثال تطبيقي
إذا كان \(\lVert\mathbf{w}\rVert=2\) فعرض الهامش \(2/2=1\).
المصادر العلمية
مراجع ومصادر علمية
-
بحث علميSupport-Vector Networks الورقة الأساسية لآلة المتجهات الداعمة بهامش مرن.
-
كتابPattern Recognition and Machine Learning مرجع كلاسيكي في تعلم الآلة الاحتمالي.
-
كتابThe Elements of Statistical Learning (2nd ed.) مرجع إحصائي في التعلم الآلي، متاح مجاناً من موقع المؤلفين.
