• 机器学习 Support Vector Machines 2


    优化的边界分类器

    上一讲里我们介绍了函数边界和几何边界的概念,给定一组训练样本,如果能够找到一条决策边界,能够使得几何边界尽可能地大,这将使分类器可以很可靠地预测训练样本,特别地,这可以让分类器用一个“间隔”将正负样本分开。

    现在,我们假设给定的一组训练样本是线性可分的,即有可能找到这样一条分界面,将正负样本分开。如何找到这样一个分界面可以使得几何边界最大?我们将这个优化问题用如下的表达式给出:

    maxγ,w,bs.t.γy(i)(wTx(i)+b)γ,i=1,...mw=1

    我们要使γ最大化,第一个约束条件保证训练集里的每个训练样本的函数边界都大于γ,而另外一个约束条件w=1保证目标函数的几何边界和函数边界相等,所以目标函数的几何边界的最小值为γ,如果找到合适的参数w,b使得目标函数成立,那么可以找到训练集的最大的几何边界。不过可以看到,约束条件w=1使得目标函数无解,所以我们将目标函数做一个简单的变换,如下所示:
    maxγ,w,bs.t.γ^wy(i)(wTx(i)+b)γ^,i=1,...m

    这里,我们想要最大化的是γ^/w,约束条件保证目标函数的函数边界最小为γ^,既然函数边界γ^与几何边界γ存在如下关系:γ=γ^/w,所以这个目标函数与我们之前的目标函数是一致的,通过这种替换,我们避免了约束条件w=1,但是发现新的目标函数γ^/w依然无法解决。

    所以我们要继续变换,记得之前讨论函数边界的时候,提到w,b具有尺度不变性,就是对w,b乘以一个常数,不会改变函数边界的性质,这里我们将对w,b引入常数因子使得训练集的函数边界为1,即:

    γ^=1

    因为对w,b乘以常数,相当于对函数边界乘以一个同样的常数,所以可以通过改变w,b的尺度保证函数边界为1,将这一点引入优化函数,并且注意到对γ^/w=1/w最大化相当于对w2最小化。因此我们可以建立如下的优化问题:
    minγ,w,bs.t.12w2y(i)(wTx(i)+b)1,i=1,...m

    现在,这个优化问题是一个凸的二次优化问题,而约束条件也是线性约束,因此可以很容易地得到解决。一旦得到w,b,可以建立优化边界分类器

    虽然到这里为止,我们已经解决了SVM的大部分问题,也可以找到一条最优的决策边界。不过接下来我们要探讨Lagrange duality,这将引出这个优化问题的对偶形式,并且可以让我们引入kernel的概念以处理高维的特征向量,并且这个对偶形式可以演化出一个更高效的算法。

    Lagrange duality

    我们先将SVM搁置一旁,先来探讨一些含约束条件的优化问题。
    考虑如下一个优化问题:

    minws.t.f(w)hi(w)=0,i=1,...l

    利用拉格朗日数乘法,我们可以将上式写成:
    L(w,β)=f(w)+i=1lβihi(w)

    其中,βi称为拉格朗日乘数,我们可以得到L的偏导数为:
    Lwi=0,Lβi=0

    进而可以求出参数w,β

    上面讨论的优化问题含有等式的约束条件,接下来,我们要看看同时含有等式与不等式约束条件的优化问题,考虑如下的优化问题,我们一般称为primal 优化问题:

    minws.t.f(w)hi(w)=0,i=1,...lgi(w)0,i=1,...k

    为了解决这个问题,我们先建立一般的拉格朗日表达式:
    L(w,α,β)=f(w)+i=1kαigi(w)+i=1lβihi(w)

    αi,βi称为拉格朗日乘数。考虑如下的式子:
    θP(w)=maxα,β:αi0L(w,α,β)

    其中,”P”表示”primal”(原始的),假设我们求出w,如果w不满足所有的约束条件(例如存在gi(w)0或者hi(w)0),那么我们可以知道:
    θP(w)=maxα,β:αi0f(w)+i=1kαigi(w)+i=1lβihi(w)=

    反之,如果w满足所有的约束条件,那么θP(w)=f(w),因此,我们可以得知:
    θP(w)={f(w)wotherwise

    可以看出,当w满足所有的约束条件时,θP(w)的值与我们建立的目标函数的值是一样的,如果不满足约束条件,那么θP(w)将会趋于正无穷。
    因此,当我们考虑如下的最小化问题:
    minwθP(w)=minwmaxα,β:αi0L(w,α,β)

    可以看到,这与我们最初的原始的优化问题是同一个问题,我们也定义这个优化问题的优化解为:p=minwθP(w),我们称这个为原始问题的 extbf{解}。我们稍后将会用到这个定义。

    现在,我们先来看一个稍微不同的问题,我们定义:

    θD(α,β)=minwL(w,α,β)

    这里,”D”表示”dual”(对偶的),要注意,在θP我们要求的是关于α,β的优化问题,这里,我们要求的是关于w的优化问题。下面,我们可以给出对偶优化问题的形式:
    maxα,β:αi0θD(α,β)=maxα,β:αi0minwL(w,α,β)

    可以看到,这个形式和我们上面讨论的原始优化问题的形式很相似,唯一的区别在于”max”和”min”的顺序调换了一下,我们同样定义对偶优化问题的目标值为:
    d=maxα,β:αi0θD(α,β)

    那么原始优化问题与对偶优化问题满足什么关系呢?容易看出:
    d=maxα,β:αi0minwL(w,α,β)minwmaxα,β:αi0L(w,α,β)=p

    很显然,函数最小值的最大值要小于等于最大值的最小值,这个看起来有点绕,不过应该很容易验证。不过,在某些约束条件下,可以让两个值相等,即:
    d=p

    下面,我们探讨一下这些条件:
    假设f和g是凸函数,h是仿射函数,进一步假设函数g是严格可行的,意味着存在w使得对所有的i满足gi(w)<0

    基于上述假设,那么一定存在w,α,β,其中,w是原始优化问题的解,而α,β是对偶优化问题的解,更进一步,我们有:d=p=L(w,α,β),而且w,α,β满足Karush-Kuhn-Tucker (KKT)条件,即如下所示:

    wiL(w,α,β)βiL(w,α,β)αgi(w)gi(w)α=0,i=1,2,...n=0,i=1,2,...l=0,i=1,2,...k0,i=1,2,...k0,i=1,2,...k

    第三个表达式,称为KKT**dual complementarity**条件,这个条件暗示着如果α>0,那么可以推出 gi(w)=0,这个条件是关键的一点。在后面可以看到,正因为这一点,说明SVM中的”支持向量”只占训练样本的一小部分。

    参考文献

    Andrew Ng, “Machine Learning”, Stanford University.

  • 相关阅读:
    sql注入漏洞与防范
    微信小程序-工具,弹出当前系统代理不是安全代理处理方法
    微信小程序-02 小程序关注组件
    微信小程序-01 小数保留二位
    http 转hhttps
    php 函数-ksort
    iOS 原生二维码扫描
    iOS 打包错误 all-product-headers.yaml' not found
    iOS Tableview点击cell 会往上跳
    WKWebView 使用
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9412620.html
Copyright © 2020-2023  润新知