转自公众号链接:
https://mp.weixin.qq.com/s/kLKGbpxy1Fqp9zHC3mxL3g
对其中的重点内容做一个总结
推荐系统中的数据特点:
1、离散数据为主、连续数据为辅,所以排序算法就是要解决大规模离散特征的学习
2、样本收集有限、物品在场景中出现次数有限,而且物品的生命周期短,所以收集到的样本数据有限,所以在推荐系统中的排序算法的参数空间不能太大,否则会出现欠拟合
3、特征稀疏,高度稀疏,比如item数量由几十万个,但用户常看的item就几十个,所以排序算法中需要压缩特征空间
4、不同场景下、不同上下文数据差异明显
推荐系统中的排序算法从90年代至今,主要是以下几个阶段:
人工特征+线性模型(专家系统)
当年流行的一个词:专家系统
主要特点:
1、原始输入特征量级在 百千万 之间
2、处理后的特征量级在万、十万、百万、千万级别都有
3、模型简单、参数空间小、性能高、效果好
4、效果提升需要依赖人工特征建设,基于对业务的理解,通过大量的人工经验和数据分析挖掘有效的特征组合
自动特征交叉+线性模型阶段(增强记忆)
- 2010提出FM
- 2014提出FFM
- 2014提出GBDT+LR
- 2014提出XGBoost
特点:
1、监督自动进行二阶、高阶特征交叉,这样就可以记忆各种有效的特征组合,用什么特征组合可以更好的区分label标签
2、通过参数可以控制特征交叉的参数空间,比如控制FM隐向量的长度、树模型的棵数和深度
3、联合学习启蒙,联合低阶、二阶、高阶进行联合训练学习,主要目的是为了在同一个空间中强化记忆每一个特征或者特征组合对预测结果的正向或者负向影响权重
4、效果提升显著,而且只需对个别超参数进行人工调整,简单高效
深度学习(深度发展)
- 2016年提出FNN、PNN、NFM、AFM
- 2016年提出Wide&Deep
- 2016年Youtube提出DNN
- 2017年提出DeepFM
1、离散特征处理向embedding空间发展,采用低维空间更加合理的表达特征(比如:休闲游戏、射击游戏、购物美妆可以用8维向量表示,而且休闲游戏向量与射击游戏向量距离比较近,射击游戏向量与购物美妆向量距离较远),这里即对特征空间进行了压缩,也对离散特征进行了合理的表示
2、在各个阶段通过降维减少参数空间量级
3、挖掘上下文与目标之间的关系
4、采用DNN进行高阶特征挖掘
5、融合低阶、二阶、高阶进行联合学习,低阶和二阶主要强化记忆能力,高阶主要强化泛化能力
总结
这三个阶段从特征表示来看主要是
从单一数据特征表示 —> 多元数据特征表示 —> 低维稠密的向量空间表示
发展方向就是如何对人、物、行为等数据进行向量表示,基于此向量表示再进行与目标之间的相关性学习。