案例来源:@TonyZhou
1. 高维度离散特征+LR(广点通精排)
2. GBDT少量低维特征(Yahoo&Bing)
1)特征工程
3. GBDT+LR(Facebook)
1)方案一:
将id以外特征输入GBDT树来抽特征,id特征在lr阶段加入。
好处是同时利用了GBDT对连续特征自动离散化和特征组合,又利用了LR对id类离散特征的能力
2)方案二:
分别训练id类树和非id类树,将两者的特征组合输入LR。
好处是id类树保留头部资源的信息,非id类树保留ctr等长尾资源信息。
缺点是介于头部资源和长尾资源中的一部分资源,其信息同时包含在ctr和id中,使用非id树还是会有信息损失
3)缺点:
a. LR需要等GBDT输出,GBDT的在线预测慢于LR
b. GBDT不支持在线算法,只能离线方式更新
4. FM DNN(百度凤巢)
1)思路:
a. 如果用ID做特征,DNN不支持那么多维
b. 因此使用FM对海量id特征做embedding,用DNN做训练
2)FM可以理解成是LR+二维交叉项
3)缺点:
a. 二阶FM只能做二阶的特征组合
b. DNN调参复杂、性能不高,并不适用于中小业务
5. MLR
(mixed logistic regression)
(阿里妈妈)
1)思路:对空间分类,然后LR
2)优点:
a. 迁移能力强,如3C类和服装类不用分别训练自己的LR模型
3)缺点:
a. 分类超参数需要调
b. LR的缺点:人工组合特征、人工离散化分桶等
5. FTRL_Proximal(Google)
1)Google引入FTRL进行在线训练
2)在线训练的缺点是每次更新是沿着某个样本的梯度下降,L1正则也不一定能达到稀疏解
3)FTRL 是在传统的在线算法如 FOBOS 和 RDA 的基础上做了优化,它采用和 RDA 一样的 L1 正则,同时和 FOBOS 一样会限制每次更新的距离不能太远
4)另外 FTRL 采用Per-Coordinate Learning Rates,意思是对于某个特征的完整性比较低的时候,会动态加大学习率,而对于特征完整性高的,会减小学习率,让特征权重慢慢学。学习率的计算公式如下,即步长等于历次梯度的平方和的开方的倒数