核函数

SVM 支持向量机

喜夏-厌秋 提交于 2019-11-26 11:37:25
学习策略:间隔最大化(解凸二次规划的问题) 对于上图,如果采用感知机,可以找到无数条分界线区分正负类,SVM目的就是找到一个margin 最大的 classifier,因此这个分界线(超平面)一定是固定。 假设a是正类,b是负类,那么a和b直接的距离就是ob-oa在直线l上的映射。 我们假设a,b所在的那条直线的方程为: a: W T X+b=1 b: W T X+b=1 那么根据两条平行线之间的距离公式,我们可以算出,平行线之间的间隔为:2/||w||。那么SVM便可以变为求解约束的最优化问题,如下: 对于这种约束问题,作为一个凸优化问题(二次优化问题,目标函数时二次的,约束条件是线性的),我们可以使用现成的QP优化包进行求解。但是呢,由于这个优化问题的特殊结构,我们可以通过 Lagrange Duality 变换到对偶变量 (dual variable) 的优化问题,这样就可以更加方便进行求解了。 原始问题为求解如下的优化问题: 假设y(wx+b)-1!=0,那么我们可以通过调节相应的a使得L趋于负无穷。显然这不是我们要的情况,因此我们定义如下一个函数: 我们可以观察到当a>=0时,该函数等于L。因此求解问题可以写成如下形式: 一般来说: 但是假设满足传说中的KTT条件,那么: 正好,我们的问题符合这个条件(这边不做说明)。这时候我们就可以固定ª,ß对w,b进行求偏导