实战二十二:集成学习实战:基于集成学习方法完成鸢尾花卉品种预测详细教程

1 集成学习

集成学习不是一种算法,而是一种算法框架,将多种基础算法集合在一起共同决策。

例如以分类器为例,现在学习了多个分类器 $f_1(x),f_2(x),f_3(x),...,$ 同时这些分类器要具有差异度,这里的差异度就像《王者荣耀》里的5个位置一样,各司其职,相辅相成,然后再用某种策略将这多个分类器应用到数据当中,共同决策最后的分类结果,以取得比单个分类器都要好的分类能力。在以往很多数据挖掘比赛中,集成学习往往是夺得冠军的秘诀之一。

集成学习可以分为两类,一类是降低了模型方差,如Bagging(Boostrop Aggregating);另一类是降低了模型偏差,如Boosting和stacking。

1.1.1 偏差和方差

在讲Bagging和Boosting之前,首先简单讲下模型的偏差和方差,如图1.1所示。

有监督学习算法中,模型的泛化误差来源于偏差和方差。

  • 偏差:当我们在所有采样的数据集中训练出多个模型,这些模型的输出期望值和真实模型的输出之间的差距,也就是图1.1中靶心和射击的期望得分之间的差距。一般偏差过大是因为假设的模型过于简单,从而无法准确拟合训练数据导致的。因而想要偏差较小,可以选择复杂的模型来拟合数据。

  • 方差:当我们在所有采样的数据集中训练出多个模型,这些模型的输出方差。当模型的输出较为集中时,此时模型的方差较小;当模型的输出较为分散时,此时模型的方差较大。一般模型越复杂的时候,会带来过拟合问题,从而使得模型在测试数据集上表现不佳,即方差较大。

你可能感兴趣的:(机器学习实战100例,集成学习,人工智能,python,算法)