原文出处:https://www.zhihu.com/question/267135168/answer/329318812算法
以前前读过一次这篇知乎文章,如今再次读来,感觉很深,特别是妥协和矛盾,说的不就作推荐的人的平常工做么,泪奔。网络
再次摘抄下来,方便之后再读机器学习
不只仅是机器学习,大部分理工科的思想均可以从文史学科的角度去理解。正所谓大道至简,不少道理是共通的**。本文的内容是从哲学角度看待机器学习。文章的结构以下:ide
(No Free Lunch Theorem / NFL定理)性能
NFL定理由Wolpert在1996年提出,其应用领域本来为经济学。咱们耳熟能详的“天下没有免费的午饭”最先是说,十九世纪初不少欧美酒吧和旅店为了提高销售额向顾客提供免费的三明治,而客人贪图免费的三明治却意外的买了不少杯酒,酒吧从而获利更多了,以此来教育你们不要贪小便宜吃大亏。和那句家喻户晓的"天下没有免费的午饭"有所不一样, NFL讲的是优化模型的评估问题。学习
在机器学习领域,NFL的意义在于告诉机器学习从业者:"假设全部数据的分布可能性相等,当咱们用任一分类作法来预测未观测到的新数据时,对于误分的预期是相同的。" 简而言之,NFL的定律指明,若是咱们对要解决的问题一无所知且并假设其分布彻底随机且平等,那么任何算法的预期性能都是类似的。优化
这个定理对于“盲目的算法崇拜”有毁灭性的打击。例如,如今不少人沉迷“深度学习”不可自拔,那是否是深度学习就比其余任何算法都要好?在任什么时候候表现都更好呢?未必,咱们必需要加深对于问题的理解,不能盲目的说某一个算法能够包打天下。然而,从另外一个角度说,咱们对于要解决的问题每每不是一无所知,所以大部分状况下咱们的确知道什么算法能够获得较好的结果。举例,咱们若是知道用于预测的特征之间有强烈的相关性,那么咱们能够推测Naive Bayes(简单贝叶斯分类器)不会给出特别好的结果,由于其假设就是特征之间的独立性。设计
在某个领域、特定假设下表现卓越的算法不必定在另外一个领域也能是“最强者”。正因如此,咱们才须要研究和发明更多的机器学习算法来处理不一样的假设和数据。George Box早在上世纪八十年代就说过一句很经典的话:"All models are wrong, but some are useful(全部的模型的都是错的,但其中一部分是有用的)。" 这也能够理解为是NFL的另外一种表述。周志华老师在《机器学习》一书中也简明扼要的总结:“NFL定理最重要的寓意,是让咱们清楚的认识到,脱离具体问题,空泛的谈‘什么学习算法更好’毫无心义。”rem
奥卡姆剃刀定理(Occam's Razor - Ockham定理)get
奥卡姆剃刀是由十二世纪的英国教士及哲学家奥卡姆提出的:“ 如无必要,勿增实体”。用通俗的语言来讲,若是两个模型A和B对数据的解释能力彻底相同,那么选择较为简单的那个模型。在统计学和数学领域,咱们偏好优先选择最简单的那个假设,若是与其余假设相比,其对于观察的描述度一致。
奥卡姆剃刀定理对于机器学习的意义在于它给出了一种模型选择的方法,对待过拟合问题有必定的指导意义。就像我在其余文章中提到的过的,若是简单的线性回归和复杂的深度学习在某个问题上的表现类似(如相同的误分率),那么咱们应该选择较为简单的线性回归。
Murphy在MLAPP中用Tenenbaum的强抽样假设(strong sampling assumption)来类比奥卡姆剃刀原理。首先他给出了下面的公式,Pr(D|h)表明了咱们重置抽样(sampling with replacement)N次后获得集合D时,某种假设h为真的几率。Pr(D|h)=\left[ \frac{1}{size(h)} \right]^N=\left[ \frac{1}{|h|} \right]^NPr(D∣h)=[size(h)1]N=[∣h∣1]N举例,咱们有0~99共100个数字,每次从其中随机抽出一个数字并放回,重复抽取N次。若随机抽了并放回了5次,咱们抽出了{ 2, 4, 8, 16, 32 },因而咱们想要推断抽取到底遵循什么规则。咱们有两种假设:
根据上文给出的公式进行计算,咱们发现Pr(D|h2)远大于Pr(D|h1),即咱们相信D = { 2, 4, 8, 16, 32 }从h2:{ 2^n }中产生的可能更大,可是h1:{ 2, 4, 6, 8, ... ,98 }彷佛也能解释咱们的结果。这个时候咱们就应选择几率更高的那个。
从奥卡姆剃刀角度思考的话,h2:{ 2^n }在0~99中只有5个知足要求的元素,而h1:{ 2, 4, 6, 8, ... ,98 }却有50个知足要求的元素。那么h2更加简单,更加符合尝试,选择它:)
提供这个例子的缘由是为了提供一个量化方法来评估假设,其与奥卡姆剃刀有相同的哲学内涵。有兴趣的读者应该会发现奥卡姆剃刀的思想与贝叶斯推断是一致的,更细致的讨论能够看刘未鹏 | Mind Hacks关于贝叶斯推断的介绍。
但读者应该注意,奥卡姆剃刀定理只是一种对于模型选择的指导方向,不一样的选择方向如集成学习(Ensemble Learning)就给出了近似相反的选择标准。现实世界是很是复杂的,切勿滥用。
集成学习(Ensemble Learning)的哲学思想是“众人拾柴火焰高”,和其余机器学习模型不一样,集成学习将多个较弱的机器学习(臭皮匠)模型合并起来来一块儿决策(诸葛亮)。比较常见的方法有多数投票法(majority vote),即少数服从多数。若是咱们有10个"子分类器"经过一我的的疾病史来推断他能活多大,其中8个说他会活过200岁,其中2个说他在200岁前会死,那么咱们相信他能够活过200岁。
集成学习的思想无处不在,比较著名的有随机森林等。从某种意义上说,神经网络也是一种集成学习,每一个单独的神经元均可以看作某种意义上的学习器。
相信敏锐的读者已经发现,集成学习彷佛和前面提到的奥卡姆剃刀定理相违背。明明一个分类模型就够麻烦了,如今为何要作更多?这其实说到了一个很重要观点,就是奥卡姆剃刀定理并不是不可辩驳的真理,而只是一种选择方法。从事科学研究,切勿相信有广泛真理。人大的周孝正教授曾说:"若一件事情不能证明,也不能证伪,就要存疑。" 恰巧,奥卡姆定理就是这样一种不能证明也不能证伪的定理。
而集成学习的精髓在于假设“子分类器”的错误相互独立,随着集成中子分类器的数目上升,集成学习后的"母分类器"的偏差将会以指数级别降低,直至为0。然而,这样的假设是过度乐观的,由于咱们没法保证"子分类器"的错误是相互独立的。以最简单的Bagging为例,若是为了使k个子分类器的错误互相独立,那么咱们将训练数据N分为k份。显然,随着k值上升,每一个分类器用于训练的数据量都会下降,每一个子训练器的准确性也随之降低。即便咱们容许训练数据间有重采样,也仍是没法避免子分类器数量和准确性之间的矛盾。周志华老师曾这样说:"个体学习的准确性和多样性自己就存在冲突,通常的,准确性很高后,想要增长多样性,就得要牺牲准确性。事实上,如何产生并结合好而不一样个体学习器,恰是集合学习的研究核心。"
细分集成学习的话,也有两种截然相反的设计思路:
思路1:每一个子学习器都是弱分类器,在融合后达成为一个强力的主体。表明算法:随机森林
每一个子学习器都是
强
分类器,融合过程当中可能:
不难看出,思路1和3虽然指望的子学习器不一样(弱vs.强),但都比较公平作到了一视同仁,和民主很像。而思路2不一样,更增强调自由(或是专制),选出最强的那一个,让它说了算。
让一堆子学习器集体作决定的缺陷在于低效,容易被平庸的子学习器拖了后腿。而信赖最强者的缺点在于缺少稳定性,上限能够很高,下限也能够很低。
试问集成学习到底该选择哪条路?没有答案,但实用主义告诉咱们哪一个好用用哪一个,要结合具体状况进行分析。
不少统计学习领域的小伙伴们都知道从统计学角度出发,对于几率有两种不一样的认知。对于不熟悉的读者来讲,不管是机器学习仍是统计学习都是一种寻找一种映射,或者更广义的说,进行参数估计。以线性回归为例,咱们获得结果仅仅是一组权重。
若是咱们的目标是参数估计,那么有一个没法回避的问题...参数到底存不存在?换句话说,茫茫宇宙中是否处处都是不肯定性(Uncertainty),而所以并不存在真实的参数,而一切都是处于运动当中的。
频率学派(Frequentism)相信参数是客观存在的,虽然未知,但不会改变。所以频率学派的方法一直都是试图估计“哪一个值最接近真实值”,相对应的咱们使用最大似然估计(Maximum Likelihood Estimation),置信区间(Confidence Level),和p-value。所以这一切都是体现咱们对于真实值估算的自信和可靠度。
而贝叶斯学派(Bayesian)相信参数不是固定的,咱们须要发生过的事情来推测参数,这也是为何总和先验(Prior)及后验(Posterior)过不去,才有了最大后验(Maximum a Posteriori)即MAP。贝叶斯学派最大的优点在于认可未知(Uncertainty)的存在,所以感受更符合咱们的常识“不可知论”。今后处说,前文提到的周孝正教授大概是贝叶斯学派的(周教授是社会学家而不是统计学家)。
据我不权威观察,很多统计学出身的人倾向于频率学派而机器学习出身的人更倾向于贝叶斯学派。好比著名的机器学习书籍PRML就是一本贝叶斯学习,而Murphy在MLAPP中曾毫无保留的花了一个小节指明频率学派的牵强之处。
就像豆腐脑是甜的仍是咸的,这样的问题仍是留给读者们去思考。须要注意的是,两种思想都在现实中都有普遍的应用,切勿以偏概全。更多的思考能够看这篇知乎讨论:贝叶斯学派与频率学派有何不一样? - 知乎
从哲学角度来看,频率学派和贝叶斯学派间的区别更像是在讨论“形而上学”以及“不可知论”。和咱们高中课本中提到的的“二分法”思想彷佛也有必定的联系。
在接触机器学习的早期阶段,时间每每都花在了研究算法上。随着学习的深刻,相信你们会慢慢发现其实算法思想的精髓是无处不在的妥协。本文只能涉及到几种“矛盾”和“妥协”,更多的留给你们慢慢发掘和思考:)好比,本文未敢涉及到“统计学习”和“机器学习”之间的区别,也是一种妥协:模型可解释性与有效性的妥协。无处不在的妥协还包含“模型精度”和“模型效率”的妥协,“欠拟合”和“过拟合”的平衡等。
大部分科学,好比数学仍是物理,走到必定程度,都是妥协,都有妥协带来的美感。这给咱们的指导是:当咱们听到不一样的想法的时候,反驳以前先想想,不要急着捍卫本身的观点。而相反的两种观点,在实际状况下却每每都有不俗的效果,这看似矛盾但倒是一种和谐。
所以,当面对纷杂的信息,各类似是而非的解释与结论时。最重要的不是急着发表观点,而是静下来慢下来,不要放弃思考。只有独立的思考,才能最终帮助咱们摆脱重重迷雾,达到所追寻的真理。