经验 : 三个你在书中无法学到的数据分析知识

在大数据特别热门的今天,出现了各种培训课程。但我发现这些课程的重点都放在算法的学习上。如何理解logistic回归或深度学习的确很酷,但一旦你开始处理数据,你会发现还有其他的东西更为重要。

我在大学里教了很多年的深度学习,这些课程和讲座总是特别注重特定的算法,你学习支持向量机器、高斯混合模型的聚类、k-均值等等,但是只有在你写硕士论文的时候你需要用到这些方法。

那么什么才是正确的呢?关键就是你要保证你做的模型对于未来的数据也能有好的表现。所以我在这里教你三个书本不能教给你的知识。

一、对模型的有正确的认识是关键

数据分析、机器学习或是数据科学(总之是这个领域)的主要目的,就是建立一个能预测未来数据的系统。在普通情况中,你很难发现监督学习(例如分类)和无监督学习(例如聚类)之前的区别,你通常会使用你构建和设计的方法去搜集一些数据,但最终你希望你设计的模型可以应用到未来的数据,并且确保该模型行之有效,可以同你对原始数据的测验结果相同。

初学者经常会犯的一个错误就是,只看到了已有数据的表现,就认为这对未来数据是适用的。很不幸的是事实通常不是这样。例如在一个监督学习的案例中,任务是根据你的输入输出的行为来预测,例如把电子邮件分为垃圾邮件和非垃圾邮件。

如果你只考虑训练数据,那么对机器来说很容易返回完美的预测结果,只是通过死记硬背就可以。机器因为其容量大,可以存储和检索大量的数据,但这导致过度拟合,缺乏概括。

所以适当的评估方式是通过分割数据,分析一个部分,然后预测其他部分来模拟未来的结果。通常,训练部分是庞大的,过程也要重复数次,以获得几个数字来看看什么才是合适的方法,这个过程称为交叉验证。

尽管方法看起来如此可靠,还是经常会发生错误,特别是当数据是不稳定时,例如数据的基础分布会随时间变化,在现实中这是经常发生的,6月的销售数字和12月的就会有很大不同。或者数据点之间具有大量相关性,也就是说,如果你知道一个数据点意味着你已经知道了很多关于另一个数据点的信息。例如,股票价格通常在一天之内会从一个价格跳到另一个价格,如果你搜集这些数据,并做了测试,很可能会推导出和它有相关性的数据。

每当出现这种情况,你就会得到过于乐观的数字,你的方法将无法在未来真正的数据中很好地工作。在最坏的情况下,当你终于说服别人来使用你的方法时这个方法并不能达到预期效果。所以学习如何正确评估是关键!

二、一切都在于特征提取

学习到一种新的方法是令人兴奋的,但事实是,大部分最复杂的方法执行起来基本是相同的,而真正的区别是在通过学习把原始数据的特征提取出来。

现代的学习方法是非常强大的,很容易在几十秒内处理成百上千的数据点,但事实是,这些方法是非常愚蠢的,特别是线性模型(如Logistic回归,线性支持向量机)方法基本上同你的计算器一样傻乎乎。

它们善于通过足够的数据鉴定出特征,但是如果信息不足,或者没有通过输入线性组合展现特征的,它们就什么也做不了。它们也无法通过洞察数据的来实现数据自身的缩减。

换句话说,你可以通过合适的特征来大量减少数据所需的量。假设说你减少了所有要预测的函数的特征,还有什么东西需要学习,对不对?那是多么强大的特征提取!

这意味着两件事。首先,你需要确保你掌握了这些方法中的一个,而且要坚持下去。所以你真的不需要Logistic回归和线性向量机都学习,只学习其中一个就行。这也包括你需要理解哪些方法是类似的,这其中的关键点在于底层的模型。所以深度学习是不一样的,但线性模型在表现上来看是差不多的,尽管这些方法有些不同,但是在大多数的案例中都可以得到类似的预测结果。

第二点,你需要学习所有关于这个行业的特征。不幸的是这是一门艺术,而且几乎没有任何教科书可以提供,因为只有很少的理论。正常化有一个很长的道路,有时特征需要提前对数。每当你可以消除一些自由度,你就可以显著地减少你所需要训练的数据量。

有时候发现这些类型的转化是很容易的。例如如果你正在做手写字符的识别,如果有前景色和背景色的区别,字符的颜色就会变的很重要。

教科书往往只提供一些看起来很强大的方法,你需要用数据测试一下就能得出结果,这也可能是从理论观点和数据源来说是对的,但是在现实中,数据和我们的时间是有限的,所以寻找大信息量的特点是非常有必要的。

三、选型大多数是看周期,而不是数据集的大小。

你不想在大数据时代过多的表达自己的观点,但是大多数数据会完美的融入你的主内存。你的方法可能不会在跑数据上花费很长时间,但是你会花很多时间从原始数据中提取出特征,进行交叉验证。为你的学习方法比较不同特征提取管道和参数。

对于模型的选择,你可以通过大量的参数组合,评估一个相同的数据副本的性能。现在的问题就是所有的组合爆炸,比方说你有两个参数,它需要大约一分钟来训练你的模型,并获得一个结果来评估数据集的性能。如果每一个参数有5个候选数值,并且执行5倍交叉验证(把数据分割成5部分,测试5次,在每次迭代中使用不同的数据来测试),这意味着你需要运行25次来找出哪种方法的效果更好,这可能需要花费两个小时的时间。

好消息是这是很容易并行化的,因为不同的运行是完全相互独立的。这同样适用于特征提取,您通常使用相同的操作(解析,提取,转换等),以每个数据独立设置,导致一些“ 密集并行”(是的,这是一个技术术语)。

坏消息是这对做数据分析的人来说是很多的,因为所有的这些意味着对复杂办法实现拓展实现是没有什么需求的,但是对于储存的并行数据运用一些相同的算法在大多数情况下都非常有帮助。

最后有很多数据并不意味着你需要所有的数据,问题是有关于潜在学习问题的复杂性。如果这个问题可以用一个简单的模型解决,你就不需要用那么多的数据来推断模型的参数。这种情况下,采用数据的随机子集可能会有很大的帮助。正如我上面所说的,有时候正确的共您可以帮助他们减少所需要的数据点的数量。

总之知道如何正确的评价可以帮助你减少一个方法不能应用与未来数据的风险。获取正确的特征提取可能是最有效的方法来获得最好的结果。最后。并不总是大数据,分布式计算也可以帮助你。

转自:中国统计网;作者:hong。

原文链接:http://www.itongji.cn/article/052045542015.html

原文发布于微信公众号 - 数据的力量(shujudeliliang)

原文发表时间:2015-06-22

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据科学与人工智能

【陆勤阅读】三个你在书中无法学到的数据分析知识

在大数据特别热门的今天,出现了各种培训课程。但我发现这些课程的重点都放在算法的学习上。如何理解logistic回归或深度学习的确很酷,但一旦你开始处理数据,你会...

1947
来自专栏AI科技评论

大会直击|微软亚洲研究院刘铁岩:深度学习成功的秘密

9月9日,2016湖南人工智能湖南论坛在长沙举办,大会期间,来自国内外的许多顶级专家在会上给我们做了报告,下面是雷锋网根据微软亚洲研究院刘铁岩教授的现场精华整理...

3316
来自专栏数据科学与人工智能

【数据科学】数据科学经验谈:这三点你在书里找不到

什么样的处理才算是正确的处理呢?为了目的不择手段?只要得到好的预测性能就万事大吉?事实确实如此,但是这么做的关键在于,你能确保未知数据也能有个不错的表现。就像我...

28210
来自专栏ATYUN订阅号

伯克利人工智能研究:针对深度神经网络的物理对抗例子

? 深度神经网络(DNNs)在各种应用领域都取得了巨大的进展,包括图像处理、文本分析和语音识别。深度神经网络也被作为许多网络物理系统的重要组成部分。例如,自动...

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

数据科学教材没有教给你的三件事

有问题直接微信我吧! 大家好,PPV课大数据微信开通了人工客服,大家有问题可以在工作时间:9:00-18:00直接通过微信与客服联系! ? 如果你还没有听说的话...

2794
来自专栏钱塘大数据

揭秘丨反人脸识别,身份欺骗成功率达99.5%

在一些社交媒体平台,每次你上传照片或视频时,它的人脸识别系统会试图从这些照片和视频中得到更多信息。比如,这些算法会提取关于你是谁、你的位置以及你认识的其他人的数...

641
来自专栏新智元

【卷积神经网络失陷】几行Python代码搞定,偏要用100个GPU!

【新智元导读】Uber近日一篇论文引起许多讨论:该论文称发现卷积神经网络一个引人注目的“失败”,并提出解决方案CoordConv。论文称CoordConv解决了...

1210
来自专栏鸿的学习笔记

《machine learning yearning》学习笔记

一、如何选择机器学习策略 一个例子:当你的团队在使用cat图片去喂神经网络,让它去识别出一只cat.但是你的算法的精确度(accuracy)一直没办法提高。 下...

1041
来自专栏新智元

谷歌大脑研发出通用永久记忆模块,神经网络首次实现终身学习

【新智元导读】今天为大家介绍的这篇论文提出了一个在深度学习过程中使用的终身记忆模块,该模块利用快速最近邻算法来提高效率。这一记忆模块可以很容易地添加到有监督神经...

3266
来自专栏CDA数据分析师

教你3个书中无法学到的数据分析知识

在大数据特别热门的今天,出现了各种培训课程。但我发现这些课程的重点都放在算法的学习上。如何理解logistic回归或深度学习的确很酷,但一旦你开始处理数据,你会...

1809

扫码关注云+社区