【笔记】Recommender System:Social RS
重新整理出来的推荐系统相关的资料;
Social Recommendation 包括:
- 加入了 Social Network 的 SoRec
- 与在前者基础上改进的 Social Trust
SoRec
推荐阅读 《SoRec Social Recommendation using Probabilistic Matrix Factorization》^[1]^
数据的稀疏性一直是推荐算法发展的一个巨大难题,作者考虑到了社交媒体在当今社会的发展,提出了一种加入 social network 的信息和评分记录来改进模型的方法。其主要思路是,用户对一件物品的评分很可能受关注的人/朋友的影响。
假设有m个物品(item),n个用户(user),f个因子(factor)
$U :$ 所有用户的集合
$I :$ 所有物品的集合
$P_{n\times f}: $ user-factor matrix
$Q_{m\times f}:$ item-factor matrix
$Z_{n\times f}:$ user-factor matrix in the social network graph
$R^f:$ 1$×$factor vector
$q_i:$ $Q$ 中物品 $i$ 所在行的向量
$p_u:$ $P$ 中用户 $u$ 所在的行的向量
$\vartheta :$ social network graph
$\nu :$ all the users in a social network
$\varepsilon :$ the edge set in social network graph
$C_{n\times n} :$ user-user matrix of $\vartheta$
$c_{uj}\in (0,1] :$ donate the weight associated with an edge from $\nu_{u}$ to $\nu_{j}$
这里特别注意,在 social network 中的信息是单项的。这代表一个用户 A 关注了另一个用户 B,但 用户 B 不一定知道用户 A。
$d^{+}(\nu_{u}) :$ the outdegree of $\nu_{u}$
$d^{-}(\nu_{u}) :$ the indegree of $\nu_{u}$
如果将上式进行解释,就是一个用户 u 关注的其他的用户越多,那么他受某个特定用户 k 的影响就越少。如果特定用户 k 被很多人关注,那么用户 u 就会更加信任他。
$\kappa$ $:$ $\{ (u,i)|$ $r_{ui}$ is known $\}$
$\hat{r_{ui}}:$ 用户 $u$ 对物品 $i$ 的评分的预测值
$N(x|\mu,\sigma^2): $ 正态分布,均值为 $\mu$ , 方差为 $\sigma^2$
假设 P,Q,R,C,S 皆服从高斯分布,既:
使用极大似然估计,既希望最大化:
使用贝叶斯定理可知:
同理得出 $p(P,Z|C,\overrightarrow{\theta})$ 后进行 $log$ 处理,并且合并两个式子,得:
$\lambda:$ 正则化系数
$\alpha:$ 学习速率(learning rate)
Social Trust
推荐阅读 《Learning to recommend with social trust ensemble》^[2]^
这个模型是作者在上一个模型的基础改进的,主要思想是不再对用户在 social network 中关注的所有用户进行运算,而是挑选出几个用户最信任的朋友。
假设有m个物品(item),n个用户(user),f个因子(factor)
$P_{n\times f}: $ user-factor matrix
$Q_{m\times f}:$ item-factor matrix
$\vartheta :$ social network graph
$R^f:$ 1$×$factor vector
$q_i:$ $Q$ 中物品 $i$ 所在行的向量
$p_u:$ $P$ 中用户 $u$ 所在的行的向量
$\nu :$ all the users in a social network
$\varepsilon :$ the edge set in social network graph
$S_{n\times n} :$ user-user matrix of $\vartheta$
$s_{uj}\in (0,1] :$ donate the weight associated with an edge from $\nu_{u}$ to $\nu_{j}$
$T(u) :$ the friends set that user $u$ trusts
$r_{ui}:$ 用户 $u$ 对物品 $i$ 的打分
$\kappa$ $:$ $\{ (u,i)|$ $r_{ui}$ is known $\}$
$\lambda:$ 正则化系数
$\alpha:$ 学习速率(learning rate)
$\gamma :$ controls how much do users trust themselves or their trusted friends
注意此处依旧有一个控制变量,来调节用户对朋友的信任度
$\hat{r_{ui}}:$ 用户 $u$ 对物品 $i$ 的评分的预测值
$B(u) :$ is the set that includes all the users who trust user $u$
Reference
- Ma, H., Yang, H., Lyu, M.R., & King, I. (2008). SoRec: social recommendation using probabilistic matrix factorization. CIKM ‘08.
- Ma, H., King, I., & Lyu, M.R. (2009). Learning to recommend with social trust ensemble. Proceedings of the 32nd international ACM SIGIR conference on Research and development in information retrieval.