拉格朗日乘数法在支持向量机中的应用
作者:互联网
首先我们讨论如何使用拉格朗日乘数法对一个带不等式约束条件的优化问题进行改写,并给出其对偶问题。考虑带不等式约束的优化问题:
引进广义拉格朗日函数
这里 是拉格朗日乘数,其中 。考虑x的函数
会发现 有如下形式
因为对于一个给定的 如果 违反约束条件, 即存在某个 或者存在某个 那么可以让 或者 这会使得 相反如果 满足约束条件, 那么很显然有 和
于是在满足约束条件的情况下, 那么原始问题 可以写成如下的一个等价形式,称其为拉格朗日函数的绩效极大值问题:
而交换 和 两个符号, 得到问题 称其为拉格朗日函数的极大极小值问题:
将问题 表示为约束最优化问题的形式得到:
式 就是原始问题 的对偶问题
下面我们将上面讨论的结果用在支持向量机模型中,从而得到支持向量机模型中原始问题的对偶问题。考虑一个二分类的问题: 对于特征空间上的一个线性可分的训练数据集,
其中 为第i个实例的特征向量, 为 的类标记。当 时,称 为正例 ; 当 -1时,称 为负例。使用支持向量机对这个数据集进行二分类,则模型如下
即我们希望最大化超平面 和训练数据集T之间的距离 ,使得我 们找到的超平面\Omega可以将数据集“分得最开”。上面的模型是一个比较直观的初始的模型,我们常常要对其进行一些简单的变形: 将(2)式中左边的 || ||乘到右边去,得到(2)式的等价形式
为什么是“1”呢? 实际上1只是随便取的一个正常数,目的是固定|| 乘积的值,取其它的正常数也可以。为什么要令 || 等于一个常数呢? 原因是当我们固定了 的值之后,我们可以将最大化问题max 转化 成最小化问题min || , 这样模型中的 就不需要被讨论了,上面的模型会 变成一个单纯的优化问题。
有了(2) )的变形后,我们可以将目标函数改写成min 但一般不直接取范数,因为式子会不具有二阶连续性,我们取它的等价形式
这样最开始的模型就转化成
此时这是一个含有 个参数和 个不等式约束的优 化问题了。此时我们可以由最开始的讨论给出问题 的对偶问题,令
问题 的对偶问题即是拉格朗日极大极小值问题:
对对偶问题的求解,需要先对 关于 , 求极小,再关于 求极 大。
(I) 求 将 分别对 求偏导数并令其为 0 ,有:
得到
将上式代入(*)式整理得:
(II) 对 关于 求极大值, 即:
这样我们就得到支持向量机模型问题 的对偶问题事实上在支持向量机中讨论对偶问题不仅仅是使得求解容易,另一方面是在线性不可分的情况下更自然地引进核函数。
标签:机中,函数,拉格朗,模型,问题,法在,向量,对偶 来源: https://blog.51cto.com/15057852/2671032