在数据量不足的情况下,用那种数据挖掘模型效果会更好?

雷天琪

法国电信 机器学习实习生

巴黎综合理工学院(École Polytechnique)

知乎链接:http://www.zhihu.com/question/35649122/answer/64675192

我们在机器学习的案例中经常会陷入一种情况,即数据量不足,或者在维度过高的情况下,数据量相对不足。 如果是维度过高造成的数据量不足(维度灾难),我们可以用降维的方式来“缓解压力”,但是在某些情况下,即使降维之后,我们依然没有足够的数据。 比如一次调查中,我们只获得了几千份样本,那么,在数据量已经固定且很少的情况下,我们可以用什么方法,或者哪种模型来取得更好的预测性能?为什么?

我还是写一些自己的理解。

其实这里所说的数据量不足,可以换一种方式去理解:在维度高的情况下,数据相对少。

举一个特例,比如只有一维,和1万个数据,那么这种情况下,我们可以认为数据量其实是足够的,因为数据密度相对来说很高。

如果数据的维度有1000维,数据量仍然有1万,这种情况下,数据的密度就相当低了。 引用wiki里的两句话: - The common theme of these problems is that when the dimensionality increases, the volume of the space increases so fast that the available data become sparse. This sparsity is problematic for any method that requires statistical significance. In order to obtain a statistically sound and reliable result, the amount of data needed to support the result often grows exponentially with the dimensionality. - With a fixed number of training samples, the predictive power reduces as the dimensionality increases, and this is known as the Hughes effect or Hughes phenomenon

简单的翻译过来就是,当维度增加的时候,训练所需要的数据量需要成指数级别的增长才能满足要求。 维度很高,且数据量不足的情况下,训练模型仅仅是去“记忆”数据,而不是去“学习”数据。因为对于高维度来说,空间的自由度非常大,在数据量相对不高的情况下,其实每一个数据都可以看成是一个“特例”,这也是造成过拟合现象的原因。 但是,高维度的情况下也有一个好处:既然空间的自由度很高,那么数据就更可能线性可分,在维度高到一定程度的时候,我们就可以认为其线性可分的概率为1 (其实这个观点是缺少严谨的数学验证的,可以参考:如何证明无穷多维的情况下,数据一定线性可分? http://www.zhihu.com/question/35610783/answer/64040353)。 所以得出的结论是,在数据量不足的情况下(相对于高维度下的数据量不足问题),我们可以使用线性分类器来解决问题,因为其“更可能线性可分”,比如,使用SVM来分类数据量少的问题。 最近做的一个项目就遇到了这个问题,从上面的分析的基础上,可以看出线性分类器可以保证在数据量很少的情况下的性能,但是我的实际项目不能验证这一点。 :( 我的实际项目中,效果最好的还是随机森林(可以应对线性不可分的情况),而SVM和其他的一些模型并无明显差别,唯一显著的效果是,False Positive很少,不过这一点在某些情况下很重要。至于原因,现在只能理解为数据中有错误。

数据量少的时候应该选择怎样的模型,其实只能回答『That depends』,机器学习领域一大类papers都是关于如何在存在假设的数据中寻找一种合适的表示(『降维』或『升维』),以提高分类器、回归器的性能。 不如,举出几个具体问题,比如数据的形式(图像或者文本,是否有缺失),数据的规模(样本数和维度大小),数据中存在的结构信息(稀疏、低秩)。这样更容易回答。 维度非常高1000多维度,并且每个维度都很重要,数据量很少,是调查结果,只有近万份,数据是很稀疏的,基本上是连续值。在这种情况下,如何选择模型?为什么? 这其实还是一个比较一般的问题,我尽量从一个比较一般的角度回答,描述的也都是一些常用的简单的做法,假设要做的是一个分类问题,我描述一下我拿到这样一份数据的做法(流程),面对实际情况,我们总是一步一步来,先分析数据,尝试最简单的方案,再作调整。已知:1000维的feature,近10000的sample,而且数据是稀疏的。 首先,尝试一下常用的线性分类器,比如SVM、LR这些,看训练误差和测试误差的差异,这个时候可能出现多种情况。 (1) 如果训练误差远小于测试误差,说明分类器已经过拟合了,考虑如何避免过拟合。

(2) 如果训练误差与测试误差差不多,但是测试误差太大,说明模型复杂度很可能不够。

(3) 如果训练误差与测试误差差不多,而且测试误差已经足够小,结束。 针对(1),这个时候产生了严重的过拟合,这意味着样本数目不够,一般我们没法补充样本。那么就要考虑如何采用提高泛化能力,如果数据没有很特别的性质(稀疏、低秩等),我们可以考虑添加一些常用正则化项,比如L2-norm,还可以使用一些常用的降维方法(其实也就是常用的假设),比如PCA(假设方差小的数据分布方向是噪声产生的)、LDA。如果数据中有一些性质,比如题主提到feature是稀疏的,由于数据来自『调查结果』,所以很多时候不是数据稀疏,而是数据不完整(被调查的对象没有提供这部分数据,而不是它没有这部分属性),那么可以通过补全这些feature来降低缺失带来的影响,比如假设样本构成矩阵,每一列有一个样本组成,那么我们可以对进行低秩分解,比如,这样的一个列就代表了的一个列,与的乘积又补全了,此时,用作为训练样本可能得到更好的结果。再比如,数据中存在大量的污染,一些废的feature其实对label影响不大,那么我们可以考虑去除一些feature,降低参数空间,从而提高泛化性,简单的方法是给训练参数加稀疏正则项,比如常用的L1-norm(要是觉得不够系数还可以用capped L1-norm、Lp-norm、SCAD、MCP这些更加稀疏的正则化项),来过滤掉不重要的feature。总而言之,要依赖于数据的特点(除了上面提到的特性,也许还存在正负样本不平衡等性质),设计出减小过拟合程度的方案。 针对(2),可以采用更加复杂的模型,比如带隐变量的模型,比较典型的就是Neural Network,当然这不是唯一的选择,还有决策树以及ensemble类的方法GBDT、Random Forest等。 针对不同情况选择合适的模型之后,观察现在的训练误差和测试误差。回到第(1),(2),(3)步,继续考察新方案。针对具体的业务问题,关键在于迭代得更新方案(不断优化泛化性能),发现数据的新的特性,最终设计出合适于具体业务的模型。

原文发布于微信公众号 - 大数据挖掘DT数据分析(datadw)

原文发表时间:2016-04-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技大本营的专栏

最讨厌说大话,只想聊经验!我从创建Hello world神经网络到底学会了什么?

我开始跟神经网络打交道是在几年之前,在看了一篇关于神经网络用途的文章后,我特别渴望能够深入研究一下这个在过去几年间吸引了众多关注的问题解决方案。 2015年,斯...

3625
来自专栏专知

【干货】模仿人类的印象机制,商汤提出精确实时的视频目标检测方法

【导读】最近,针对视频目标检测中速度精度难以两全的问题,来自商汤科技(SenseTime)的学者发表论文提出一个新的概念——印象网络,其体现出了自然高效的特征聚...

3196
来自专栏专知

【干货】PyMC3和Theano代码构建贝叶斯深度网络,61页PPT探索贝叶斯深度学习以及实现(附下载)

【导读】近日,Novartis的数据科学家 Eric J. Ma 进行了一次关于贝叶斯深度学习理论和实现的演讲,演讲题目是《An Attempt At Demy...

3589
来自专栏新智元

计算成本降低35倍!谷歌发布手机端自动设计神经网络MnasNet

【新智元导读】神经结构自动搜索是最近的研究热点。谷歌大脑团队最新提出在一种在移动端自动设计CNN模型的新方法,用更少的算力,更快、更好地实现了神经网络结构的自动...

451
来自专栏人工智能头条

Netflix工程总监眼中的分类算法:深度学习优先级最低

1416
来自专栏新智元

10000+谷歌员工学过的谷歌内部图像分类课程公开了!

933
来自专栏PPV课数据科学社区

机器学习-R-特征选择

特征选择是实用机器学习的重要一步,一般数据集都带有太多的特征用于模型构建,如何找出有用特征是值得关注的内容。 1. Feature selection: All...

3625
来自专栏企鹅号快讯

结合感知和概念思维,DeepMind提出可微归纳逻辑框架∂ILP

选自DeepMind 机器之心编译 最近,DeepMind 在 JAIR 上发表论文《Learning Explanatory Rules from Noisy...

1895
来自专栏AI科技评论

干货 | DeepMind 提出 GQN,神经网络也有空间想象力

AI 科技评论按:人类理解一个视觉场景的过程远比看上去复杂,我们的大脑能够根据已有的先验知识进行推理,推理的结果所能涵盖的内容也要远超出视网膜接收到的光线模式的...

933
来自专栏PPV课数据科学社区

☞大数据分析到底需要多少种工具?

摘要 JMLR杂志上最近有一篇论文,作者比较了179种不同的分类学习方法(分类学习算法)在121个数据集上的性能,发现Random Forest(随机森林)和S...

31410

扫描关注云+社区