
集成学习
文章平均质量分 60
海滩上的那乌克丽丽
I can because i believe i can.
展开
-
GBDT做特征选择
对于单颗树,我们要计算特征j在单颗树中的重要度,就是计算特征j在单颗树中带来的收益之和。那对于集成学习,假设有T棵树,那么我们就每颗决策树中的每个特征重要程度加和除以T,就是每个特征的重要程度。那么决策树或者基于决策树的GBDT可以在训练完后,根据计算好的feature_importance去选择分值大和分值小的,从而进行合理降维。...原创 2022-03-28 15:15:46 · 2313 阅读 · 0 评论 -
XGBoost目标函数推导
目标函数:做函数空间的梯度下降。累加训练 我们发现目标函数(相对GBDT)里面是带正则项的,t-1时刻的正则项全部在const里面2.对loss进行泰勒二阶展开的近似。XGBoost用的是牛顿法(一阶导)GBDT用的是梯度下降(二阶导)XGBoost用更快速度找到最优解,迭代次数更少3.再次化简目标函数因为我们让目标函数尽可能小对常数项没有关系,那么我们就可以把常数项都去掉。新的目标函数GBDT是拟合上一条样本的负梯度XGBoo...原创 2022-03-17 10:38:41 · 1275 阅读 · 0 评论 -
XGBoost基本介绍(机器学习ML神器)
介绍:基于Boosting思想,利用梯度下降思想XGBoost在机器学习里面所有算法里面算效果很好的了,对于很多竞赛,都是用XGBoost获得了很好的名词基于树的集成学习优点:基于树的集成学习不用做特征归一化,使用起来非常方便。基于树的集成学习可以做到特征组合,不用自己做升维。集成学习可以做大规模数据并行处理。使得训练过程更快。目标有两个部分组成Train Loss:评估训练数据拟合的多好Regularization:正则项,提高模型的泛化能力,能够更好的再测原创 2022-03-16 16:47:29 · 20727 阅读 · 0 评论 -
对比GBDT做回归,二分类,多分类相同点和不同点以及二分类、多分类如何计算叶子节点分值
对比GBDT做回归,二分类,多分类相同点:都是负梯度(每颗小树)拟合残差 yi-yi_hat分裂指标都是MSE不同点:初始化做回归时,可以初始化为0,也可以初始化为均值二分类:初始化为对数几率多分类:初始化为0,或者统计各个类别的占比作为初始值。叶子节点分值计算回归是通过求平均计算叶子上的分值二分类:?多分类交叉熵:?树结构和叶子节点分值决定树结构。二分类如何计算叶子节点分值c代表fm(x)小树,上面的公式的意思时m时刻的.原创 2022-03-14 21:15:21 · 573 阅读 · 0 评论 -
GDBT用于多分类
1.对于多分类问题,我们要考虑用softmax模型做假设在做softmax时,我们使用多元线性回归来去拟合每个类别z,,那么在做GBDT的时候,我们用F(x)来去拟合z,F1(x) = z1, F2(x) = z2, F3(x) = z3, Fk(x) = zkk个强学习器,每个强学习器训练一个z,一共得到k个z。这样我们就可以的得到softmax所需要的{z1...zk},这样我们就可以做多分类了。X个样本针对每个可能的类别都训练一个分类回归树2.每次迭代都要生成.原创 2022-03-14 15:24:06 · 1196 阅读 · 0 评论 -
GBDT用于分类
思想介绍:类似于逻辑回归,FM模型用于分类模型,用一个线性模型或者 包含交叉项的非线性模型去拟合所谓的对数几率,即在逻辑回归公式推导过程中通过广义线性回归,θtX去拟合了对数几率。GBDT是用了F(x)去拟合了对数几率。用公式表达就是。做法:我们先训练一颗小树拟合对数几率,如果拟合的不够好就在来训练一棵小树再去拟合对数几率,以此类推,把所有的小树加和在一起得到F(x)在做二分类的时候就是我们总体的对数几率,带到sigmoid函数里面去,就能得到属于正例的概率有多大。求梯度..原创 2022-03-14 11:29:42 · 1027 阅读 · 0 评论 -
GBDT梯度提升决策树
1.介绍G:梯度B:BoostingD:DecisionT:Tree2.梯度下降的思想boosting串行 加权求和,以回归树作为base model,采用函数空间梯度下降法。GBDT的思想就是loss最小的时候,F*是什么样子,即F*什么样子,loss最小(求F*的最优解)F*(x)是多棵小树组成,每颗小树如何学习才能使迭代次数最少求得最优解F*。我们梯度下降法前面见到的是参数空间的梯度下降GBDT做的是函数空间的梯度下降梯度下降求解的是θ*,GDB原创 2022-03-13 20:10:28 · 1382 阅读 · 0 评论 -
Adaboost算法
思想介绍:弱学习器对样本进行分类,分类后又分正确,有分错误,adaboost会把上次弱学习器分类错误的样本权重增加,把判对的样本的权重下降,再次训练下一个弱学习器这期间再把判错的权重增加,判对的权重减小。以此类推分类前没条样本的权重是1/N1.如何获得不同的g(x)?随机森林通过有放回的采样得到不同的Data生成g(x)决策树adaboost一般是采用决策桩(二叉树)2.什么是数据的权重?对于同一个算法,训练集不同生成的模型一bagging)训练集相同,我们调整训练集中数原创 2022-03-12 15:56:40 · 420 阅读 · 0 评论 -
随机森林(袋外OOB数据)
1.在数据抽样的时候,因为是有放回的采样,有很多条样本没有被选到,经过以下计算,没条样本大概有百分之三十的概率是没有被采样的。2.对于这些没有被采样到的数据(oob),我们希望能够得到利用当作验证集当然对于单颗决策树没有必要用oob数据验证,我们可以用oob数据验证强学习器(评估)。做法:加入在随机采样过程中第n条样本没有被g2,g3,g4采样到,我们就可以用第n条样本对整个强学习器做预测,然后得到第n条样本真实值与预测值的错误率。那么我们就可以得到整体的强学习器对袋外数据的错误率,原创 2022-03-12 14:28:24 · 6102 阅读 · 1 评论 -
随机森林(random forest)
1.随机森林基本思想Bagging+决策树作为base model + 每个决策树权重为1 + Boostrap有放回的采样2.随机森林都有哪些地方会随机呢?(1)Bagging对样本进行有放回的行抽样。(2)在随机的时候可以选择每个样本一部分重要的特征进行抽样,而不是对所有的特征抽样,对每个决策树来说可以对列上面的抽样。3.sklearn对随机森林特征抽样的封装最多多少个特征。...原创 2022-03-12 10:33:09 · 12994 阅读 · 0 评论 -
集成学习介绍
1.在机器学习中可以有弱学习器,强学习器,在集成学习中,我们会训练一堆弱学习器,组合成为一个强学习器,然后我们用强学习器做预测。2.集成学习是一个宏观的概念,如果弱学习器不是基于决策树而是基于其他的基础算法也是可以,但是基于决策树做集成学习是我们比较常用的算法。DT >> RandomForst,Adaboost,GBDT,XGBoost3.举例:1.单颗决策树:选择比重最大的。随机森林:所有的投票少数服从多数(聚合模型)分类任务:1*gt(x)的1代表每个样本的原创 2022-03-12 10:09:41 · 962 阅读 · 0 评论