• 线性支持向量机(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称为支持向量。

  • 相关阅读:
    mybatis(2)操作数据库
    《构建之法》阅读笔记02
    mybatis(4)使用注解方式配置sql语句
    mybatis(5)参数传递
    Android Studio安装
    《构建之法》阅读笔记01
    反射
    mybatis(3)利用Mapper接口实现数据的增删改查
    activity组件
    mybatis(1)
  • 原文地址:https://www.cnblogs.com/xiaochouk/p/8024785.html
Copyright © 2020-2023  润新知