目录
0.序言
1.协同过滤(隐式特征)
1.1 邻域 Neighborhood_CF(usercf, itemcf)
usercf
itemcf
相似度计算方法
1.2 矩阵分解 MF
1.21 Motivation for MF
1.22 矩阵分解的方法
1.23 概率矩阵分解
1.24 消除用户和物品打分的偏差
2.内容过滤 (显式特征)
2.1 逻辑回归LR
2.2 因子分解机FM
2.3 特征域因子分解机FFM
2.4 组合模型
GBDT+LR (Facebook)
LS-PLM (阿里)
0.序言
传统推荐模型可以根据 数据源的不同,分为基于内容的推荐,和基于协同过滤的推荐。
协同过滤
忽略对item的建模,只考虑用户与物品的交互信息,即 共现矩阵 进行建模。协同过滤根据用户相似度、物品相似度可以划分为 usercf 和 itemcf,分别是行列向量计算相似度。
原理是利用用户访问行为的相似性 或 物品相似性,来互相推荐用户可能感兴趣的物品。
内容过滤
内容过滤:基本思想是给用户推荐和他们之前喜欢的物品在 内容上 相似的其他物品。核心任务就是 计算物品的内容相似度。
只考虑了item的本身性质,将对象按标签形成集合,如果你消费集合中的一个则向你推荐集合中的其他对象。
侧重于对user 或者 item的 属性信息 建模,比如用户的性别、年龄,商品的颜色、大小等属性。对于同一用户而言,需要利用用户的性别、年龄、爱好等组成特征向量来表示;
1.协同过滤(隐式特征)
1.1 邻域 Neighborhood_CF(usercf, itemcf)
usercf
itemcf
usercf
itemcf
相似度计算方法
1.2 矩阵分解 MF
1.21 Motivation for MF
流行度会导致长尾分布,产生头部效应。
也就是热门商品容易和大量商品产生相似性,而尾部商品往往特征向量稀疏,不容易被推荐。
流行度会导致长尾分布,产生头部效应。
也就是热门商品容易和大量商品产生相似性,而尾部商品往往特征向量稀疏,不容易被推荐。
为了缓解流行度产生的头部效应,更好的处理稀疏矩阵,提出了矩阵分解算法。
矩阵分解是在协同过滤算法的共现矩阵的基础上,加入了隐向量的概念,加强了模型处理稀疏矩阵的能力 [2006年]。
矩阵分解将共现矩阵R分解为用户向量U和物品向量V。分解形式为R=U^T✖️V。其中R是N*M维度的,U的维度是D*N的,V的维度是D*M的。
1.22 矩阵分解的方法
特征值分解 ED(Eigen Decomposition)
其中,特征值分解,只能作用于方阵。不适用于共现矩阵。
奇异值分解 SVD(Singular Value Decomposition)
梯度下降 (Gradient Descent)
1.23 概率矩阵分解
为了解决矩阵分解由于噪声存在,有时不存在完美的低秩分解,提出了概率矩阵分解PMF。
为了解决矩阵分解由于噪声存在,有时不存在完美的低秩分解,提出了概率矩阵分解PMF。
先验假设:对噪声||R-R^||、用户矩阵U、物品矩阵V,进行 高斯先验假设/Laplace先验假设。
目标函数:max P(U、V|R) ∝ P(R|U、V)*P(U)*P(V)
等价于共现矩阵R条件下U、V的概率,等价于 U、V条件下R的概率 * P(U) * P(V)
优化:对R进行max_min归一化,对U^T*V进行 sigmoid激活,把两者都投射到(0,1)区间。这样就解决了评分区间有限的问题。
求解:用梯度下降求数值解。把矩阵每一个值都当成参数,用梯度下降的方法去求解。
1.24 消除用户和物品打分的偏差
消除行偏置bu(用户user)、列偏置bi(物品item)、均值偏置。


![[RS] 传统推荐模型: 协同过滤CF&MF 内容过滤LR&FM&FFM [RS] 传统推荐模型: 协同过滤CF&MF 内容过滤LR&FM&FFM](http://www.mshxw.com/aiimages/31/588892.png)
