在大数据特别热门的今天,出现了各种培训课程。但我发现这些课程的重点都放在算法的学习上。如何理解logistic回归或深度学习的确很酷,但一旦你开始处理数据,你会发现还有其他的东西更为重要。
我在大学里教了很多年的深度学习,这些课程和讲座总是特别注重特定的算法,你学习支持向量机器、高斯混合模型的聚类、k-均值等等,但是只有在你写硕士论文的时候你需要用到这些方法。
那么什么才是正确的呢?关键就是你要保证你做的模型对于未来的数据也能有好的表现。所以我在这里教你三个书本不能教给你的知识。
一、对模型的有正确的认识是关键
数据分析、机器学习或是数据科学(总之是这个领域)的主要目的,就是建立一个能预测未来数据的系统。在普通情况中,你很难发现监督学习(例如分类)和无监督学习(例如聚类)之前的区别,你通常会使用你构建和设计的方法去搜集一些数据,但最终你希望你设计的模型可以应用到未来的数据,并且确保该模型行之有效,可以同你对原始数据的测验结果相同。
初学者经常会犯的一个错误就是,只看到了已有数据的表现,就认为这对未来数据是适用的。很不幸的是事实通常不是这样。例如在一个监督学习的案例中,任务是根据你的输入输出的行为来预测,例如把电子邮件分为垃圾邮件和非垃圾邮件。
如果你只考虑训练数据,那么对机器来说很容易返回完美的预测结果,只是通过死记硬背就可以。机器因为其容量大,可以存储和检索大量的数据,但这导致过度拟合,缺乏概括。
所以适当的评估方式是通过分割数据,分析一个部分,然后预测其他部分来模拟未来的结果。通常,训练部分是庞大的,过程也要重复数次,以获得几个数字来看看什么才是合适的方法,这个过程称为交叉验证。
尽管方法看起来如此可靠,还是经常会发生错误,特别是当数据是不稳定时,例如数据的基础分布会随时间变化,在现实中这是经常发生的,6月的销售数字和12月的就会有很大不同。或者数据点之间具有大量相关性,也就是说,如果你知道一个数据点意味着你已经知道了很多关于另一个数据点的信息。例如,股票价格通常在一天之内会从一个价格跳到另一个价格,如果你搜集这些数据,并做了测试,很可能会推导出和它有相关性的数据。
湘ICP备2022002427号-10湘公网安备:43070202000427号
© 2013~2019 haote.com 好特网