机器学习 | 台大林轩田机器学习基石课程笔记12 --- Nonlinear Transformation
课程主页
课程视频和PPT
上一节课,我们介绍了分类问题的三种线性模型,可以用来解决binary classification和multiclass classification问题。本节课主要介绍非线性的模型来解决分类问题。
目录
1. Quadratic Hypothesis
2. Nonlinear Transform
3. Price of Nonlinear Transform
4. Structured Hypothesis Sets
5. 总结
1. Quadratic Hypothesis
之前介绍的线性模型,在2D平面上是一条直线,在3D空间中是一个平面,在高维空间中是一个超平面。数学上,我们用线性得分函数s来表示:.其中,x为特征值向量,w为权重,s是线性的。
线性模型的优点就是,它的VC Dimension比较小,保证了。但是缺点也很明显,对某些非线性问题(线性不可分),可能会造成很大,虽然,但是也造成很大,分类效果不佳。
为了解决线性模型的缺点,我们可以使用非线性模型来进行分类。例如数据集D不是线性可分的,而是圆形可分的,圆形内部是正类,外面是负类。假设它的hypotheses可以写成:
基于这种非线性思想,我们之前讨论的PLA、Regression问题都可以有非线性的形式进行求解。
下面介绍如何设计这些非线性模型的演算法。还是上面介绍的平面圆形分类例子,它的h(x)的权重,但是h(x)的特征不是线性模型的,而是.我们令,那么h(x)变成:
这种的转换可以看成是x空间的点映射到z空间中去,而在z域中,可以用一条直线(或超平面,总之是线性可分)进行分类,也就是从x空间的圆形可分映射到z空间的线性可分。z域中的直线对应于x域中的圆形。因此,我们把这个过程称之为特征转换(Feature Transform)。通过这种特征转换,可以将非线性模型转换为另一个域中的线性模型。
已知x域中圆形可分在z域中是线性可分的,那么反过来,如果在z域中线性可分,是否在x域中一定是圆形可分的呢?答案是否定的。由于权重向量w取值不同,x域中的hypothesis可能是圆形、椭圆、双曲线等等多种情况。
目前讨论的x域中的圆形都是圆心过原点的,对于圆心不过原点的一般情况, 映射公式包含的所有项为:
也就是说,对于二次hypothesis,它包含二次项、一次项和常数项1,z域中每一条线对应x域中的某二次曲线的分类方式,也许是圆,也许是椭圆,也许是双曲线等等。那么z域中的hypothesis可以写成:
2. Nonlinear Transform
上一部分我们定义了什么是二次hypothesis,那么这部分将介绍如何设计一个好的二次hypothesis来达到良好的分类效果。那么目标就是在z域中设计一个最佳的分类线。
其实,做法很简单,利用映射变换的思想,通过映射关系,把x域中的最高阶二次的多项式转换为z域中的一次向量,也就是从quardratic hypothesis转换成了perceptrons问题。用z值代替x多项式,其中向量z的个数与x域中x多项式的个数一致(包含常数项)。这样就可以在z域中利用线性分类模型进行分类训练。训练好的线性模型之后,再将z替换为x的多项式就可以了。具体过程如下:
整个过程就是通过映射关系,换个空间去做线性分类,重点包括两个:
- 特征转换
- 训练线性模型
其实,我们以前处理机器学习问题的时候,已经做过类似的特征变换了。比如数字识别问题,我们从原始的像素值特征转换为一些实际的concrete特征,比如密度、对称性等等,这也用到了feature transform的思想。
3. Price of Nonlinear Transform
若x特征维度是d维的,也就是包含d个特征,那么二次多项式个数,即z域特征维度是:
如果x特征维度是2维的,即,那么它的二次多项式为,有6个。
现在,如果阶数更高,假设阶数为Q(Q次多项式),那么对于x特征维度是d维的,它的z域特征维度为:
由上式可以看出,计算z域特征维度个数的时间复杂度是Q的d次方,随着Q和d的增大,计算量会变得很大。同时,空间复杂度也大。也就是说,这种特征变换的一个代价是计算的时间、空间复杂度都比较大。
另一方面,z域中特征个数随着Q和d增加变得很大,同时权重w也会增大,即自由度增加(可以调节的参数增加),VC Dimension增大。令z域中的特征维度是,则在z域中,任何个输入都不能被shattered;同样,在x域中,任何个输入也都不能被shattered。是VC Dimension的上界,如果很大的时候,相应的VC Dimension就会很大。根据之前章节课程的讨论,VC Dimension过大,模型的泛化能力会比较差。
下面通过一个例子来解释为什么VC Dimension过大,会造成不好的分类效果:
上图中,左边是用直线进行线性分类,有部分点分类错误;右边是用四次曲线进行非线性分类,所有点都分类正确,那么哪一个分类效果好呢?单从平面上这些训练数据来看,四次曲线的分类效果更好,但是四次曲线模型很容易带来过拟合的问题,虽然它的比较小,从泛化能力上来说,还是左边的分类器更好一些。也就是说VC Dimension过大会带来过拟合问题, 不能太大。
那么如何选择合适的Q,来保证不会出现过拟合问题,使模型的泛化能力强呢?一般情况下,为了尽量减少特征自由度,我们会根据训练样本的分布情况,人为地减少、省略一些项。但是,这种人为地删减特征会带来一些“自我分析”代价,虽然对训练样本分类效果好,但是对训练样本外的样本,不一定效果好。所以,一般情况下,还是要保存所有的多项式特征,避免对训练样本的人为选择。
4. Structured Hypothesis Sets
下面,我们讨论一下从x域到z域的多项式变换。首先,如果特征是0次的话,那么变换多项式只有常数项:
如果特征是一次的,变换多项式包含了:
如果特征是二次的,变换多项式包含了:
以此类推,如果特征是Q次,那么它的变换多项式为:
那么对于不同阶次构成的hypothesis有如下关系:
我们把这种结构叫做Structured Hypothesis Sets:
那么对于这种Structured Hypothesis Sets,它们的VC Dimension满足下列关系:
它的满足下列关系:
从上图中也可以看到,随着变换多项式的阶数增大,虽然 逐渐减小,但是model complexity会逐渐增大,造成很大,所以阶数不能太高。
那么,如果选择的阶数很大,确实能使接近于0,但是泛化能力通常很差,我们把这种情况叫做tempting sin。所以,一般最合适的做法是先从低阶开始,如先选择一阶hypothesis,看看是否很小,如果足够小的话就选择一阶,如果大的话,再逐渐增加阶数,直到满足要求为止。也就是说,尽量选择低阶的hypothes,这样才能得到较强的泛化能力。
5. 总结
这节课主要介绍了非线性分类模型,通过非线性变换,将非线性模型映射到另一个空间,转换为线性模型(在当前维度空间中线性不可分的数据,可以通过映射(引入多项式),将其映射到高维空间或其他空间,使其线性可分),再来进行线性分类。本节课完整介绍了非线性变换的整体流程,以及非线性变换可能会带来的一些问题:时间复杂度和空间复杂度的增加。最后介绍了在要付出代价的情况下,使用非线性变换的最安全的做法,尽可能使用简单的模型,而不是模型越复杂越好。
机器学习 | 台大林轩田机器学习基石课程笔记12 --- Nonlinear Transformation相关推荐
- 机器学习 | 台大林轩田机器学习基石课程笔记3 --- Types of Learning
课程主页 课程视频和PPT 上节课我们主要介绍了解决线性分类问题的一个简单的方法:PLA.PLA能够在平面中选择一条直线将样本数据完全正确分类(前提数据是线性可分的,在高维空间中,可以用一个超平面完全 ...
- 台大林轩田·机器学习基石记要
台大林轩田·机器学习基石记要 昨天开始看林轩田的机器学习基石,从今天起开始去粗取精 第一讲比较基础,一些概念自己早已经理解了,所以不再做笔记,有点印象的是讲到了ML.DL.AI的一些联系与区别,ML主 ...
- 台大林轩田·机器学习技法记要
台大林轩田·机器学习技法 记要 6/1/2016 7:42:34 PM 第一讲 线性SVM 广义的SVM,其实就是二次规划问题 把SVM问题对应到二次规划的系数 这就是线性SVM,如果想变成非线性,只 ...
- 台大·林轩田·机器学习基石·第二讲
第二讲···感知机学习算法 2-1 Perceptron hypothesis set 对于银行是否决定要给申请者信用卡问题,对于输入数据(例如申请者的个人信息,年龄,性别,收入,工作情况等)可用一组 ...
- 台大林轩田机器学习基石学习笔记(一):The Learning Problem
这里写自定义目录标题 写在前面 一.What is Machine Learning 二.Applications of Machine Learning 三.Components of Machin ...
- 台大林轩田机器学习技法完全解读
支持向量机(SVM)完全解读 集成学习完全解读 神经网络深度学习完全解读 感谢林轩田老师!
- [机器学习基础][台大林轩田]机器学习概念
什么是机器学习 什么是"学习"?学习就是人类通过观察.积累经验,掌握某项技能或能力.就好像我 们从小学习识别字母.认识汉字,就是学习的过程.而机器学习(Machine Learni ...
- 【本站原创】台大林轩田《机器学习基石》系列课程教材的习题解答和实现
台湾大学林轩田老师的<机器学习基石>.<机器学习技法>课程由浅入深.内容全面,基本涵盖了机器学习领域的很多方面.其作为机器学习的入门和进阶资料非常适合.本站实现了课程教材的绝大 ...
- 台大林轩田《机器学习基石》系列课程教材的习题更新完毕了
台湾大学林轩田老师的<机器学习基石>.<机器学习技法>课程由浅入深.内容全面,基本涵盖了机器学习领域的很多方面.其作为机器学习的入门和进阶资料非常适合.本站实现了课程教材的绝大 ...
最新文章
- Configure,Makefile.am, Makefile.in, Makefile文件之间关系
- 那个脑袋生锈的我写的东西
- web项目错误页面友好处理404,500等
- w7怎么查看电脑配置_学室内设计,对电脑配置有何要求?不懂戳这!
- 九九乘法表的C语言实现
- vue 2 使用 Bus.js 实现兄弟 (非父子) 组件通信 简单案例
- 元宇宙是个啥?送4本科普好书
- 我发现有的人就活该他赚钱,他们的脑子就是个聚宝盆
- qt通过http连接mysql_Qt如何利用MySQL连接远程数据库?
- 2018CCPC网络赛 HDU 6444: G. Neko's loop(线段树)
- ASP(从前) vs ASP.NET(之后)
- html自动播放音乐播放器代码,[界面设计] 关于HTML 音乐播放器代码|音乐播放器网页代码大全(转)...
- SQL Server无法连接客户端的问题
- 2021如何提升网站的排名?SEO
- Microsoft Edge浏览器打开就是360导航的问题解决方法
- 【基于51】红外寻迹智能小车-硬件篇
- 【Keil变量定义】定义extern类型变量
- 没键盘计算机能启动吗,电脑没有接鼠标键盘为什么会影响电脑的正常开机?
- AUTOSAR Network Wakeup(Can) Configuration
- 凑单这个技术活,阿里工程师怎么搞?
热门文章
- pumping lemma
- js获取PC设备信息,js获取手机设备信息,最全
- 柠檬班培训1软件测试
- mac更新go到最新版本
- php tp 聚合数据接口,TP5结合聚合数据天气预报API查询天气
- 项目初始化报 404 Not Found - GET https://registry.npmjs.org(转)
- Photoshop CS4 CS5 CS6永久序列号全面整理
- Mapreduce Wordcount白名单 Python实现
- Qt编写安防视频监控系统61-子模块5设备控制
- [51Nod](1278)相离的圆 ---- 二分查找