简述:
尽管集成学习的具体要应用的算法和策略有所雷同,但在实现过程中都共享同样的操作步骤。本次分享联合具体的集成学习算法,剖析下集成学习的具体过程。
一. 根本步骤
集成学习大抵能够概括为以下 3 个大的步骤。
(1)找到误差相互独立的基分类器。
(2)训练基分类器。
(3)合并基分类器的后果。
合并基分类器的办法有 voting 和 stacking 两种。前者是用投票的形式,将取得最多选票的后果作为最终的后果。后者是用串行的形式,把前一个基分类器的后果输入到下一个分类器,将所有基分类器的输入后果相加(或者用更简单的算法交融,比方把各基分类器的输入作为特色,应用逻辑回归作为交融模型进行最初的后果预测)作为最终的输入。
image.png
二. Adaboost
以 Adaboost 为例,基分类器的合并办法是投票,其基分类器的训练和合并的根本步骤如下。
(1)确定基分类器:这里能够选取 ID3 决策树作为基分类器。事实上,任何分类模型都能够作为基分类器,但树形模型因为构造简略且较易产生随机性所以比拟罕用。
(2)训练基分类器:假如训练集为 {xi,yi},i=1,…,N,其中 yi{-1,1},并且有 T 个基分类器,则能够依照如下过程来训练基分类器。
初始化采样散布 D1(i)=1/N;
令 t = 1, 2,…, T 循环:
从训练集中,依照 Dt 散布,采样出子集 image.png;
用 St 训练出基分类器 ht;
计算 ht 的错误率:image.png,其中 I[] 为判别函数;
计算基分类器 ht 权重 image.png;
设置下一次采样
image.png
并将它归一化为一个概率分布函数。
(3)合并基分类器:给定一个未知样本 z,输入分类后果为加权投票的后果 image.png。
三. GBDT
GBDT 的全称是 Gradient Boosting Decision Tree(梯度晋升树)。它的基分类器的是通过串行的形式合并起来的,本次咱们只是介绍下基分类器的合并办法,所以在 GBDT 的原理上先不过多介绍。咱们的目标:用较弱的树模型组合出一个强模型 image.png,来进行样本的预测。
(1) 确定基模型:尽管树形模型既能够用于分类训练也能够回归训练,但值得注意的是 GBDT 只能选取回归决策树作为基模型。但能够满足大多的场景。本次应用的样本集示意为 image.png,损失函数:image.png,每个基模型表示为 image.png。
(2) 训练基模型:初始化 image.png,先找到最合适的参数 image.png,使得 image.png 最小,模型初始化 image.png。
如果这里的损失函数是均方误差,咱们通过 image.png 能计算失去各样本点预测的残差,咱们要拟合的样本集就变成了 image.png,依照第一次拟合的套路找最合适的 image.png 来拟合这个汇合。
(3) 合并基模型:最初模型合并降级为 image.png。
以上就是简略的 GBDT 串行合并的办法。
四. 总结
本次的分享内容次要是通过 Adaboost 和 GBDT 两种算法剖析的集成学习的通用步骤,Adaboost 和 GBDT 的次要区别是基模型的不同和合并基分类器的形式不同。Adaboost 应用分类树为基模型 +voting 的合并办法;GBDT 应用回归树为基模型 +stacking 的合并办法。