基于标签的推荐系统

一、基于图模型的推荐 

在不考虑标签时,基于二项图有两种随机游走的图推荐算法:

1.probability spreading

      随机游走算法,在游走中,每个目标得到权重是基于归属者的边计算出来的。

每次传播(item->user->item)后用户Ui的兴趣向量:

$$f_j^p=sum_{l=1}^{n}sum_{s=1}^{m}cfrac{a_{lj}a_{ls}a_{is}}{K(U_l)K(I_s)},j=1…m$$

2.heat spreading

     规则与ProbS相反,在游走中,每个目标得到权重是基于自己的边计算出来的。

每次传播后用户Ui的兴趣向量:

$$f_h^p=cfrac{1}{K(I_j)}sum_{l=1}^{n}sum_{s=1}^{m}cfrac{a_{lj}a_{ls}a_{is}}{K(U_l)},j=1…m$$

其中:$K(I_j)=sum_{l=1}^{m}a_{lj}$是节目j的邻域大小,$K(U_l)=sum_{l=1}^{n}a_{ls}$是用户l的邻域大小。

$a_{ij}$是表示用户i和物品j之间是否有边存在的二元向量。

相比之下,Heats算法倾向于降低热门item的权重,而Probs中与增强对热门item的推荐。

在随机游走算法的基础上,有基于三分图的标签推荐算法:

NewImage

图中,用户i的每个item的权重(1 or 0)会同时像用户和标签进行传播,这样每次传播后的兴趣向量:

$f_j^t=lambda f_j^p + (1-lambda) f_j^{pt}$,其中$f_j^p$和$f_j^{pt}$分别是从(item->user->item)和(item->tag->item)传播后得到的权重。

二、矩阵分解的张量模型

对三元阵$Y_{(n imes m imes t)}$进行矩阵分解,C为核张量,U,I,T为用户特征,物品特征和标签特征矩阵。

根据分解结果对Y进行填充。

NewImage

 填充后即得到评分矩阵

 

原文地址:https://www.cnblogs.com/luosha/p/4103462.html