ML Learning Hub
الانحدارمتوسط

SVM وSVR وKNN

الهامش الأقصى هو الجواب — كلما اتسع الشارع، زادت ثقة المصنّف

آلات المتجهات الداعمة: مستوى الهامش الأقصى وحيلة النواة (RBF) وSVR للانحدار بأنبوب ε. KNN: مقاييس المسافة واختيار k ولعنة الأبعاد.

50 min
14 مخططات
7 المفاهيم المغطاة

المتطلبات الأساسية

Linear Algebra
Model Evaluation

المفاهيم المغطاة

Maximum MarginKernel TrickRBF Kernelε-tubeKNNDistance MetricsCurse of Dimensionality

الصيغ الرئيسية

هدف SVM

تعظيم الهامش 2/||w|| مع التصنيف الصحيح — هامش أكبر = تعميم أفضل

الثنائي (النواة)

حيلة النواة: استبدال x·x بـK(x,x) للحدود غير الخطية — O(n²) في الذاكرة، ليس في فضاء الميزات

نواة RBF

دالة القاعدة الشعاعية — تعيين غاوسي لانهائي الأبعاد؛ γ يتحكم في عرض النواة

محاكاة تفاعلية

Loading visualization…
Loading visualization…
Loading visualization…

هندسة النموذج

Loading visualization…
Loading visualization…
Loading visualization…
🎯

الفكرة الرئيسية: الهامش الأقصى

motivation

تخيل التصنيف الثنائي بمستوى فاصل. يمكن لعدد لا نهائي من المستويات الفاصلة أن تفصل الفئات — لكن أيها يعمم بشكل أفضل؟ تجيب SVMs: ذلك الذي يملك الهامش الأقصى — أكبر 'شارع' ممكن بين الفئتين. النقاط على حدود الهامش هي متجهات الدعم. فقط هذه النقاط تحدد الحدود؛ يمكن إزالة الباقي دون تغييرها.

💡

حيلة النواة: أبعاد لانهائية مجاناً

intuition

العديد من مجموعات البيانات ليست قابلة للفصل الخطي في فضائها الأصلي. حيلة النواة تُعيّن البيانات ضمنياً إلى فضاء عالي الأبعاد حيث تكون قابلة للفصل — دون حساب التعيين صراحة. K(x,x') = φ(x)·φ(x') تحسب الضرب النقطي في الفضاء عالي الأبعاد مباشرة. نواة RBF تعيّن إلى فضاء هيلبرت لانهائي الأبعاد، مما يجعل SVMs قوية بشكل استثنائي.

SVMs هي الخوارزمية الوحيدة التي يمكنها إثبات العمل في فضاءات الميزات لانهائية الأبعاد (RKHS). لا توجد خوارزمية أخرى لديها هذه الخاصية.

الهامش اللين: التعامل مع الضوضاء بالترخيص

math

بالنسبة للبيانات الصاخبة، لن يعمل SVM ذو الهامش الصلب الذي يتطلب فصلاً مثالياً. يُقدم SVM ذو الهامش اللين متغيرات الترخيص ξᵢ ≥ 0 للسماح ببعض الأخطاء، معاقَبة بالمعامل الفائق C. C كبير = هامش ضيق، تحمل منخفض للأخطاء (قد يُفرط في الملاءمة). C صغير = هامش واسع، تحمل عالٍ (قد يُقصّر في الملاءمة).

هدف SVM الأولي بهامش لين
</>

SVM في بيئة الإنتاج

code
python35 lines
from sklearn.svm import SVC, SVR
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline
from sklearn.model_selection import GridSearchCV, train_test_split
from sklearn.datasets import make_classification

class="tok-comment"># ── Sample data ────────────────────────────────────────────────────────
X, y = make_classification(n_samples=class="tok-num">300, n_features=class="tok-num">10, random_state=class="tok-num">42)
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=class="tok-num">0.2, random_state=class="tok-num">42)

class="tok-comment"># CRITICAL: SVM requires feature scaling
svm_pipeline = Pipeline([
    (class="tok-str">'scaler', StandardScaler()),
    (class="tok-str">'svm', SVC(kernel=class="tok-str">'rbf', probability=True))
])

class="tok-comment"># Tune C and gamma
param_grid = {
    class="tok-str">'svm__C': [class="tok-num">0.01, class="tok-num">0.1, class="tok-num">1, class="tok-num">10, class="tok-num">100],
    class="tok-str">'svm__gamma': [class="tok-str">'scale', class="tok-str">'auto', class="tok-num">0.001, class="tok-num">0.01, class="tok-num">0.1]
}
grid_search = GridSearchCV(
    svm_pipeline, param_grid,
    cv=class="tok-num">5, scoring=class="tok-str">'roc_auc', n_jobs=-class="tok-num">1
)
grid_search.fit(X_train, y_train)
print(fclass="tok-str">"Best AUC: {grid_search.best_score_:.4f}")
print(fclass="tok-str">"Best params: {grid_search.best_params_}")

class="tok-comment"># SVR for regression
svr = Pipeline([
    (class="tok-str">'scaler', StandardScaler()),
    (class="tok-str">'svr', SVR(kernel=class="tok-str">'rbf', C=class="tok-num">100, epsilon=class="tok-num">0.1))
])
⚠️

مزالق SVM

pitfall
1

غياب التحجيم = نتائج كارثية. SVM هو الخوارزمية الأكثر حساسية للتحجيم. StandardScaler ليس اختيارياً.

2

بطء على البيانات الكبيرة: تدريب SVM بـO(n²) إلى O(n³). استخدم SGDClassifier (خسارة المفصل) لـn > 50K.

3

ضبط C: C كبير جداً = إفراط في الملاءمة؛ صغير جداً = قصور. دائماً التحقق التقاطعي على شبكة لوغاريتمية.

4

لعنة البُعد في KNN: مقاييس المسافة تفقد معناها في الأبعاد العالية. استخدم PCA أولاً، أو انتقل إلى ball-tree/KD-tree مع k=√n.

?اختبار المعرفة

يتم حفظ التقدم في متصفحك — لا حاجة لحساب.

تحتاج مهندس ذكاء اصطناعي أو عالم بيانات؟

أبني نماذج تعلم آلي مخصصة، ووكلاء ذكاء اصطناعي، ورؤية حاسوب، وأتمتة — من الفكرة إلى الإنتاج.