做网站 珠海,专业邯郸做网站,广州开发网站哪家专业,wordpress 连接信息在集成学习原理小结中#xff0c;我们讲到了集成学习有两个流派#xff0c;一个是boosting派系#xff0c;它的特点是各个弱学习器之间有依赖关系。另一种是bagging流派#xff0c;它的特点是各个弱学习器之间没有依赖关系#xff0c;可以并行拟合。本文就对集成学习中Bag… 在集成学习原理小结中我们讲到了集成学习有两个流派一个是boosting派系它的特点是各个弱学习器之间有依赖关系。另一种是bagging流派它的特点是各个弱学习器之间没有依赖关系可以并行拟合。本文就对集成学习中Bagging与随机森林算法做一个总结。 随机森林是集成学习中可以和梯度提升树GBDT分庭抗礼的算法尤其是它可以很方便的并行训练在如今大数据大样本的的时代很有诱惑力。 1. bagging的原理 在集成学习原理小结中我们给Bagging画了下面一张原理图。 从上图可以看出Bagging的弱学习器之间的确没有boosting那样的联系。它的特点在“随机采样”。那么什么是随机采样 随机采样(bootsrap)就是从我们的训练集里面采集固定个数的样本但是每采集一个样本后都将样本放回。也就是说之前采集到的样本在放回后有可能继续被采集到。对于我们的Bagging算法一般会随机采集和训练集样本数m一样个数的样本。这样得到的采样集和训练集样本的个数相同但是样本内容不同。如果我们对有m个样本训练集做T次的随机采样则由于随机性T个采样集各不相同。 注意到这和GBDT的子采样是不同的。GBDT的子采样是无放回采样而Bagging的子采样是放回采样。 对于一个样本它在某一次含m个样本的训练集的随机采样中每次被采集到的概率是1m1m。不被采集到的概率为1−1m1−1m。如果m次采样都没有被采集中的概率是(1−1m)m(1−1m)m。当m→∞m→∞时(1−1m)m→1e≃0.368(1−1m)m→1e≃0.368。也就是说在bagging的每轮随机采样中训练集中大约有36.8%的数据没有被采样集采集中。 对于这部分大约36.8%的没有被采样到的数据我们常常称之为袋外数据(Out Of Bag, 简称OOB)。这些数据没有参与训练集模型的拟合因此可以用来检测模型的泛化能力。 bagging对于弱学习器没有限制这和Adaboost一样。但是最常用的一般也是决策树和神经网络。 bagging的集合策略也比较简单对于分类问题通常使用简单投票法得到最多票数的类别或者类别之一为最终的模型输出。对于回归问题通常使用简单平均法对T个弱学习器得到的回归结果进行算术平均得到最终的模型输出。 由于Bagging算法每次都进行采样来训练模型因此泛化能力很强对于降低模型的方差很有作用。当然对于训练集的拟合程度就会差一些也就是模型的偏倚会大一些。 2. bagging算法流程 上一节我们对bagging算法的原理做了总结这里就对bagging算法的流程做一个总结。相对于Boosting系列的Adaboost和GBDTbagging算法要简单的多。 输入为样本集D{(x,y1),(x2,y2),...(xm,ym)}D{(x,y1),(x2,y2),...(xm,ym)}弱学习器算法, 弱分类器迭代次数T。 输出为最终的强分类器f(x)f(x) 1对于t1,2...,T: a)对训练集进行第t次随机采样共采集m次得到包含m个样本的采样集DtDt b)用采样集DtDt训练第t个弱学习器Gt(x)Gt(x) 2) 如果是分类算法预测则T个弱学习器投出最多票数的类别或者类别之一为最终类别。如果是回归算法T个弱学习器得到的回归结果进行算术平均得到的值为最终的模型输出。 3. 随机森林算法 理解了bagging算法随机森林(Random Forest,以下简称RF)就好理解了。它是Bagging算法的进化版也就是说它的思想仍然是bagging,但是进行了独有的改进。我们现在就来看看RF算法改进了什么。 首先RF使用了CART决策树作为弱学习器这让我们想到了梯度提示树GBDT。第二在使用决策树的基础上RF对决策树的建立做了改进对于普通的决策树我们会在节点上所有的n个样本特征中选择一个最优的特征来做决策树的左右子树划分但是RF通过随机选择节点上的一部分样本特征这个数字小于n假设为nsubnsub然后在这些随机选择的nsubnsub个样本特征中选择一个最优的特征来做决策树的左右子树划分。这样进一步增强了模型的泛化能力。 如果nsubnnsubn则此时RF的CART决策树和普通的CART决策树没有区别。nsubnsub越小则模型约健壮当然此时对于训练集的拟合程度会变差。也就是说nsubnsub越小模型的方差会减小但是偏倚会增大。在实际案例中一般会通过交叉验证调参获取一个合适的nsubnsub的值。 除了上面两点RF和普通的bagging算法没有什么不同 下面简单总结下RF的算法。 输入为样本集D{(x,y1),(x2,y2),...(xm,ym)}D{(x,y1),(x2,y2),...(xm,ym)}弱分类器迭代次数T。 输出为最终的强分类器f(x)f(x) 1对于t1,2...,T: a)对训练集进行第t次随机采样共采集m次得到包含m个样本的采样集DtDt b)用采样集DtDt训练第t个决策树模型Gt(x)Gt(x)在训练决策树模型的节点的时候 在节点上所有的样本特征中选择一部分样本特征 在这些随机选择的部分样本特征中选择一个最优的特征来做决策树的左右子树划分 2) 如果是分类算法预测则T个弱学习器投出最多票数的类别或者类别之一为最终类别。如果是回归算法T个弱学习器得到的回归结果进行算术平均得到的值为最终的模型输出。 4. 随机森林的推广 由于RF在实际应用中的良好特性基于RF有很多变种算法应用也很广泛不光可以用于分类回归还可以用于特征转换异常点检测等。下面对于这些RF家族的算法中有代表性的做一个总结。 4.1 extra trees extra trees是RF的一个变种, 原理几乎和RF一模一样仅有区别有 1 对于每个决策树的训练集RF采用的是随机采样bootstrap来选择采样集作为每个决策树的训练集而extra trees一般不采用随机采样即每个决策树采用原始训练集。 2 在选定了划分特征后RF的决策树会基于基尼系数均方差之类的原则选择一个最优的特征值划分点这和传统的决策树相同。但是extra trees比较的激进他会随机的选择一个特征值来划分决策树。 从第二点可以看出由于随机选择了特征值的划分点位而不是最优点位这样会导致生成的决策树的规模一般会大于RF所生成的决策树。也就是说模型的方差相对于RF进一步减少但是偏倚相对于RF进一步增大。在某些时候extra trees的泛化能力比RF更好。 4.2 Totally Random Trees Embedding Totally Random Trees Embedding(以下简称 TRTE)是一种非监督学习的数据转化方法。它将低维的数据集映射到高维从而让映射到高维的数据更好的运用于分类回归模型。我们知道在支持向量机中运用了核方法来将低维的数据集映射到高维此处TRTE提供了另外一种方法。 TRTE在数据转化的过程也使用了类似于RF的方法建立T个决策树来拟合数据。当决策树建立完毕以后数据集里的每个数据在T个决策树中叶子节点的位置也定下来了。比如我们有3颗决策树每个决策树有5个叶子节点某个数据特征xx划分到第一个决策树的第2个叶子节点第二个决策树的第3个叶子节点第三个决策树的第5个叶子节点。则x映射后的特征编码为(0,1,0,0,0, 0,0,1,0,0, 0,0,0,0,1), 有15维的高维特征。这里特征维度之间加上空格是为了强调三颗决策树各自的子编码。 映射到高维特征后可以继续使用监督学习的各种分类回归算法了。 4.3 Isolation Forest Isolation Forest以下简称IForest是一种异常点检测的方法。它也使用了类似于RF的方法来检测异常点。 对于在T个决策树的样本集IForest也会对训练集进行随机采样,但是采样个数不需要和RF一样对于RF需要采样到采样集样本个数等于训练集个数。但是IForest不需要采样这么多一般来说采样个数要远远小于训练集个数为什么呢因为我们的目的是异常点检测只需要部分的样本我们一般就可以将异常点区别出来了。 对于每一个决策树的建立 IForest采用随机选择一个划分特征对划分特征随机选择一个划分阈值。这点也和RF不同。 另外IForest一般会选择一个比较小的最大决策树深度max_depth,原因同样本采集用少量的异常点检测一般不需要这么大规模的决策树。 对于异常点的判断则是将测试样本点xx拟合到T颗决策树。计算在每颗决策树上该样本的叶子节点的深度ht(x)ht(x)。从而可以计算出平均高度h(x)。此时我们用下面的公式计算样本点xx的异常概率: s(x,m)2−h(x)c(m)s(x,m)2−h(x)c(m) 其中m为样本个数。c(m)c(m)的表达式为 c(m)2ln(m−1)ξ−2m−1m,ξ为欧拉常数c(m)2ln(m−1)ξ−2m−1m,ξ为欧拉常数 s(x,m)的取值范围是[0,1],取值越接近于1则是异常点的概率也越大。 5. 随机森林小结 RF的算法原理也终于讲完了作为一个可以高度并行化的算法RF在大数据时候大有可为。 这里也对常规的随机森林算法的优缺点做一个总结。 RF的主要优点有 1 训练可以高度并行化对于大数据时代的大样本训练速度有优势。个人觉得这是的最主要的优点。 2 由于可以随机选择决策树节点划分特征这样在样本特征维度很高的时候仍然能高效的训练模型。 3 在训练后可以给出各个特征对于输出的重要性 4 由于采用了随机采样训练出的模型的方差小泛化能力强。 5 相对于Boosting系列的Adaboost和GBDT RF实现比较简单。 6 对部分特征缺失不敏感。 RF的主要缺点有 1在某些噪音比较大的样本集上RF模型容易陷入过拟合。 2) 取值划分比较多的特征容易对RF的决策产生更大的影响从而影响拟合的模型的效果。转载于:https://www.cnblogs.com/ldt-/p/10172057.html