推荐系统陈开江 - C6 模型融合

哪几个部分?
一阶模型融合,线性模型树模型
二阶模型融合,FM
高阶模型融合,Wide and Deep

1 线性模型和树模型

讲了什么?
GBDT + LR融合

为什么融合?

分为挖掘,召回,排序
挖掘:内容分析,用户分析,建好索引
融合是一种提升思想

GBDT + LR

  • LR
    特征:量化方式两种,实数或者布尔值;字段转特征方法有One-hot,特征分段,特征变换(连续值变换到0-1或者做离散化)
    特征工程:构建高阶特征组合
    权重:一是损失函数的最小化,还要加上正则化,需要看方差足够小的模型,防止过拟合
    权重学习:除了要作出方差小偏差小的模型,在工程上也要一是越多权重为0越好,减少计算复杂度,并且方差会比较小;二是希望能够在线学习这些权重,随机梯度下降收敛慢,谷歌有一套FTRL算法
  • GBDT
    决策树:RF和GBDT
    GBDT:生成一棵树,损失函数为误差平方和,产生残差,后面的树来根据上一个残差拟合新的树,直到满足条件为止,使用的时候把预测结果相加
    GBDT用于分类:把损失函数变为对数损失函数;为了防止过拟合损失函数汇总需要加入正则项:总共树的个数,树的深度,叶子节点的权重大小;遇到实数值的特征需要分裂成若干区间,可以参考XGBoost计算分裂点收益,也可以参考决策树所用的信息增益
  • 两者结合
    GBDT产生N个树,每个树有M个叶节点,M个维度,一个树对应一个one-hot变量,样本来了产生N个one-hot向量,然后N个one-hot向量传入LR

2 FM

特征组合

暴力特征组合二阶笛卡尔乘积问题:
特征维度太多,或者无效,样本非常稀疏,不能找到符合组合特征的样本,也就没有办法为这个组合训练有效的参数

详解

用隐因子的向量点积替代原来两两组合的部分
计算复杂度由O(kn^2) 降到O(kn)
可以一网打进其他模型,如SVD(只留下用户ID和电影ID),SVD++(加入历史评过分的),time-SVD(加上时间信息的SVD)
扩展FFM

3 Wide & Deep

wide更多是一种记忆模型,deep泛化能力比较强
wide包括线性和交叉特征
deep主要是embedding+连续特征
数据去异常,归一化

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容