Nonlinear Transform
前文中,我们已经学习了linear classification,linear regression,logistic regression三种线性方法。
如何解决这种问题呢?
其实很好解决,只需要加入一些二次项即可。
这种思路非常简单易懂,我们关心的是:这样做会带来什么样的后果。
根据之前我们讲过的,对于linear classification这种问题,其vc dimension等于自由度,我们可以得到,进行Q-th order多项式变换之后:
1)对于实际计算上来说,原来x是d维数据,现在x是O(Qd)维数据,计算和存储上实现都比较困难;
2)如果Q很大,导致dvc很大,根据之前的VC bound理论,从而会导致Ein与Eout相差很大;
所以呢,具体上Q的选择也需要trade-off:
我们可以看出,这里Q起到的作用与之前我们提高的dvc和mH是等价的。
就像我们一开始提到的,有很多时候,我们不得不使用nonlinear transform,如何选择Q是一个重要的问题。Q太大会导致过度拟合问题,Q太小呢,可能会导致算法无法解决此问题。一个合理的思路是:
从最小的H1(也即:Q=1)开始,如果此时算法的表现足够好,那么就用此算法;否则,再逐渐增加Q。从上面的curve来说,就是从最左边开始逐渐向右移,直到找到好的结果。
Nonlinear Transform的更多相关文章
- 过度拟合(overfitting)
我们之前解决过一个理论问题:机器学习能不能起作用?现在来解决另一个理论问题:过度拟合. 正如之前我们看到的,很多时候我们必须进行nonlinear transform.但是我们又无法确定Q的值.Q过小 ...
- SVM技法
PLA不管胖瘦,SVM喜欢胖的 fewer dichotomies=> small VC 演算法的VC dimension shatter 掉3个点 如果限制胖瘦,两个点都shatter不掉 喜 ...
- 加州理工大学公开课:机器学习与数据挖掘_线性模型 II(第IX类)
课程简要: 主要内容包括线性分类和回归分析简单的回忆.除了Logistic回归分析,具体解说误差测量和算法三方面,同时归纳法的非线性变换的分析. 课程大纲: 1.Review 2.Nonlinear ...
- 机器学习基石12-Nonlinear Transformation
注: 文章中所有的图片均来自台湾大学林轩田<机器学习基石>课程. 笔记原作者:红色石头 微信公众号:AI有道 上一节课介绍了分类问题的三种线性模型,可以用来解决binary classif ...
- MNI模板和Talairach 模板的对比
The MNI brain and the Talairach atlas SPM 96 and later use standard brains from the Montreal Neurolo ...
- Highway Networks(高速路神经网络)
Rupesh Kumar Srivastava (邮箱:RUPESH@IDSIA.CH)Klaus Greff (邮箱:KLAUS@IDSIA.CH)J¨ urgen Schmidhuber (邮箱: ...
- 【Kernal Support Vector Machine】林轩田机器学习技术
考虑dual SVM 问题:如果对原输入变量做了non-linear transform,那么在二次规划计算Q矩阵的时候,就面临着:先做转换,再做内积:如果转换后的项数很多(如100次多项式转换),那 ...
- 【Dual Support Vector Machine】林轩田机器学习技法
这节课内容介绍了SVM的核心. 首先,既然SVM都可以转化为二次规划问题了,为啥还有有Dual啥的呢?原因如下: 如果x进行non-linear transform后,二次规划算法需要面对的是d`+1 ...
- 【Linear Support Vector Machine】林轩田机器学习技法
首先从介绍了Large_margin Separating Hyperplane的概念. (在linear separable的前提下)找到largest-margin的分界面,即最胖的那条分界线.下 ...
随机推荐
- Spring3 报org.aopalliance.intercept.MethodInterceptor问题解决方法
原文:Spring3 报org.aopalliance.intercept.MethodInterceptor问题解决方法 一 开发环境:JDK5+Spring3.0.5+Myeclipse6.6+T ...
- Larave 多图片上传
首先使用Dropzone.js前端组件 {{ HTML::style('css/basic.css');}} {{ HTML::script('js/dropzone.js') }} form部分只需 ...
- set集合_变长
//set可变集合 //便利初始化函数分配大小 NSMutableSet *mutableSet1 = [[NSMutableSet alloc] initWithCapacity:3]; NSMut ...
- 修改linux终端命令行颜色
进入修改:vim /root/.bashrc 1.PS1 要修改linux终端命令行颜色,我们需要用到PS1,PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置.在终端输入命令:#s ...
- Android ListView高度自适应和ScrollView冲突解决
在ScrollView中嵌套使用ListView,ListView只会显示一行到两行的数据.起初我以为是样式的问题,一直在对XML文件的样式进行尝试性设置,但始终得不到想要的效果.后来在网上查了查,S ...
- cocos2dx 的基本框架
AppDelegate.h #ifndef _APP_DELEGATE_H_ #define _APP_DELEGATE_H_ #include "cocos2d.h" USING ...
- web前端性能测试小点
关于前端性能的文章: http://www.cnblogs.com/fnng/archive/2011/09/19/2181894.html web应用的前端性能响应时间指浏览器的页面加载时间.浏览器 ...
- Android开发之获取系统版本号
获取系统版本号:获取当前系统的版本号: textView.setText("Product Model: " + android.os.Build.MODEL + ",& ...
- [POJ2377]Bad Cowtractors(最大生成树,Kruskal)
题目链接:http://poj.org/problem?id=2377 于是就找了一道最大生成树的AC了一下,注意不连通的情况啊,WA了一次. /* ━━━━━┒ギリギリ♂ eye! ┓┏┓┏┓┃キリ ...
- POJ 1113 凸包模板题
上模板. #include <cstdio> #include <cstring> #include <iostream> #include <algorit ...