首页
学习
活动
专区
工具
TVP
发布

机器学习训练三原则

当下,越来越多的企业开始使用数据挖掘与机器学习的技术对数据本身创造价值。传统的数据挖掘流程包括:商业理解、数据理解、数据准备、模型构建、模型评估、模型部署。无论对于数据挖掘的新手还是专家,数据挖掘的核心重点都集中在数据和模型上。从如何理解数据、准备数据、处理数据到如何构建模型、评估模型、优化模型,这些都让无数的数据挖掘专家绞尽脑汁。每当专家们谈论起数据挖掘或是机器学习,人们的第一反应总是自己学习过哪些算法,并对哪些算法进行过实践应用。而对于初学数据挖掘的新手而言,他们的学习重点也是在学习不同先进的算法上。然而机器学习背后的核心思想却很少有人提及。

其实在机器学习的学习路径中,应该分为两个部分:机器学习导论机器学习。许多国内外大学计算机专业所开设的课程中,机器学习相关的课程大体也分为这两种。也许有人会认为前者比后者要容易一些,因为导论更多是一些泛化的概念,而没有太多具体的实践。然而事实却不是这样。机器学习导论学习的其实是机器学习的核心思想,这些思想是凌驾于现实中的数据或者是算法之上的,而支撑这些思想的工具是数学。所以在学习机器学习导论的时候,必须要学生具备强大的数学功底,其中包括微积分、线性代数、离散数学等等。而在学习机器学习的时候,往往侧重的是实践。这与大部分的计算机语言课程差不多,并不一定要弄懂原理就通过实践可以得到结果。因此,人们往往忽略了机器学习背后原理的学习,而更多侧重于机器学习算法或者实践的学习。

机器学习导论,是机器学习的思想和灵魂,是引领着我们进行机器学习或者数据挖掘的指南。在学习机器学习导论的时候,不同于学习具体的某个模型,我们可以知道模型背后的一些高阶的概念,比如模型复杂度、VC维度等等;我们也可以知道为什么会出现过拟合的现象,以及如何处理过拟合;我们可以更好的理解学习曲线,了解样本数与模型误差之间的关系或者模型复杂度与模型误差的关系;我们还可以对训练集和测试集乃至验证集有更直观的认知,对机器学习的过程有更清晰更全面的理解。

本文将要谈论的是机器学习导论中最为简单直观,但同时又是贯穿机器学习中最为重要的机器学习三原则。这三个原则是由Yaser S. Abu-Mostafa、Malik Magdon-Ismail及Hsuan-Tien Lin发表的《Learning From Data——A Short Course》(后简称LFD)一书中提出的,其中包括奥卡姆剃刀原则、抽样偏差和数据窥探。这三个原则可谓是机器学习的潜规则,适用于所有机器学习的过程,无论是监督学习、非监督学习或者是强化学习。下文将对机器学习三原则进行详细的描述。

奥卡姆剃刀原则(Occam's Razor)

其实在很早之前,机器学习就有所应用。最为家喻户晓的例子就是二十四节气。在古代,人们通过观察天气气候的变化,从一些潜在的“数据”中总结出一些规律,而利用这些规律人们实现了对天气的预测。机器学习本质是一个归纳总结的过程。而这种思想的形成,远早于机器学习的形成。很多东西方哲学家的思想,其实是适用于机器学习本身的。其中最为有名的就是奥卡姆剃刀原则。这个原理称为“如无必要,勿增实体”,即“简单有效原理”。爱因斯坦曾经说过:

An explanation of the data should be made as simple as possible, butno simpler.

在机器学习领域中认为:

The simplest model that fits the data is also the most plausible.

在机器学习中,我们往往希望得到的是一个简单而可行的模型,而不是一个复杂的模型。所谓可行,指的是该模型的准确度在某种背景下是可以被接受的,而不是指需要达到一个硬性的指标。这种思想从过拟合的角度来讲最容易解释。当模型复杂度变高,训练的准确度确实也会变高,但是同时也会产生过拟合的情况,导致模型本身不具备一般普遍性。模型的准确度有许多办法可以提升。我们可以通过对数据进行更优化的处理、或者对模型进行更深入的优化、或者使用嵌入式学习来提高模型准确度,而其中最不明智的选择便是增加模型的复杂度。因为一旦增加了模型复杂度,在数据量一定的情况下,过拟合的概率会大大增加。而从实践的角度来说,增加模型复杂度也会增加大量的计算时间,效率会因此而大幅降低。模型的复杂度又与数据量是息息相关的。在现实实践中,我们的数据量相比于真实情况相对来说往往是极少的,况且我们不能左右数据量的情况。所以我们只能限制模型的复杂度、采用更简单的模型来得到更为优化的模型。

现今比较主流的几种嵌入式算法:随机森林、AdaBoost、XGBoost等,都是通过多次重复使用复杂度较低的弱学习器进行训练,来提高最终的模型准确度。奥卡姆剃刀定律说的是,切勿浪费较多东西去做,用较少的东西,同样可以做好的事情。假设有一个简单的模型,如果它可以很好的区分一组数据,那么说明这组数据确实是存在某种规律性。《LFD》书中作者Yaser说,“A fit means nothing”。我们不能一味的迎合数据,而去让模型向数据靠拢,我们需要用模型来做主导,使得模型贴合数据。秉持着这种理念,我们可以大大的减少过拟合的现象,使得我们的模型更加具有一般普遍性,同时也可以大大的提高效率。

抽样偏差(Sampling Bias)

机器学习需要两种数据集:训练集和测试集。往往训练集中还会分为训练集和验证集。当我们在对原始数据组进行抽样分组的时候,一定要注意抽样偏差这个概念。如果抽样的数据是有偏差的,那么学习的效果也是有偏差的,这种情形称作是抽样偏差。

If the data issampled in a biased way, learning will produce a similarly biased outcome.

在实际情况中,我们需要训练数据和测试数据需要来自同一分布。为了避免这样的问题,我们可以做的是要了解测试环境,让训练环境或者说是训练数据和测试环境尽可能的接近。

抽样偏差很容易理解,但是往往很容易被忽略,甚至有时候发生抽样偏差我们也毫不知情。在现实生活中也出现过这样的故事。1948年,美国进行总统竞选,竞选人为Truman和Dewey。在美国民众进行投票之后,一家报社公司为了率先预测竞选结果,于是给许多美国公民打电话询问自己的投票情况。在收集统计之后,该报社宣布Dewey以决定性的优势获选美国总统。然而峰回路转,几周后,当政府公布投票结果时,Truman却获选了美国总统。下图为Truman拿着“假新闻”进行获选宣讲。

假设该报社公司收集的数据绝对真实,那么为何结果却大相径庭呢?后来人们发现,当时在1948年,美国拥有电话的家庭都属于非常富有的家庭。所以报社所询问的结果仅仅能代表当时有钱人家的想法,并不能代表普通民众的想法。而富人往往是少数的,这才导致了最后Truman的逆转。

为了避免抽样偏差,最好的办法就是抽样符合数据分布情况。举个简单的例子,一份信用卡记录数据中有90%的通过记录,有10%的未通过记录。我们则需要在取样时让我们的样本也符合90%的通过记录及10%的未通过记录。简而言之,无论是训练集或是测试集,无论数据量大或小,我们都需要做到心中有数,考虑周到,将抽样偏差尽可能控制到最小。

数据窥探(Data Snooping)

当我们在使用数据任何过程都是间接的窥探了数据,所以我们在下决策使用什么模型的时候,这些数据可能已经被我们头脑中的模型复杂度所污染。而往往我们头脑中所想象的模型并不是最正确的。数据窥探会干扰我们的思维,导致最后模型的准确度较低或者不具备一般普遍性。

If a data sethas affected any step in the learning process,

its ability toassess the outcome has been compromised.

举一个简单的例子,如果一个屋子里有367个人,至少会有两个人是同一天的生日。假设这两个人是Mary和John。于是我们会下意识的认为他们两个人存在某种潜在的关系,我们开始研究:他们是否是367人中最年轻或者最老的?他们是不是有同样的姓或者名?他们是不是曾经见过?他们各自的父母会不会彼此认识?他们的血型是不是一样的?也许存在着成千上万种可能的猜测,然而事实上符合Mary和John的猜测寥寥无几。在这种情况下,我们窥探到数据本身,会不自觉的产生某种假设,而这些假设会形成一种思维定势,使得我们的模型构建被干扰,最终导致我们的预测不准确。就像我们会认为上学如果有和自己相同年月日的同学,必然会有共同爱好,会成为好朋友。然而往往我们的假设过于片面,并不没有潜在合理的关系或者逻辑。

再举一个例子,如果我们看到下图,会不自主的想到用一个圆形作为模型去训练数

据。

然而我们看到的也许只是数据的一小部分,也许这些数据可以本身需要用线性模型来划分,这些蓝点只是一些无法被划分的数据点或者噪音数据。所以我们千万不能被我们所看见的数据所局限。我们可以看数据,但是当我们确定模型的时候,我们要忘记数据,不被数据所干扰,从整体的数据来进行分析并做出决策。

总结

当我们进行机器学习或者数据挖掘的时候,我们需要充分考虑机器学习的核心思想。其中最为重要的便是机器学习三原则:奥卡姆剃刀原则、抽样偏差和数据窥探。第一个原则非常好理解,模型应当选择简单有效即可。后面两个原则,往往有人会觉得矛盾,抽样偏差需要我们根据数据分布来对数据分组,而数据窥探不允许我们窥探数据。这其实是有各自的场景的。我们是根据数据来选择模型的,模型和数据是不可分离的。当我们进行抽样的时候,我们是在划分数据组,而我们需要有整体数据的分布,并不会被局部数据所主导思想。而当我们进行模型选择的时候,我们则不能因局部或者少数的数据,妄下结论,确定模型。

机器学习的三原则不单是机器学习的核心思想,同时也可以指导我们进行机器学习。每当我们需要模型选型或者进行模型优化,发现模型达不到预期理想的准确度,我们可以从这三个原则出发,进行进一步的规划和优化。

同时,推荐一下由YaserS. Abu-Mostafa、Malik Magdon-Ismail及Hsuan-Tien Lin共同出版的的《Learning From Data——A Short Course》一书。这本书非常详细的讲述了机器学习的思想过程,其中虽然有大量枯燥的数学计算,但是对整体机器学习背后的原理有非常详细的阐述。同时还从理论的角度描述了几种当前主流的算法,供读者从更为学术严谨的角度进行机器学习的学习。

团队介绍:我们是毕马威旗下的专业数据挖掘团队,微信公众号(kpmgbigdata)每周六晚8点准时推送一篇原创数据科学文章。我们的作品都由项目经验丰富的博士或资深顾问精心准备,分享结合实际业务的理论应用和心得体会。欢迎大家关注我们的微信公众号,关注原创数据挖掘精品文章;您也可以在公众号中直接发送想说的话,与我们联系交流。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190107G00CMF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券