【笔记】Recommender System:Social RS

重新整理出来的推荐系统相关的资料;

Social Recommendation 包括:

  1. 加入了 Social Network 的 SoRec
  2. 与在前者基础上改进的 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

  1. Ma, H., Yang, H., Lyu, M.R., & King, I. (2008). SoRec: social recommendation using probabilistic matrix factorization. CIKM ‘08.
  2. 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.

【笔记】Recommender System:Social RS
http://achlier.github.io/2022/03/11/Recommender-System_Social-RS/
Author
Hailey
Posted on
March 11, 2022
Licensed under