林轩田机器学习基石心得12:Nonlinear Transformation

0. 前言

上一节课中讲讲解了线性模型分类的几个问题,包括随机梯度下降、多分类问题的解决方法等。
但是之前讨论均是在数据线性可分的假设下,假如数据不是线性可分的怎么办?这一节我们讨论非线性问题。

1. 二次假设:Quadratic Hypotheses

  • 之前在处理二分问题时,假设函数为:
    h(x)=sign(wTx) h ( x ) = s i g n ( w T x )

    当属性数量为2时:
    h(x)=sign(w0+w1x1+w2x2) h ( x ) = s i g n ( w 0 + w 1 x 1 + w 2 x 2 )

    但是当样本不能线性分割,但是可以用一个圆形分类器进行分割时,如图:
    这里写图片描述
    此时分类器的假设函数为:
    h(x)=sign(w0+w1x21+w2x22) h ( x ) = s i g n ( w 0 + w 1 x 1 2 + w 2 x 2 2 )

    我们可以做一个简单的处理,把它转化成线性的形式:另 z1=x21 z 1 = x 1 2 z2=x22 z 2 = x 2 2 特征转换)。为了区别开 w w ,我们使用w~来替代 w w ,最后得到的结果为:
    h(x)=sign(w~0+w~1z12+w~2z22)

    得到的结果即是一个线性分类器了:
    这里写图片描述
    也就是说,将左图的分类器转变成右图的分类器。我们只需要找到右图中线性分类器,相应的左图分类器也能知道了。

2. Good Quadratic Hypothesis

上一部分我们定义了什么了二次hypothesis,那么这部分将介绍如何设计一个好的二次hypothesis来达到良好的分类效果。那么目标就是在z域中设计一个最佳的分类线。
其实问题很简单,在对特征进行映射后,x区域的样本在z区域内的相对坐标也就知道了,我们只需要将z区域这些样本进行分好类就可以了。
通过特征映射,可以将之前使用过得一些算法:PLA、Pocket等运用到多维数据上。

3. Computation/Storage Price

  • 当存在多个特征时,在特征转换时会存在多个二次项
    这里写图片描述
    比如当特征维度d=2,阶数为2时,一共有 (x1,x2,x21,x22,x1x2,1) ( x 1 , x 2 , x 1 2 , x 2 2 , x 1 x 2 , 1 ) 六种。在维度更高时,假设阶数为 Qd Q ≤ d ,此时特征数量为:
    这里写图片描述
    由上式可以看出,计算z域特征维度个数的时间复杂度是Q的d次方,随着Q和d的增大,计算量会变得很大。同时,空间复杂度也大。也就是说,这种特征变换的一个代价是计算的时间、空间复杂度都比较大。相应的,二次多项式的增多导致z区域中自由度的增大,这导致了VC维的增大,导致模型泛化能力变弱。
    像这么一组数据:
    这里写图片描述
    右图的分类器结果更加精确,但是我们不能说右图就是好的,因为我们不仅要保证 Ein(g) E i n ( g ) 尽量小,同时还要保证 EinEout E i n ≈ E o u t
    那我们什么时候选择合适的z域维度呢?一般情况下,为了尽量减少特征自由度,我们会根据训练样本的分布情况,人为地减少、省略一些项。但是,这种人为地删减特征会带来一些“自我分析”代价,虽然对训练样本分类效果好,但是对训练样本外的样本,不一定效果好。所以,一般情况下,还是要保存所有的多项式特征,避免对训练样本的人为选择。

4. Polynomial Transform Revisited

  • 当维度d固定时,不同的阶数Q的结果为:
    这里写图片描述
    可以看到随着阶数Q的增多,二次项数量是不断增多的。
  • 随着阶数Q的增大,VC维越来越大,模型变得越来越复杂,此时可以不断地减小 Ein E i n ,但是泛化能力通常很差,这并不是我们想要的结果。所以,一般最合适的做法是先从低阶开始,如先选择一阶hypothesis,看看 Ein E i n 是否足够满意,如果 Ein E i n 足够小的话就选择一阶,如果 Ein E i n 不能满意的化,再逐渐增加阶数,直到满足要求为止。也就是说,我们通过不断地增大阶数Q来得到我们需要的结果。
    这里写图片描述

5. 总结

这一节课中我们主要讲解了高阶向低阶转变的线性变换。这样处理能够得到非线性的分类器,从而能把数据分的很好,得到的错误率也会很低。但是这么处理会提升VC维,导致结果泛华能力不足。因此,我们正确的做法是不断的提升数据的阶数(在这一过程中错误率不断地减小),直到达到满意的错误率。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值