《Python机器学习——预测分析核心算法》——1.3 什么是集成方法

本节书摘来异步社区《Python机器学习——预测分析核心算法》一书中的第1章,第1.3节,作者:【美】Michael Bowles(鲍尔斯),更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 什么是集成方法

本书涵盖的另一类算法就是集成方法(ensemble methods)。集成方法的基本思想是构建多个不同的预测模型,然后将其输出做某种组合作为最终的输出,如取平均值或采用多数人的意见(投票)。单个预测模型叫作基学习器(base learners)。计算学习理论(computation learning theory)的研究结果证明只要基学习器比随机猜测稍微好些(如果独立预测模型的数目足够多),那么集成方法就可以达到相当好的效果。

研究人员注意到某些机器学习算法输出结果不稳定,这一问题导致了集成方法的提出。例如,在现有数据集基础上增加新的数据会导致最终的预测模型或性能突变。二元决策树和传统的神经网络就有这种不稳定性。这种不稳定性会导致预测模型性能的高方差,取多个模型的平均值可以看作是一种减少方差的方法。技巧在于如何产生大量的独立预测模型,特别是当它们都采用同样的基学习器时。第6章将深入讨论这是如何做到的。方法很巧妙,理解其运作的基本原理也相对容易。下面是其概述。

集成方法为了实现最广泛的应用通常将二元决策树作为它的基学习器。二元决策树通常如图1-3所示。图1-3中的二元决策树以一个实数x作为最初的输入,然后通过一系列二元(二值)决策来决定针对x的最终输出应该是何值。第1次决策是判断x是否小于5。如果回答“no”,则二元决策树输出值4,在由决策的方框下面标为“No”的分支引出的圆圈内。每个可能的x值通过决策树都会产生输出y。图1-4将输出y画为针对决策树的输入x的函数。

《Python机器学习——预测分析核心算法》——1.3 什么是集成方法

由此产生的问题是:这些比较值是如何产生的(如例子中的x<5?),输出的值是如何确定的(图1-3决策树底部圆圈中的值)。这些值都来自于基于输入数据的二元决策树的训练。训练算法不难理解,在第6章会详细叙述。需要注意的很重要的一点是给定输入数据,训练所得的二元决策树的这些值都是确定的。一种获得不同模型的方法是先对训练数据随机取样,然后基于这些随机数据子集进行训练。这种技术叫作投票[bagging,来自于自举集成算法(bootstrap aggregating)的简化说法]。此方法可以产生大量的具有稍许差异的二元决策树。这些决策树的输出经过平均或投票产生最终的结果。第6章将描述此项技术的细节和其他更有力的工具。

上一篇:在PHP中使用全局变量【一】


下一篇:解密阿里数据库女程序员梓仪、璇戈、依诺代码诗!