支持向量机个人心得

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、如下公式:

输入x向量,输出f(x)。

x向量可以理解为一幅图片,向量元素为图片像素。

f(x)可以取值整数或负数,它表示对输入图片的归类,不是正类就是负类。

输入一幅图片,输出该图片的所属类别,是正类还是负类。

二、公式中的w、b是怎么确定的?

1、为了使分类明显,须让分类距离尽可能大。这是为什么呢?

因为如果f(x)的值太接近于0,则很难被分类。如f(x) = 0.00001,那它很容易被分为负类。

2、为了让分类距离尽可能大,对w、b的取值应该能达到以下效果。

同时,分类距离最小值2/||W||要尽可能大。

三、分类距离最小值为什么等于2/||W||?

1、首先要理解超平面,什么叫超平面呢?

对于二维超平面,f(x) = w1*x1 + b,其实它是一条直线。

对于三维超平面,f(x) = w1 * x1 + w * x2 + b,其实它是一个平面。

对于四维超平面呢?

表达式为f(x) = w1 * x1 + w2 * x2 + w3 * x3 + b,这我可不知道是什么?但这就是四

维超平面。

对于n - 1维超平面来说,

表达式为。

2、如果f(x)= +b=0,我们可以利用它来分类。

如上图,f(x)= +b=0就是分类超平面。在这个平面的一边为正类,则另外一

边为负类。

任何一个N维点(x1,x2,x3,…,xn)到这个平面的距离等于f(x)/||w||,这是可以证明的,回想空间中点到直线的距离公式:设直线方程为:,

则点到直线的距离为:

,这里的就是向量的2-范数,所以几何间隔可以看作是

输入样本到分类超平面的距离。

空间中点到直线的距离是属于三维超平面,

可见就是f(x)/||w||的三维形式。

3、既然任何一点到分类面的距离为f(x) / ||w||,所以正类的点到分类面的距离大于等于

1/||w||,负类的点到分类面的距离也大于等于1/||w||。所以分类距离大于等于2/||w||。

四、那怎么保证以下条件呢?

同时,分类距离最小值2/||W||要尽可能大。

其实上面条件等效于以下拉格朗日函数求最值:

(1)

其中,ai>0为拉格朗日系数,现在的问题是关于w和b求L的最小值。

把式(1)分别对w和b求偏微分并令其等于0,

(2)

可见,如果满足,则可以让f(x)分类比较明显。

五、W已经确定,那么f(x)也可以确定

代入,并经过SGN运算,得到

(3)。

六、到这里,式(3)好像还没办法求得,因为到底ai*等于什么?

我们把式(2)代入拉格朗日函数式(1),得到

约束条件是:

求得ai,使得Q(a)为最大值。

七、至此,可以构建分类模型。

图1

以上就是的数学模型。

的x = [i1,i2,…,id],xi是一个向量对应一个训练样本。

输入一幅图片x = [i1,i2,…,id],就可以对应输出Y值。Y值为1或-1。

八、似乎到七,所有的工作已经完成,但其实未完,因为式(3)对于线性不可分的数据无能为力,怎么办呢?

可以通过一个适当的非线性函数φ,将数据由原始特征空间映射到一个新的特征空间,然后在新空间中寻求最优判定超平面。

这是怎么理解呢?

见图1,

可知,f(x)最终的表达式是线性的,

f(i1,i2,…,id) = c1 * i1 + c2 * i2 + … + cn * id + c0

[i1、i2、…id]是输入向量。

这表达式在某种场合是无法分类的。

譬如以下例子,

我们把横轴上端点a和b之间红色部分里的所有点定为正类,两边的黑色部分里的点定为负类。试问能找到一个线性函数把两类正确分开么?不能,因为二维空间里的线性函数就是指直线,显然找不到符合条件的直线。

但我们可以找到一条曲线,例如下面这一条:

显然通过点在这条曲线的上方还是下方就可以判断点所属的类别(你在横轴上随便找一点,算算这一点的函数值,会发现负类的点函数值一定比0大,而正类的一定比0小)。这条曲线就是我们熟知的二次曲线,它的函数表达式可以写为:

回到f(i1,i2,…,id) = c1 * i1 + c2 * i2 + … + cn * id + c0表达式,

如果能把该表达式弄成非线性表达式的话,则可以让原来不能分类的数据变得可以分类。核函数就有这个功能,把图1改成图2模型,见下

对应表达式是:

(4)

K(xi,x)就是核函数,

仔细观察发现,图1最终产生的表达式不包含输入变量的高次方运算,

而图2最终产生的表达式就包含输入变量的高次方运算,也就是式(4)最终产生的表达式是非线性的。这是由于K(xi,x)中包含了输入变量和自身相乘的运算。

九、至此,似乎没有什么问题了,任何样本数据都可以被正确分类了。

但其实还有个问题:虽然理论上可通过非线性映射得到线性可分的数据,但如何获得这样的映射,且避免过拟合,仍存在问题。所以更实际的策略是允许一定误差。通常引入松弛变量ε,放松约束。这时问题描述改为下面的形式

这样的分类器称为线性软间隔支持向量分类机。转化为拉格朗日乘子待定问题

其KKT条件为

(17)得到

(18)

只要确定 ,便可解出w,b.

将上述条件代入L中,得到新的优化问题:

同样地引入核函数,把这个软间隔SVM的训练表示为一个高维空间上的二次规划问题

相关文档
最新文档