机器学习算法——支持向量机SVM3(对偶问题)
上节介绍了如何推导出支持向量机的基本型,这节我们对基本型进行求解。
基本型(也称为“原问题”)为:
(公式3.1)
我们希望求解上述式子得到大间隔划分超平面所对应的模型
其中,w和b是模型参数。注意到 公式3.1 是一个凸二次规划问题。
=================================================================
补充知识区:
凸函数的定义:对区间[a,b]上定义的函数f,若它对区间中任意两点x1和x2均有:
则称f在区间[a,b]上的凸函数。
对实数集上的函数,可通过求解二阶导数来判别:
1.若二阶导数在区间上非负,则称为凸函数
2.若二阶导数在区间上恒大于0,则成为严格凸函数。
凸二次规划问题是指当目标函数是二次函数且约束函数是放射函数(最高次数为1的多项式函数)。
而且有一个定理:凸优化问题的局部极小值是全局极小值。
==================================================================
不等式约束的优化问题可以用拉格朗日乘子法进行求解(就是目标函数在约束函数的条件下求极值的方法。),即先把约束问题转换成无约束问题。即对公式3.1的每条约束添加拉格朗日乘子,则该问题的拉格朗日函数可写为:
其中,
令对w和b的偏导为零。
这里涉及到标量函数对向量求导问题,也就是 公式(3.2)
这里涉及矩阵微分知识,具体讲解如下:
相对于n×1向量w的梯度算子记为 定义为
因此,以n×1向量w为变元的实标量函数L(w,b,a)相对于w的梯度为一个n×1的列向量,定义为
(公式3.3)
类似地,实值函数L(w,b,a)相对于1×n行向量的梯度为1×n的行向量,定义为
(公式3.4)
根据公式3.3计算公式3.2,设w是m×1的列向量
可求出梯度的第K个分量为:
则,可以得出
所以,对w和b的偏导等于0,最终会得到如下式子:
(公式3.5)
(公式3.6)
然后将公式3.5和公式3.6带入L(w,b,a)中,得到
这里求出来的就是一个极小值。对偶问题就是求其最大值。
则“对偶问题”就变成了
但是,它还存在以下约束条件:
解出后,求出w和b即可得到模型:
如何求解将在下节中进行讲解。
有任何看不懂的地方欢迎评论及私信。看到必回。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)