赞
踩
支持向量机是如此的大名鼎鼎,以至于我迟迟不敢动手,今天终于要解开它的神秘面纱了,而它真的是体量太大,以至于我得分3个章节来讲。今天我们讲解最简单的第一部分,线性可分的支持向量机,即保证所有样本都可以被划分正确。
支持向量机的实际意义基本上和感知机一样,使用一个超平面来区分正负样例。因此它最简单的形式是只能进行二分类的。但是它的特殊之处是,它既不是找到一个超平面,使得误分类点样本到超平面的总距离最小(感知机),也不是找到一个超平面使得类别间的距离最大,类别内的距离最小(LDA),更不是找到一个超平面使得误分类点样本数目最少(离散的,不可导)。它是找到距离超平面距离最近的两个划分正确点距离超平面距离最远,也就是说,它并不是尽可能减少错分的,而是尽可能保证分对的一定对。有时候我们考虑问题也应该如此,把自己能做好的做到最好,然后再尽可能的做对那些我们不确定的事情。
如上所说,支持向量机的目标是找到一个划分的超平面
另外规定如下:
原始目标函数等价于:
拉格朗日乘子法是解决约束问题最值的,在数学建模中比较常见的。但是那时候看拉格朗日乘子法都比较简单,因为通常都是只有那么1,2,3个约束条件,然后只需要多加几个可见的拉格朗日乘子即可。如果不记得拉格朗日乘子法了,请参见《拉格朗日乘子法》。
下面进行拉格朗日乘子法变换:
接下来进行对偶变换:
好了,这样的话,我们就把它最终的形式确定下来了。这样求解线性可分的支持向量机的算法就可以表示如下:
1. 构造并求解约束最优化问题
SMO优化算法目的是为了加速凸优化问题的求解过程。它采用的是启发式方法,固定其他参数,只调整两个变量,然后不断的迭代,直到最终收敛为止。它的b使用的是支持向量的平均值,即:
在本章中,我们主要讲解了支持向量机的基础部分,尤其是对于其最简单的形式线性可分的支持向量机进行相关的讲解。特别是对于其目标函数的来源以及目标函数的变换做了细致的讲解。另外稍微提及了一下SMO算法。在接下来的过程中,我们将会讲解线性不可分的支持向量机与核函数等。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。