一、集成学习概论
集成学习(Ensemble learning)通过构建并结合多个学习器来完成学习任务,实际上,就是“三个臭皮匠顶个诸葛亮”的道理。
集成学习通过将多个学习器进行结合,常可获得比单一学习器显著优越的泛化能力。这对“弱学习器(weak learner)”尤为明显,因此集成学习的很多理论研究都是针对弱学习器进行的,而基学习器有时也被称为弱学习器。
一般根据弱学习器有无依赖关系,大体分为两个流派Boosting和Bagging
a.Boosting:弱学习器之间有依赖关系,常见的算法有Adaboost,GBDT,Xgboost。
b.Bagging:弱学习器之间无依赖关系,常见的算法有随机森林(RandomForest)。
二、提升树模型
以决策树为基函数的提升方法称为提升树(boosting-tree),对于分类问题决策树是二叉分类树,对回归问题的是二叉回归树。
2.1 提升树模型可以表示为决策树的加法模型:
表示决策树;为决策树的参数;M为树的个数。
2.2 提升树算法
提升树算法采用前向分布算法,首先明确初始提升树=0,第m步的模型是。
其中为当前模型,通过经验风险极小化确定下一棵决策树的参数,
针对不同问题的提升树的算法,主要区别在于使用的损失函数不同,有用指数损失函数的分类问题(三节会讲),这里主要是用平方误差的回归问题。
已知一个训练集,通过回归树的性质,将输出空间划分为J个互不相交的区域,并且在每个区域上确定输出的常量,那么树可表示为:
参数表示树的区域划分和各个区域上的常数,J是回归树的复杂度即叶结点个数。
当采用平方误差时,