首页天道酬勤分类问题和回归问题,常用于分类问题和回归问题

分类问题和回归问题,常用于分类问题和回归问题

admin 08-27 03:14 279次浏览

重点看:https://www.cnblogs.com/pinard/p/6140514.html
1、回归问题
1.1 AdaBoost(建立一颗串行的树)
AdaBoost,是英文"Adaptive Boosting"(自适应增强)的缩写,由Yoav Freund和Robert Schapire在1995年提出。它的自适应在于:前一个基本分类器分错的样本会得到加强,加权后的全体样本再次被用来训练下一个基本分类器。同时,在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小的错误率或达到预先指定的最大迭代次数。

具体说来,整个Adaboost 迭代算法就3步:

初始化训练数据的权值分布。如果有N个样本,则每一个训练样本最开始时都被赋予相同的权值:1/N。
训练弱分类器。具体训练过程中,如果某个样本点已经被准确地分类,那么在构造下一个训练集中,它的权值就被降低;相反,如果某个样本点没有被准确地分类,那么它的权值就得到提高。然后,权值更新过的样本集被用于训练下一个分类器,整个训练过程如此迭代地进行下去。
将各个训练得到的弱分类器组合成强分类器。各个弱分类器的训练过程结束后,加大分类误差率小的弱分类器的权重,使其在最终的分类函数中起着较大的决定作用,而降低分类误差率大的弱分类器的权重,使其在最终的分类函数中起着较小的决定作用。换言之,误差率低的弱分类器在最终分类器中占的权重较大,否则较小

流程:

1.2 GBDT(建立一个串行的树)
GBDT每一次的计算是都为了减少上一次的残差,进而在残差减少(负梯度)的方向上建立一个新的模型。
目标函数:GBDT选取了相对来说容易优化的损失函数——平方损失。GBDT使用的平方损失,经过负梯度拟合得到了y−f(xi)),这就是我们最终要去拟合的,它的另一个名字叫作残差

1.2 XGBoost(建立一个串行的树)
类似于GBDT,目标函数有所改变
目标函数:平方损失

2、分类问题
2.1 AdaBoost(建立一个串行的树)
目标函数:指数损失函数(exp(-y*f(x)))
2.2.1 GBDT(二分类)(一颗串行的树)

2.2.2 GBDT(多分类)(建立多颗串行的树,经过softmax)
目标函数:对数损失函数


2.3 XGBoost
类似于GBDT
3.总结:
3.1、Adaboost与GBDT两者boosting的不同策略是两者的本质区别。
3.2、Adaboost强调Adaptive(自适应),通过不断修改样本权重(增大分错样本权重,降低分对样本权重),不断加入弱分类器进行boosting。
3.3、而GBDT则是旨在不断减少残差(回归),通过不断加入新的树旨在在残差减少(负梯度)的方向上建立一个新的模型。——即损失函数是旨在最快速度降低残差。
3.4、而XGBoost的boosting策略则与GBDT类似,区别在于GBDT旨在通过不断加入新的树最快速度降低残差,而XGBoost则可以人为定义损失函数(可以是最小平方差、logistic loss function、hinge loss function或者人为定义的loss function),只需要知道该loss function对参数的一阶、二阶导数便可以进行boosting,其进一步增大了模型的泛华能力,其贪婪法寻找添加树的结构以及loss function中的损失函数与正则项等一系列策略也使得XGBoost预测更准确。
3.5、XGBoost的具体策略可参考本专栏的XGBoost详述。 GBDT每一次的计算是都为了减少上一次的残差,进而在残差减少(负梯度)的方向上建立一个新的模型。
3.6、XGBoost则可以自定义一套损失函数,借助无聊的乐曲展开(只需知道损失函数的一阶、二阶导数即可求出损失函数)转换为一元二次函数,得到极值点与对应极值即为所求。

4、对数损失与交叉熵的区别

交叉熵和对数损失函数之间的关系

交叉熵中未知真实分布 p(x)相当于对数损失中的真实标记 y,寻找的近似分布 q(x)相当于我们的预测值。如果把所有样本取均值就把交叉熵转化成了对数损失函数。
参考:https://blog.csdn.net/hellozhxy/article/details/82143554
https://blog.csdn.net/randompeople/article/details/95042487
https://www.cnblogs.com/jiangxinyang/p/9248154.html
https://www.cnblogs.com/always-fight/p/9400346.html
https://www.jianshu.com/p/15c82ec2d66d
https://www.cnblogs.com/pinard/p/6140514.html

云游戏 UGame【JavaSE】之面向对象编程签名工具 对象存储 US3Javaweb的知识点有哪些Qt MQTT开发环境如何搭建C++  线程(串行并行同步异步)详解系统配置/审计日志备份 堡垒机 UAuditHost
回归问题和核函数的区别,回归分析研究的是函数关系 CNN回归,cnn做回归任务
相关内容