主要内容
优化目标 大间距的直观理解 SVM所作的优化
一、优化目标
支持向量机(Support Vector Machine) 是一个更加强大的算法,广泛应用于工业界和学术界。与逻辑回归和神经网络相比, SVM在学习复杂的非线性方程 时提供了一种更为清晰,更加强大的方式
通过逻辑回归转变为SVM的步骤
1.回顾逻辑回归的假设函数:
若我们希望假设函数的输出值将趋近于1,则应当θ^Tx远大于0, >> 代表远大于的意思,当 θ^Tx 远大于0时,即到了该图的右边,发现此时逻辑回归的输出将趋近于1 若我们希望假设函数的输出值将趋近于0,则应当θ^Tx远小于0, << 代表远小于的意思,当 θ^Tx 远小于0时,即到了该图的左边,发现此时逻辑回归的输出将趋近于0
2.回顾逻辑回归的代价函数:
当 y = 1 时,随着 z 增大,h(x)=1/(1+e-z)逼近1,cost逐渐减小;上面的逻辑回归的 cost function 只剩下了第一项(得到上面左图中的灰色曲线) 当 y = 0 时,随着 z 减小,h(x)=1/(1+e-z)逼近0,cost逐渐减小;上面的逻辑回归的 cost function 只剩下了第二项(得到上面右图中的灰色曲线)
3.为构建SVM,需要修改逻辑回归中的代价函数cost function
将新的 cost function 来代替逻辑回归中的 cost function, 新的 代价函数即为上图中的玫瑰色的曲线,它分为直线和斜线两部分。 我们将左边的函数称为cost1(z),右边函数称为 cost0(z)
4.构建SVM
如上图所示,逻辑回归中的代价函数(cost function)分为 A、B两个部分,进行下面的操作: (1) 使用第3步定义的 cost1() 和 cost0() 替换公式中对应的项 (2) 根据 SVM 的习惯,除去 1/m 这个系数(因为1/m 仅是个常量,去掉它也会得出同样的 θ 最优值) (3) 对于逻辑回归 , cost function 为 A + λ × B ,通过设置不同的 λ 达到优化目的。对于SVM , 我们删掉 λ,引入常数 C, 将 cost function 改为 C × A + B, 通过设置不同的 C 达到优化目的。 (在优化过程中,其意义和逻辑回归是一样的;可以理解为 C = 1 / λ)
5. 得到支持向量机SVM的代价函数:
注意:逻辑回归中假设的输出是一个概率值。 而 SVM 直接预测 y = 1,还是 y = 0
6. SVM的预测方法:
当θTx ≥ 0 时,SVM 会预测结果为1,其他情况下,预测结果为0
二、大间距的直观理解
三、 SVM 所作的优化
为了增加鲁棒性,得到更好的结果(避免欠拟合、过拟合,应对线性不可分的情况),SVM 做的不仅仅是将间距最大化,还做了下面的这些优化:
3.1 SVM分类的要求更严格
3.2 关于参数 C
如果想将样本用最大间距分开,即将 C 设置的很大。那么仅因为一个异常点,决策边界会从下图的黑线变成那条粉线,这是不明智的
如果 C 设置的小一点,最终得到这条黑线。它可以忽略一些异常点的影响,而且当数据线性不可分的时候,也可以将它们恰当分开,得到更好地决策边界
因为 C = 1 / λ,因此:
C的取值问题 才是SVM的核心,C取得不那么大时 ,才能既有大边界又能对某个/些异常数据不敏感
如果觉得文章不错的话,可以给我点赞鼓励一下我,欢迎小伙伴收藏文章 关注我,我们一起学习,一起进步!!!