目标集成方法将几个基本估计器的预测与给定的学习算法结合起来,以提高单个估计器的通用性和鲁棒性。
平均而言,联合估计通常比任何单基估计要好,因为它的方差减小了
随机森林是bagging中的一种方法。以随机森林为例进行说明
随机森林是构造很多颗决策树,形成一个森林,然后用这些决策树共同决策输出类别是什么。
随机森林算法是在构建单一决策树的基础上进行的,同时它也是对单一决策树算法的延伸和改进。
作为树中决策节点的特征的相对等级(即深度)可以用来评估该特征相对于目标变量的可预测性的相对重要性。在树的顶部使用的特征有助于更大一部分输入样本的最终预测决策。
Adaboost算法是一种提升方法,将多个弱分类器,组合成强分类器。AdaBoost,是英文”Adaptive Boosting“(自适应增强)的缩写.
\它的自适应在于:前一个弱分类器分错的样本的权值(样本对应的权值)会得到加强,权值更新后的样本再次被用来训练下一个新的弱分类器。在每轮训练中,用总体(样本总体)训练新的弱分类器,产生新的样本权值、该弱分类器的话语权,一直迭代直到达到预定的错误率或达到指定的最大迭代次数。
随着迭代的进行,很难预测的例子会收到越来越大的影响。因此,每个后继的弱学习者都不得不集中精力于序列中前面的示例所遗漏的示例上。
优点
(1)精度很高的分类器
(2)提供的是框架,可以使用各种方法构建弱分类器
(3)简单,不需要做特征筛选
(4)不用担心过度拟合
(1)用于二分类或多分类
(2)特征选择
(3)分类人物的baseline
Gradient Tree Boosting:梯度提升树
梯度提升算法是一种通用的学习算法,除了决策树,还可以使用其它模型作为基学习器。梯度提升算法的思想是通过调整模型,让损失函数的值不断减小, 然后将各个模型加起来作为最终的预测模型。而梯度提升决策树则是以决策树为基学习器。通常,我们认为决策树是没有参数的模型,可以用if-else规则来表达。因此,在理解梯度提升决策树的一个关键点和难点便是梯度!梯度提升体现在哪?决策树不是没有参数吗,如何求梯度?这是我在学习过程中遇到的两个问题。
我认为,学会调参是进行集成学习工作的前提。然而,第一次遇到这些算法和模型时,肯定会被其丰富的参数所吓到
参数可分为两种,一种是影响模型在训练集上的准确度或影响防止过拟合能力的参数;另一种不影响这两者的其他参数。模型在样本总体上的准确度(后简称准确度)由其在训练集上的准确度及其防止过拟合的能力所共同决定,所以在调参时,我们主要对第一种参数进行调整
目前,有三种常见的集成学习框架:bagging,boosting和stacking
stacking:将训练好的所有基模型对训练基进行预测,第j个基模型对第i个训练样本的预测值将作为新的训练集中第i个样本的第j个特征值,最后基于新的训练集进行训练。同理,预测的过程也要先经过所有基模型的预测形成新的测试集,最后再对测试集进行预测:
【1】https://www.jianshu.com/p/54e4c01535e2 Random Forest和Gradient Tree Boosting参数详解(一)
【2】https://www.cnblogs.com/yangkang77/p/9966167.html 梯度提升决策树(Gradient Boosting Decision Tree),用于分类或回归。
网友评论