非线性分类器---非线性转换解决非线性分类问题

我们已经知道了对于线性可分的数据的分类问题,但是有些问题可能不是线性的分类器可以解决的。

这里写图片描述

Nonlinear Transform
如上图所示的数据,一条直线无法分割的数据我们可以用圆来分割。圆圈外的点是叉叉而圆圈内部的点是圈圈。那么我们来看,我们可以对上述的分类函数做一个转换,使得其变成线性函数。

这里写图片描述

我们将 x21 映射为 z1 x22 映射为 z2 , 1映射为 z0 ,这样实际上有是一个线性分割,只不过不在是在原始的资料上了,而是对原始资料做了一个 ϕ(x) 的映射,将原始的点投影到新的空间,在这个空间上各个点是线性可分的。

那么反过来呢,对于之前的映射 ϕ(x) ,映射后的空间我们姑且用 Z 来表示,在这个空间中的每条直线在原始空间 X 中代表了什么呢。我们来看下图。

这里写图片描述

在对应的 ϕ(x) 映射下, Z 平面下的不同直线(这里对应了 w^=(w0^,w1^,w2^) 的不同取值)代表了原空间中不同的线,可能是圆,可能是椭圆,双曲线等等。但是 Z 平面中的所有直线对应不了所有原始平面 X 下的各种二次曲线,比如说圆,只能对应原始平面中圆心在原点的圆。这是由映射函数 ϕ(x) 决定的,如果我们想对应原始平面 X 中的所有二次曲线,那么我们需要原始平面维度下的所有二次项。

这里写图片描述

如上图所示,这时候对应的 ϕ(x)=(1,x1,x2,x21,x1x2,x22) ,在这个六维空间上的每一个超平面对应了原始空间的各种二次曲线。也就是对于线性不可分的数据,将它映射到高维空间就可能变成线性可分。

那么通过线性转换我们就可以把一些不可分数据映射到高维空间,然后在选用一种线性分类的算法得到分类器。 g(x)=sign(w^Tϕ(x)) 具体步骤如下:

这里写图片描述

那么我们这里是用二次曲线去做的,现实中我们怎么知道应该用几次曲线呢,那么我们怎么知道我们需要哪些项呢,因为对于三次曲线我们的映射就会变成 ϕ(x)=(1,x31,x21x2,...,x32) ,而且这种映射有什么问题呢,难道曲线次数越多越好么?

Price of Nonlinear Transform
我们先看一下转换前后维度的变化。
这里写图片描述

对于之前d维的向量,转换之后变成了 (Q+dd) 维,这样才能代表原来空间的所有Q次曲线(面),这就影响了存储或者运行效率。

当然最大的问题在于VC维变大了,VC dimension 是近似等于 特征数量也就是维度的,按照之前讲的VC dimension的理论,VC维越大, Ein,Eout 差距就越大。

Structured Hypothesis Sets
这里写图片描述

我们讲对于d维数据不同次数多项式映射是互相包含的,为什么这么说,比如 ϕ2(x) 当所有二次项系数都是0剩下的就是 ϕ1(x) ,那么就有了下图的关系。
这里写图片描述

dvc 越来越大,代表了模型复杂度越来越复杂,可选空间越来越多,我们越有可能选择出一个较好的hypothesis, 那么 Ein 会越来越小,但是与 Eout 的差距会越来越大。

所以说,映射的维度越高可能会导致一个较小的 Ein ,但是可能 Eout 会很高。那么安全的做法是什么呢,我们应该从较小的 dvc 做起如果可以得到一个较小的 Ein 那么很好,我们就可以选择这个分类器g, 如果不行,我们在增加维度,也就是在往稍稍的高维映射去做。

这里写图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值