zoukankan      html  css  js  c++  java
  • 线性支持向量机(2)

    拉格朗日对偶问题的转换可以参考:https://www.cnblogs.com/90zeng/p/Lagrange_duality.html

    拉格朗日函数泛化的KKT条件而得出的求解函数极大极小问题,可参考:https://www.cnblogs.com/zhangchaoyang/articles/2726873.html

    为了求解线性可分支持向量机的最优化问题,将它作为原始最优化问题,应用拉格朗日对偶性,通过求解对偶性问题得到原始问题的最优解,这就是线性可分支持向量机的对偶算法。主要原因在于对偶问题更容易求解,且自然引入核函数,进一步推广到非线性分类问题。

    首先构建拉格朗日函数,为此对每一个不等式约束引进拉格朗日乘子,定义拉格朗日函数:

    其中a=(a1,a2,....,aN)T为拉格朗日乘子向量。根据拉格朗日对偶性,原始问题的对偶性是极大极小问题:

    所以为了得到对偶问题的解,需要先求L(w,b,a)对w,b的极小,再求对a的极大。

    (1) 求

    将拉格朗日函数L(w,b,a)分别对w,b求偏导数并令其等于0。

    得:

     将上式得到的w值代入拉格朗日函数,可得:

    即:

    对a的极大,即是对偶问题:

    将上式的目标函数由求极大转为求极小,就得到下面与之等价的对偶最优化问题:

    对线性可分训练数据集,假设对偶最优化问题对拉格朗日乘子向量a的解为,可以由a*求得原始最优化问题对(w,b)的解w*,b*.

    定理:设a*是对偶最优化问题的解,则存在下标j,使得,并可按下式求得原始最优化问题的解w*,b*(书上并未给出下式中j的含义,本人的理解为j为求得最优化问题的解a*后,通过其大于0的样本点作为j的样本点,并代入b*中,并且该部分求得的b*一致):

    由上定理可求得分离超平面:

    分类决策函数可以写成:

    也就是说分类决策函数只依赖于输入x和训练样本输入的内积,上式称为线性可分支持向量机的对偶形式。

    综上,对给定线性可分训练集,可首先求对偶问题的解a*,再通过如上定理求得原始问题的解w*,b*,从而得到分离超平面及分类决策函数,这种算法称为线性可分支持向量机的对偶学习算法。

    线性可分支持向量机算法如下:

    输入:线性可分训练集T={(x1,y1),(x2,y2),...(xn,yn)},其中

    输出:分离超平面和分离决策函数

    (1) 构造并求解约束最优化问题

    求得最优解

     (2) 计算

     

    选择a*的一个正分量,计算

    (3) 求得分离超平面:

    w*x+b*=0

    分类决策函数:

    f(x)=sign(w*x+b*)

    在线性可分支持向量机中,由上算法可以发现,w*和b*只依赖于训练数据中对应于a*>0的样本点(xi,yi),而其他样本点对w*和b*没有影响,我们将训练数据中对应于的实例点xi称为支持向量。

  • 相关阅读:
    BZOJ3752 : Hack
    XIV Open Cup named after E.V. Pankratiev. GP of SPb
    XIII Open Cup named after E.V. Pankratiev. GP of Ukraine
    BZOJ2087 : [Poi2010]Sheep
    BZOJ2080 : [Poi2010]Railway
    BZOJ2082 : [Poi2010]Divine divisor
    Moscow Pre-Finals Workshop 2016. National Taiwan U Selection
    XIII Open Cup named after E.V. Pankratiev. GP of Asia and South Caucasus
    XIII Open Cup named after E.V. Pankratiev. GP of Azov Sea
    XIII Open Cup named after E.V. Pankratiev. GP of SPb
  • 原文地址:https://www.cnblogs.com/xiaochouk/p/8024785.html
Copyright © 2011-2022 走看看