机器学习基础(六)支持向量机2013-11-14上节基本完成了SVM的理论推倒,寻找最大化间隔的目标最终转换成求解拉格朗日乘子变量alpha的求解问 题,求出了alpha即可求解出SVM的权重W,有了权重也就有了最大间隔距离,但是其实上节我们有个假设:就 是训练集是线性可分的,这样求出的alpha在[0,infinite]。但是如果数据不是线性可分的呢?此时我们就要 允许部分的样本可以越过分类器,这样优化的目标函数就可以不变,只要引入松弛变量

即可,它表示错分类样本 点的代价,分类正确时它等于0,当分类错误时

,其中Tn表示样本的真实标签-1或者1 ,回顾上节中,我们把支持向量到分类器的距离固定为1,因此两类的支持向量间的距离肯定大于1的,当分类 错误时

肯定也大于1,如(图五)所示(这里公式和图标序号都接上一节)。

(图五)这样有了错分类的代价,我们把上节(公式四)的目标函数上添加上这一项错分类代价,得到如(公 式八)的形式:

(公式八)重复上节的 拉格朗日乘子法步骤,得到(公式九):

(公式九)多了一个Un乘子,当然我们的工作就是继续求解此目标函数,继续重复上节的步骤,求 导得到(公式十):

(公式十)又因为 alpha大于0,而且Un大于0,所以0<alpha<C,为了解释的清晰一些,我们把(公式九)的KKT条件也发出 来(上节中的第三类优化问题),注意Un是大于等于0: