15-kernel methods

这一节主要探讨kernel的方法,以及SVM如何做到some error tolerate—— soft margin。

  • 我们将拉格朗日函数表达成在z空间的形式, 我们需要解决的问题是, 当在z空间优化拉格朗日函数的时候, 我们在计算w, 计算b的时候是否也是方便, 更好的话是它就是kernel的形式。 答案是肯定的。predict的时候是计算g(x), 从w的形式化表达并且代入我们得知无论计算g(x) 还是b, 都是计算x与支持向量之间的kernel而已。


    15-kernel methods_第1张图片
    form
  • 下面以一个例子来说明kernel确实是在做inner product。以二维空间为例子, 我们形式化的将z表达出来, 然后做inner product,到最后我们发现这种效果与直接做K(x, x') = (1 + xTx')2的效果是等价的。

    15-kernel methods_第2张图片
    generalized

    15-kernel methods_第3张图片
    trick

  • 以上的例子其实是polynomial kernel, 下面是其更加一般化的表达。


    15-kernel methods_第4张图片
    polynomial
  • 那么遇到一个新的kernel, 我们如何确认它就是对的, 是在做inner product呢? 可以在一维空间展开。 如下是rbf kernel, 我们对其做泰勒展开, 发现有x, x'的点乘项, 我们有理由相信它就是在做点乘。


    15-kernel methods_第5张图片
    rbf
  • final。最后我们得到了g(x)关于kernel的表达。


    15-kernel methods_第6张图片
    final
  • 但是如何知道Z空间存在呢?一个是认为构建, 另外一个是Mercer‘s condition, 第三是这似乎是不重要的。保证kernel(x, y) = kernel(y, x), 保证kernel矩阵是半正定。


    15-kernel methods_第7张图片
    Z

    15-kernel methods_第8张图片
    condition
  • 接下来是soft margin分类器。 数据不一定是能对分的, 左边的是有少数的点混入到别的类之中, 右边的是它在线性空间完全无法分, 必须要做非线性转换。


    15-kernel methods_第9张图片
    non-separable
  • 还记得我们一开始做的归一化|w^Tx + b | = 1 吧, 这是对所有支持向量的约束, 现在放宽这个约束,支持向量到超平面的距离可以有一点点vary, 或者理解成允许犯一点点错误\xi,然后统计\xi的总和。


    15-kernel methods_第10张图片
    measure
  • 问题重新表达如下。最小化的问题要加上Error measure, 拉格朗日的方程要加上两个松弛变量的约束。 可以看到, 对w, b的导数仍然不变, 而对\xi求导令其为0, 看到C-\alpha-beta = 0, 若将其代回去拉格朗日方程, 关于\xi的项消失了。


    15-kernel methods_第11张图片
    optimization

    15-kernel methods_第12张图片
    Lagrange
  • solution。solution的形式与hard margin的形式基本一直, 只是多了一个约束\alpha ≤ C。


    15-kernel methods_第13张图片
    solution
  • 前面我们知道若\alpha > 0, 它就是一个support vector, 它们都在margin上面, 这是对hard margin而言。 对soft margin需要分两类, 一类仍然是margin上面的支持向量, 他们的\xi就是0; 另外一类是margin之间的支持向量, \alpha = C, 这意味着\beta = 0,根据互补松弛条件(不知道对不对), \xi 就不等于0了, 有Error了, 这就是margin之间的支持向量了。


    15-kernel methods_第14张图片
    support

你可能感兴趣的:(15-kernel methods)