机器学习进阶文档深度页
支持向量机
寻找最大间隔分类边界,软间隔允许错误,核函数表达非线性。
学习前需要掌握
距离内容待补充线性边界内容待补充
背景与问题
中小型高维数据常表现良好,但对尺度和参数敏感,大数据训练成本可能较高。
概念定义
SVM 的边界由最靠近间隔的支持向量决定;C 控制错误惩罚,RBF gamma 控制局部影响范围。
直观理解
不仅分开两类,还在两侧留出尽量宽的安全走廊。
核心原理
C 小正则更强、边界更平滑;gamma 大影响更局部。两者和标准化必须在 Pipeline 内交叉验证。
数学表达
核心表达
C 小正则更强、边界更平滑;gamma 大影响更局部。两者和标准化必须在 Pipeline 内交叉验证。
变量含义
变量定义与本页概念定义一致,代码中的同名变量保持相同语义。
计算步骤
- 1标准化
- 2选择核
- 3设 C/gamma 对数范围
- 4分层 CV
代码对应位置
示例 1支持向量机 实现:对应文档中的训练与预测逻辑。
计算与实现步骤
- 1
标准化
- 2
选择核
- 3
设 C/gamma 对数范围
- 4
分层 CV
- 5
检查支持向量与验证稳定性
代码实现
示例 1
支持向量机 实现
支持向量机 实现
scikit-learn
example_01.py用途:对应文档中的训练与预测逻辑。
from sklearn.svm import SVC
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
model=make_pipeline(StandardScaler(),SVC(kernel="rbf",C=1,gamma="scale"))代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
对应文档中的训练与预测逻辑。
model- 组合预处理和估计器的模型对象。
Step 1 · 1–4 行
导入当前步骤需要的数值计算、预处理、模型或评价工具。依赖集中写在代码开头,便于复现。
from sklearn.svm import SVC
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
model=make_pipeline(StandardScaler(),SVC(kernel="rbf",C=1,gamma="scale"))代码与数学原理
减去训练均值并除以训练标准差,对应代码中的 mean/std 或 StandardScaler。
预期输出或运行结果
得到标准化加 RBF SVM 的分类 Pipeline。
常见错误 · 4 条
- 不要在测试集上调用 fit 或 fit_transform;测试集只能复用训练参数。
- 未缩放
- C/gamma 都过大
- 无需求却开启 probability
实际应用
- 中小分类
- 高维特征
常见错误
未缩放
C/gamma 都过大
无需求却开启 probability
文档来源
04|近邻、贝叶斯与支持向量机原始文档
学习资料/learning_tech/04_neighbors_bayes_svm.md- §3 支持向量机
推荐学习资料
暂未收录相关资料
参考库不会生成虚假资源或无效外部链接。