• 机器学习:支持向量机4


    本文来自同步博客

    前面介绍的SVM,无论是线性可分还是非线性可分,称为Hard Margin SVM,都要求对输入数据进行精确划分。我们不难想到这类SVM存在过拟合这个问题。如果输入数据本身就存在误差,精确划分反而是没意义的。本篇文章就如何处理过拟合问题,介绍即所谓的Soft Margin SVM

    数学推导

    引入衡量误差的变量 -xi\_i-ξ_i−。-xi\_i-ξ_i−表示不能被正确分类的样本点距离正确一侧边界的距离,距离越大表示错误越大,即-xi\_i-ξ_i−越大。如果样本点能被正确分类,则-xi\_i = 0-ξ_i=0−。故有-xi\_i ge 0-ξ_i0−。

    那么,原来能通过求解函数-frac{1}{2}vec{w}^{2}-21w2−在最小化下的参数-vec{alpha}-α−,如今需要增加能够体现误差的约束条件再求解。

    可以如下构造函数来描述误差:
    frac{1}{2}vec{w}^{2} + Csum_{i}^{n}{xi\_i}21w2+Cinξ_i

    这个函数把所有输入数据的误差叠加在一起,即-sum_{i}^{n}{xi\_i}-inξ_i−。然后用参数C来控制所有误差的权重。如果C很大,表示即使有很小的误差出现都会严重影响目标函数。

    结合之前文章提到的知识,可以构造拉格朗日方程:

    L(vec{w}, b, vec{xi}, vec{alpha}, vec{eta}) = frac{1}{2}vec{w}^{T}vec{w} + Csum_{i}^{n}{xi\_i} - sum\_{i}^{n}{alpha\_i[y\_i(vec{w}^{T}vec{x\_i}+b)-1+xi\_i]} - sum\_{i}^{n}eta\_ixi\_iL(w,b,ξ,α,β)=21wTw+Cinξ_i_inα_i[y_i(wTx_i+b)1+ξ_i]_inβ_iξ_i
    其中,
    alpha\_i ge 0, eta\_i ge 0, i = 1,2...nα_i0,β_i0,i=1,2...n

    然后利用对偶思想求解-vec{w}, b, xi-w,b,ξ−的导数,并让他们等于0。如下:

    egin{array}{lcl} frac{partial L}{partial vec{w}} = vec{w} - sum\_{i}^{n}alpha\_{i} y\_{i} vec{x}\_i = 0 \\ frac{partial L}{partial b} = - sum\_{i}^{n}alpha\_{i} y\_{i} = 0 \\ frac{partial L}{partial xi\_{i}} = C - alpha\_{i} - eta\_{i} = 0 end{array}wL=w_inα_iy_ix_i=0bL=_inα_iy_i=0ξ_iL=Cα_iβ_i=0

    代入上面的拉格朗日方程,可以得到二项规划方程。最后求解-vec{alpha}-α−,可得-vec{w}-w−和-b-b−。二项规划方程如下:
    公式输入有误

    其中-vec{w}-w−如下:
    vec{w} = sum\_{i}^{n}alpha\_{i}y\_{i}vec{x}\_{i}w=_inα_iy_ix_i

    -b-b−可利用落于边界上的支持向量求解。

    比较

    看到二项规划那一步,我们可以发现Hard Margin SVMSoft Margin SVM的差别仅仅是-alpha\_i-α_i−的取值范围上有差异。Hard Margin SVM的约束条件是-alpha\_i ge 0-α_i0−;Soft Margin SVM的约束条件是-C ge alpha\_i ge 0-Cα_i0−。

    我们知道-alpha\_{i}-α_i−仅在-vec{x}-x−为支持向量时值大于零。而在这里,-alpha\_{i}-α_i−多了一个上限C。因为-C = alpha\_{i} + eta\_{i}-C=α_i+β_i−,所以有下面结论:

    如果-alpha\_{i} = 0-α_i=0−,表示该点为非支持向量。

    如果- 0 lt alpha\_{i} lt C-0<α_i<C−,则-eta\_{i} gt 0-β_i>0−,对应的-xi\_{i} = 0-ξ_i=0−,表示该点为边界支持向量。如下图:

     
    image.png

    如果-alpha\_{i} = C-α_i=C−,则-eta\_{i} = 0-β_i=0−,对应的-xi\_{i} gt 0-ξ_i>0−,表示该点违反了最大边界的原则,属于噪声点。

     
    image.png
  • 相关阅读:
    juicer
    了解Hypertable
    PHP中抽象类与接口的区别
    结对编程
    MySQL的分支
    ThinkPHP3.2.3学习笔记4---统计ThinkPHP3.2.3加载的文件
    对于多线程程序,单核cpu与多核cpu是怎么工作的
    IT行业技术及程序员相关网站荟萃
    参观中关村软件园二期小记
    旋转图css3
  • 原文地址:https://www.cnblogs.com/developerdaily/p/9262413.html
Copyright © 2020-2023  润新知