随机森林算法
个体学习器
个体学习器又称为基学习器(base learner),由单个的学习算法训练数据得到,比如“决策树算法”,“神经网络算法”等等。在不正式的说法下,基学习器,弱学习器,弱分类器,个体学习器说的都是一个东西。
集成学习
常言道:“一个篱笆三个桩,一个好汉三个帮”。集成学习模型便是综合考量多个学习器的预测结果,从而做出决策。
集成学习的核心
如何产生“好而不同”的个体学习器,并准确性和多样性上做出最好的选择,正是集成学习的核心
假设现在用5个个体学习器做集成,最终结果用投票法产生,即少数服从多数。当个体学习器差异性不足的话,考虑一个极端例子,5个个体学习器都是由同一个学习器,复制而来,那么,5个学习器的预测结果和一个学习器预测结果完全相同,就达不到集成学习的目的了。因此,个体学习器应该“好而不同”,既要保证个体学习器的“准确性”,还要保证不同学习器之间的“多样性”。然而,准确性和多样性是冲突,在准确性和多样性上如何选择,才是集成学习需要解决的问题。
集成学习分类
集成学习分两种:
(1)模型之间彼此存在依赖关系,按一定的次序搭建多个分类模型,一般后一个模型的加入都需要对现有的集成模型有一定贡献,进而不断提高更新过后的集成模型性能,并借助多个弱分类器搭建出强分类器。代表有Boosting(AdaBoost)算法。该算法与第一种的随机森林主要区别在于每一颗决策树在生成的过程中都会尽可能降低模型在训练集上的拟合或训练误差
(2)模型之间彼此不存在依赖关系,彼此独立。利用相同的训练数据同时搭建多个独立的分类模型,然后通过投票的方式,以少数服从多数的原则做出最终的分类决策。例如:Bagging和随机森林(Random Forest).
Boosting
Boosting是一族可将弱学习器升为强学习器算法。这类算法的工作机制类似:
(1)先从初始训练集训练出一个基学习器
(2)在根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续得到最大的关注。
(3)然后基于调整后的样本分布来训练下一个基学习器;
(3)如此重复进行,直至基学习器数目达到实现指定的值T为止。
(4 )再将这T个基学习器进行加权结合得到集成学习器。