机器学习-线性分类-支持向量机SVM-软间隔-13

发布时间 2023-12-18 22:43:02作者: jack-chen666

1. 总结 SVM

SVM算法的基础是感知器模型,
感知器模型 与 逻辑回归的不同之处?
逻辑回归 sigmoid(θx) 映射到 0-1之间给出预测概率
感知器分类 sign(θx) 输出θx的符号, +1 或者-1 给出x是属于正样本还是负样本
直接输出 θx的值就是 线性回归

感知器 模型 只要能将寻找到这样的一个超平面 将正样本与负样本能够区分开来就行,
而SVM不仅要能区分 而且还要能使得 距离超平面最进的点 到达这样的一个超平面距离最大

这也就是一个 二次优化的问题, 先找最近的点,再通过这些最近的点,确定最终的超平面。
显然 SVM 具有比 感知器 更优的泛化能力


寻找这样的 模型参数 w b(也就是θ), 使得 最近的点 Xmin Ymin 到达 参数确定的的平面 距离尽可能的远,这样得到的参数θ 就是最终的完美的

仔细品味下这张图:

超平面的法向量 w 是方向的 通过W b 就能唯一确定一个平面

简单总结下:
求解W b 转化成 求解α*

m条样本 就有m个α

α求得之后 可直接 求得W

通过那些不为0的α 带入后 可求得b 取平均 得到b

以上的求解 叫做 硬间隔SVM
下面讲解 软间隔svm

2. 软间隔svm

有些时候 噪声 会造成 线性 不可分

正样本 负样本 在边界处 相互渗透 这就导致 没法用 上面的SVM 意味着找不到一个合格的超平面

引入松弛变量 提出松弛变量ξi≥0(每个数据点自己有一个ξi)

这样就至少肯定有好多的 w 和 b 满足条件了
ξ代表异常点嵌入间隔面的深度, 我们要在能选出符合约束条件的最好的 w 和 b 的同时,让
嵌入间隔面的总深度越少越好

问题转化成:

约束条件 变成了两个

构造拉格朗日函数:

问题转化成对偶问题:

先求 L 函数对 w,b,ξ的极小值,再求其对α和μ的极大值

得到:

与硬间隔 SVM一样的表达式 只不过约束条件不一样

最终问题换成:

与之前相比,只是多了个约束条件而已,仍然可以使用 SMO 来求解

结论:

C是一个系数
损失函数两部分更侧重于哪一部分