一、基于图模型的推荐

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

1.probability spreading

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

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

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

2.heat spreading

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

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

$$f_h^p=\frac{1}{K(I_j)}\sum_{l=1}^{n}\sum_{s=1}^{m}\frac{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的推荐。

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

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

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

二、矩阵分解的张量模型

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

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

填充后即得到评分矩阵