1.CF
1.1 UserCF和ItemCF
- 原理:基于用户x物品的共现矩阵R,根据用户(行)和物品(列)相似度进行推荐
具体原理步骤
UserCF:选择topk个相似用户,计算所有物品的评分
ItemCF:计算物品相似矩阵,根据用户的正反馈物品集和已有评分,计算所有物品的评分 - 特点:UserCF社交性强,更适合推荐热点;ItemCF适用于兴趣变化较为稳定的应用,例如视频
- 缺点:泛化能力差,处理稀疏矩阵能力差,推荐结构的头部效应明显
1.2 MF
- 原理:R=UV,将共现矩阵分解为用户矩阵和物品矩阵,生成对应的隐向量
- 方法:梯度下降
- 优点:泛化能力强、空间复杂度低、更好的扩展性和灵活性
- 缺点:不方便加入用户、物品和上下文特征
2. LR
- 综合利用用户、物品、上下文多种不同特征,生成较为全面的推荐模型
- 优点:数字含义上的支撑,可解释性强,工程化的需要
- 缺点:模型不具备特征组合的能力,表达能力较差
2.1 特征交叉+LR
- POLY2:(二阶)特征“暴力”组合,两两交叉, f ( w , x ) = ∑ j 1 = 1 n ∑ j 2 = j 1 + 1 n w j 1 , j 2 x j 1 x j 2 f(w,x)=\sum_{j_1=1}^n\sum_{j_2=j_1+1}^nw_{j_1,j_2}x_{j_1}x_{j2} f(w,x)=∑j1=1n∑j2=j1+1nwj1,j2xj1xj2
- FM: f ( w , x ) = ∑ j 1 = 1 n ∑ j 2 = j 1 + 1 n ( w j 1 ⋅ w j 2 ) x j 1 x j 2 f(w,x)=\sum_{j_1=1}^n\sum_{j_2=j_1+1}^n(w_{j_1}\cdot w_{j_2})x_{j_1}x_{j2} f(w,x)=∑j1=1n∑j2=j1+1n(wj1⋅wj2)xj1xj2
- FFM:每个特征对应不止一个隐向量, f ( w , x ) = ∑ j 1 = 1 n ∑ j 2 = j 1 + 1 n ( w j 1 , f 2 ⋅ w j 2 , f 1 ) x j 1 x j 2 f(w,x)=\sum_{j_1=1}^n\sum_{j_2=j_1+1}^n(w_{j_1,f_2}\cdot w_{j_2,f_1})x_{j_1}x_{j2} f(w,x)=∑j1=1n∑j2=j1+1n(wj1,f2⋅wj2,f1)xj1xj2
2.2 GBDT+LR
- 原理:GBDT自动进行特征选择和特征组合,拼接所有子树的特征向量(某一维为1,其他维为0)
- 决策树的深度决定了特征交叉的深度,相比FM的特征交叉能力更强,但是丢失了大量特征的数值信息
- 优点:特征工程模型化,模型能组合更高阶特征
- 缺点:无法完全并行训练,训练时间长
- 改进:XGBoost+LR,RF+LR
2.3 LS-PLM
- 原理:先利用聚类对样本分片,在每个分片内部建LR,将样本的分片概率和LR得分加权平均
-
π
\pi
π=softmax多分类,
η
\eta
η=CTR预估
f ( x ) = ∑ i = 1 m π i ( x ) ⋅ η i ( x ) f(x)=\sum_{i=1}^{m} \pi_i(x)\cdot \eta_i(x) f(x)=i=1∑mπi(x)⋅ηi(x)
超参数m控制模型的泛化能力,阿里巴巴的经验值为12 - 深度学习的角度:等价于一个加入Attention机制的3层网络,输入层是特征向量,中间层是m个神经元组成的隐层,隐层和输出层间分片函数确定注意力得分