对付非线性可分的数据集的一种通用办法
来源:互联网 发布:佐拉算法说的那些人 编辑:程序博客网 时间:2024/05/29 17:46
假设这个数据集能够被一个非线性的面分开,这个面的表达形式为f(x,y,z)。那么,根据泰勒展开,可以得到f(x,y,z)的多项式表达。那么,就可以把其多项式表达作为一个新的面,将多项式的各个次数的分量组成一个新的向量,就成了线性可分的。这样相当于将数据集做了个变换,将非线性的数据集变换成线性的数据集。
由此可以推出,在一定意义上来说,任何非线性的数据集通过某种变换后,都是线性可分的。
但是,如果经过泰勒展开以后,数据的维度会上升的很快,所以存储和计算速度都会增加很快。同时,因为参数增长的非常快,VC维度也会增加的很快,非常容易发生overfitting 。
因此,一个比较科学的做法是,从线性逼近开始尝试,然后一步步的测试复杂的逼近。
另外一个问题是过拟合的问题。过拟合跟两个东西有关:噪声和数据集大小。如果数据集小、而所选的模型的VC维度太高的话,就会发生过拟合现象。
下图说明了另外一个问题。即使我们的分类器是很高次数的多项式,但是在数据量有限的情况下也会出现过拟合现象。
0 0
- 对付非线性可分的数据集的一种通用办法
- 非线性可分数据最优超平面的构建
- 对付银行的办法
- 感知机学习算法的拓展---非线性可分数据问题
- 统计学习知识---感知机学习算法的拓展(非线性可分数据问题)
- 为什么梯度下降法对于非线性可分数据有效
- htm5 对付运营商劫持的笨办法。
- [Boost]一种简单的批分字符串的办法
- [Boost]一种简单的批分字符串的办法
- [Boost]一种简单的批分字符串的办法
- [Boost]一种简单的批分字符串的办法
- Boost tokenizer 一种简单的批分字符串的办法
- C++调用lua函数的一种通用办法
- C++调用lua函数的一种通用办法
- 对付API-splicing的一种简单方法
- 对付数列形式根号的一种方法
- 一种通用的数据访问对象模式
- 一种提高卷积结果非线性的方法
- 设计模式之工厂模式(Factory)
- Hadoop配置独立模式
- JVM基础知识
- 学习Javascript闭包(Closure)
- Java Web后台学习路线
- 对付非线性可分的数据集的一种通用办法
- H - 求数列的和
- 让Nginx支持pathinfo
- HBase API操作(新版本)
- 关于时间的一下应用
- 99%的人都理解错了HTTP中GET与POST的区别
- linux环境下普通用户crontab环境变量的设置
- 玩转Android Framework启动篇
- #DeepLearningBook#算法概览之八:Representation Learning