提升算法与集成学习

发布时间:2025-01-06 14:45

学习数据结构和算法,提升算法解题能力 #生活技巧# #学习技巧# #编程学习指南#

提升:在随机森林中我们通过构建T1 ...... Tn的的Ñ棵决策树然后取这Ñ棵决策树的平均得到一个总的森林,由于这是对每棵树取平均,不存在哪棵树重要,哪棵不重要的说法。现在我们换一种思路,给出这ñ棵树的权值,即第T(k + 1)= a1T1 + ...... + akTk,这棵树的系数第(k + 1)应该是什么。那么这就不是简单的做平均,而是做提升。也就是说提升所要解决的问题是ñ棵决策树得到下一棵决策树。而随机森林中的决策树是分别采样,是相对独立的。然而提升的做法可以让权值有一个不同的值,而不是平均,就是说不需要每一个人都去投票,都取1 / m的权值,而是有些重要的,有些相对不太重要的。举个例子来说,比如要对一些样本进行分类,有些样本可能会分错,那么在下一次分类的时候就对这些分错的样本的权值加大一点,分对的调小一点,如此下去直 到最合适。

它的基本思路是每一步都会产生一个弱预测模型(比如决策树),然后给个权值累加到总模型当中。那么怎么样来做呢,我们预先给一个损失函数,然后沿着损失函数梯度的方向来给出新的树,这种做法称为梯度的提升。这类似于最开始先给定一个目标函数,然后呢这个目标函数想找个东西,比如这些弱分类器是我们想找的东西,它的提升思路就是我们每次都沿着负梯度方向给一个足够小的权值和一个当前状态下的一个基本分类器把它累加到现在的这个里边去,不断地做这样的事情。

GBDT:我们一颗树其实最本质是把这些叶子拿出来,中间节点对我们样本分类没有什么影响,而这些叶子节点是有一些权值的,所以说它属于哪一个叶子,以及哪一个叶子的权值其实是这颗树本身。哪一个样本属于哪一个叶子节点它就标为1,不属于它就标为0,然后这个叶子的输出值是谁,然后就加起来,所以叶子是这棵树最重要的部分。

ADBoost:除了对树给定不同的权值,也对样本给定不同的权值。

集成学习通过构建并合并多个机器学习来完成学习任务。

集成学习的主要问题是得到若干个个体学习器以及如何选择一种结合策略将这些个体学习器集合成一个强学习器。

将分对的样本权值调小,错的调大。

提高是通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能。减少偏差。Bagging可减少方差。

AdaBoost

我们除了去来做对于这种树的权值计算以外我们能不能对样本也去给定它的不同的权值系数,AdaBoost算法会对数据和分类器同时做调整。

设训练数据集

第一次做的叫

第Ñ次做的叫

因为没有任何的先验所以全部初始化为w_{ij}=\frac{1}{n}

对在每一轮如何改变训练数据的权值或概率分布的问题处理上的做法是提高那些被前一轮弱分类器错误分类样本的权值,而降低那些被正确分类样本的权值。针对如何将多个弱分类器组合成一个强分类器的做法是加权多数表决的方法,即加大分类错误率小的弱分类器的权值,使其在表决中起较大的作用。总体来说就是加大分类错误率小的弱分类器的权值,使其在表决中起较大的作用,减小分类错误率大的弱分类器的权值,使其在表决中其较小的作用。

网址:提升算法与集成学习 https://www.yuejiaxmz.com/news/view/656082

相关内容

提升方法与集成学习(学习笔记)
机器篇——集成学习(三) 细说 提升(Boosting) 算法
集成学习:投票法、提升法、袋装法
提升成绩的学习方法集锦
集成学习——梯度提升法GDBT(机器学习)
集成学习:装袋法Bagging与随机森林
Biconvex优化提升低秩矩阵学习效率:算法与实验对比
如何养成高效学习习惯,提升学习效率与成果
学习提升方法
机器学习(七):提升(boosting)方法

随便看看