文章目录
【一】 SVM(Support Vector Machine,支持向量机)
【有监督】拥有核函数的分类算法,数学理论基础丰富
【二】 手撕 SVM(必须掌握)
- 函数距离(d帽)+ 几何距离(d)
- 函数距离 和 几何距离 之间的关系(||W|| 是矩阵 W 的模)
- 最大化 两条虚线间的间隔
- 数学模型(限制条件)
- 个别点 不满足限制条件:添加松弛变量 ξ
- 引入 松弛变量 ξ 后的限制条件
- Hinge Loss 损失函数 :正是因为 HingeLoss 的零区域对应的正是 非支持向量 的普通样本,从而所有的普通样本都不参与最终超平面的决定,这才是支持向量机最大的优势所在,对训练样本数目的依赖大大减少,而且提高了训练效率
【三】 拉格朗日对偶性
- 等号 条件处理 + 不等号 条件处理
- 原始问题 Primal Form → 对偶问题 Dual Form
- 广义拉格朗日函数
- 满足原始问题的限制条件
- 拉格朗日 极小极大 问题
- 拉格朗日 极大极小 问题
- 定理
- 定理成立需满足 KKT 条件
【四】 SVM 的 Dual Problem(对偶问题)
【五】 Kernel Trick(核函数)
- Linear(线性核)
- Polynomial(多项式核)
- Gaussian(高斯核)
- 如何选择核函数
- 如果特征的数量大到和样本数量差不多,则选用 LR 或者 线性核 的SVM
- 如果特征的数量小,样本的数量正常,则选用 SVM+高斯核函数
- 如果特征的数量小,样本的数量非常大,则需要手工添加一些特征从而变成第一种情况