集成学习背后的思想是将不同的分类器进行组合得到一个元分类器, 这个元分类器相对于单个分类器拥有更好的泛化性能比如, 假设我们从 10 位专家那里分别得到了对于某个事件的预测结果, 集成学习能够对这 10 个预测结果进行组合, 得到一个更准确的预测结果
后面我们会学到, 有不同的方法来创建集成模型, 这一节我们先解决一个基本的问题: 为什么要用集成学习? 她为什么就比单个模型效果要好呢?
本书是为初学者打造的, 所以集成学习这里我们也只关注最基本的集成方法: 投票法 (majority voting) 投票法意味着我们在得到最后的预测类别时, 看看哪个类别是大多数单分类器都预测的, 这里的大多数一般是大于 50% 更严格来说, 投票法只适用于二分类, 当然他很容易就扩展到多分类情况: 多数表决(plurality voting).
下图展示了一个投票法的例子, 一共 10 个基本分类器:
我们先用训练集训练 m 个不同的分类器 , 这里的分类器可以是决策树 SVM 或者 LR 等我们当然也可以用同一种分类器, 只不过在训练每一个模型时用不同的参数或者不同的训练集(比如自主采样法) 随机森林就是一个采用这种策略的例子, 它由不同的决策树模型构成这图展示了用投票策略的集成方法步骤:
投票策略非常简单, 我们收集每个单分类器 的预测类别 , 将票数最多的 作为预测结果:
以二分类为例, 类别 class1=-1, class2=+1, 投票预测的过程如下, 把每个单分类器的预测结果相加, 如果值大于 0, 预测结果为正类, 否则为负类:
读到这里, 我想大家都有一个疑问: 凭啥集成学习就比单分类器效果好? 道理很简单(一点点组合数学知识), 假设对于一个二分类问题, 有 n 个单分类器, 每个单分类器有相等的错误率, 并且单分类器之间相互独立, 错误率也不相关 有了这些假设, 我们可以计算集成模型的错误概率:
如果 n=11, 错误率为 0.25, 要想集成结果预测错误, 至少要有 6 个单分类器预测结果不正确, 错误概率是:
集成结果错误率才 0.034 哦, 比 0.25 小太多继承结果比单分类器好, 也是有前提的, 就是你这个单分类器的能力不能太差, 至少要比随机猜测的结果好一点, 至少
从下图可以看出, 只要单分类器的表现不太差, 集成学习的结果总是要好于单分类器的
来源: http://www.bubuko.com/infodetail-2524759.html