🎯 学习目标

  • 理解SVM的核心思想
  • 掌握核函数的使用
  • 学会处理非线性问题
  • 了解SVM的优缺点

📐 SVM原理

最大间隔分类器

寻找使两类样本间隔最大的超平面

决策边界: w·x + b = 0 间隔最大化: max 2/||w|| 约束: yᵢ(w·xᵢ + b) ≥ 1

🔧 核函数

核函数 公式 适用场景
线性核 K(x, y) = x·y 线性可分数据
多项式核 K(x, y) = (x·y + c)ᵈ 非线性边界
RBF核 K(x, y) = exp(-γ||x-y||²) 通用,最常用

💻 sklearn实现

from sklearn.svm import SVC from sklearn.preprocessing import StandardScaler # 数据标准化(SVM对尺度敏感) scaler = StandardScaler() X_train_scaled = scaler.fit_transform(X_train) X_test_scaled = scaler.transform(X_test) # 线性SVM svm_linear = SVC(kernel='linear', C=1.0) svm_linear.fit(X_train_scaled, y_train) # RBF核SVM svm_rbf = SVC(kernel='rbf', C=1.0, gamma='scale') svm_rbf.fit(X_train_scaled, y_train) # 预测 y_pred = svm_rbf.predict(X_test_scaled)

📝 本节小结

  • • SVM寻找最大间隔分离超平面
  • • 核函数可处理非线性问题
  • • RBF核是最常用的选择
  • • 训练前务必标准化数据