LR
- 通过sigmoid函数将线性回归的结果映射到[0, 1]之间,得到预测为正样本的概率值;
- 本质上,是利用线性回归去拟合对数几率(几率的定义: 一个事件发生的概率比上不发生的概率);
- 利用最大似然估计模型的参数,推导出对数损失函数(交叉熵损失),利用梯度下降,或者牛顿法求解参数;
[图片上传失败...(image-1463e1-1593328679846)]
](https://img.haomeiwen.com/i1560080/98ae366572a52646.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
ADABOOST
加性模型,使用:通过改变每轮次样本 分类器的权重
GBDT
迭代拟合上一棵树的负梯度,当loss使用MSE时,为残差。
函数空间里(上一轮生成的数),损失函数 对上一轮生成树求偏导
(普通做法:参数空间,损失函数 对参数求偏导 (w/b, 权重/偏置) )
XGB
在GBDT训练过程中,最耗时的部分在于回归树的构建过程中最优分裂特征,分裂阈值的查找过程
a. 更快:
加速分裂阈值的查找过程:(减少排序带来的性能问题)
- 特征预排序:利用特征的分位点进行近似的近似算法 --- xgboost;
- 基于特征直方图:特征的离散取值(bin),构建关于特征信息的(一阶导数,二阶导数)直方图 --- LightGBM
b. 防过拟合:
loss函数加入正则(叶子节点个数 & 叶子节点权重二范数 (平方和)),防过拟合;
loss函数计算使用牛顿法,二阶泰勒展开,更细腻(GBDT,梯度下降,使用一阶展开)
c. 支持自定义损失函数(只要loss二阶可导即可)
d. 数据采样(样本/特征)
e. 缺失值自动处理(指定缺失值后,分割在左右子树后loss增益多)
根据前身传播的单调性约束检查两个叶子的值。
检查两片叶子之间的单调性。
如果单调性被破坏,则拒绝拆分。
lightgbm
image.pnga. 减少训练样本量:GOSS (利用单边梯度采用算法(Gradient-Based One-Side Sampling, GOSS)
小梯度的样本,对于损失函数的贡献是很小
image.png
b. 减少特征/组合特征:EFB(互斥特征绑定(Exclusive Feature Bundling, EFB) ):
即在高维稀疏的特征空间中,可能存在多个特征的取值不会同时为非零值 / 冲突比低
金融/短视频应用
c. 在构建树的过程中,LightGBM利用的Leaf-wise的形式(best-first), 也就是在构建回归树的过程中是选择增益最明显的节点往下分裂,而不是按部就班地逐层Level-wise方式,相同层的节点都需要同时进行分裂,带来不不要的分裂
d. 直方图加速:
连续特征进行离散化,计算梯度;
e. 类别特征处理:
类别特征分桶,计算梯度,找分割点;
Attention
加权和:
输出全连接输入,希望能够增强时间步 关注度/权重
损失函数用于学习每轮树的生成参数
损失函数中加入正则:
- 叶子节点权重的L2范数,目的是使得权重值更平滑,连续;
- 叶子节点的个数T,在XGBoost中树的生长方式是Level-wise的方式,每一层都需要同时进行分裂,有可能导致不必要的特征参与分裂
并用二阶泰勒展开
缺失值自动处理
数据采样(样本/特征)
网友评论