机器学习05-支持向量机_1

Posted Qunar_尤雪萍

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习05-支持向量机_1相关的知识,希望对你有一定的参考价值。

支持向量机

分隔超平面

如下图是一组线性可分的二维点,我们可以通过我们可以使用梯度下降算法找到将测试数据进行区分的直线,由于测试数据区分度很高,因此我们可能找到不止一条合适的分割线即多组权值((w0,w1,w2),(w0’,w1’,w2’)….),这个时候我们如何判定最合适的分割线?同理扩展到3维,n维都存在这个问题。

因此我们引入分隔超平面的概念,通过确认一个分隔训练集的平面,使得所有训练集合数据尽量的远离该平面,这个平面称之为分隔超平面,对于二维数据超平面为一维的一条直线,对于三维数据超平面为二维平面,对于n维数据超平面为n-1维的面。确定超平面后对于给定数据点如果离超平面的距离越远则最终得到的预测结果越可信。
通过利用支持向量来确定分隔超平面,支持向量指离分隔超平面最近的点,使得支持向量到分隔面的距离最大化,就能找到最优的分隔超平面。

分隔超平面最优化问题

依据前两章的做法定义超平面表达式 wTx+b ,其中b相当于w0,要计算点A到超平面的距离,就需要知道平面的法线,超平面的法线值为 |wT+b|/||w|| 。在梯度下降中的logistics回归我们使用了Sigmoid函数定义我们的二分类算法 hθ(x)=g(θTx)=11+eθTx 用来表示函数的特征属于y=1的概率:

P(y=1|x;θ)=hθ(x) P(y=0|x;θ)=1hθ(x)

当P大于0.5时,特征属于y=1的分类,反之属于y=0的分类。在支持向量机中我们将logistics做了一个变形,定义 hw,b(x)=g(wTx+b) 并且定义:

g(z)=1,1,z >= 0z<0

对于超平面 wTx+b 当>0时表示数据点在超平面上方分类为1,当<0时表示数据点在超平面下方表示分类为-1,当=0时表示数据点在超平面上这是我们可以默认此时分类为1。

间隔函数

需要求数据点到超平面的距离,我们定义 y(wTx+b) 为我们的间隔函数,其中 y 表示目标分类 -1 或 1,这样我们的间隔函数值就恒大于等于0。函数的目标是为了找出分类器的参数 wTx b ,我们需要先确定我们的支持向量(也叫最小间隔),然后使得该最小间隔最大,可以写成:
argmaxw,bminn(y(wTx+b)1||w||)
公式中 minn(y(wTx+b)1||w||) 表示的是超平面的支持向量, argmaxw,b 使得支持向量距离最大,令所有支持向量 label(wTx+b) 值为1,方程就转换为求 ||w||1 的最小值。我们又知道只有那些离超平面最近的点的距离才等于1,而其它点都大于1,因此在求值过程中我们需要给函数一个约束条件最终该函数转换为:

min||w||2,st.yi(wTxi+b)1>=0(1)

上面的公式比较难于理解,这里有另外一种理解方式:定义两个平面

机器学习支持向量机(SVM)——软间隔线性不可分(理论+图解+公式推导)

支持向量机初探

我以前一直没有真正理解支持向量机,直到我画了一张图!

机器学习05:SVM支持向量机的学习和应用SVM解决猫狗图像分类问题

机器学习简单实践——支持向量机

数学建模学习(65):零基础学会使用SVM支持向量机分类