Paper notes(2):三部图张量分解标签推荐算法

Paper notes(2):三部图张量分解标签推荐算法

    • 1. 解决的问题和解决的方法
    • 2.文中用到的符号及其定义
    • 3. TTD算法

本文只是个人用于记录论文学习笔记,如有写错的地方还望各位大佬批评指正。

1. 解决的问题和解决的方法

三部图转换成二部图时会丢失部分元素间的相关信息,而且不能有效处理标签系统中具有大量稀疏值和缺失值的数据。

关于丢失信息的问题,以常用的 { i t e m , u s e r , t a g } \{item,user,tag\} {itemusertag}标签系统为例,数据以三元组 { i , j , k } {\{i, j, k\}} {i,j,k}的形式出现,表示用户 k k k在资源 i i i上进行了 j j j标签标注,三部图在转换为二部图的过程中,只考虑了 U i j , W i k , V j k U_{ij},W_{ik}, V_{jk} Uij,Wik,Vjk之间的关系,而损失部分 { i , j , k } {\{i, j, k\}} {i,j,k}之间的信息,以下图为例, i t e m item item 中的 i 2 i_2 i2 t a g tag tag 标签 j 2 j_2 j2 之间不仅仅存在着 U i 2 j 2 U_{i_2j_2} Ui2j2 的关系,同时 i 2 i_2 i2 j 2 j_2 j2 还可以沿着 i t e m item item 中的 i 2 i_2 i2 u s e r user user 中的 k 2 k_2 k2 以及 u s e r user user 中的 k 2 k_2 k2 t a g tag tag 中的 j 2 j_2 j2 之间传递 i 2 与 j 2 i_2与j_2 i2j2 之间的信息,这一部分信息会在转换为二部图的过程中遗失。
Paper notes(2):三部图张量分解标签推荐算法_第1张图片
对于上述问题,这篇文章提出了基于三部图的三维张量分解推荐算法(TTD)

2.文中用到的符号及其定义

Paper notes(2):三部图张量分解标签推荐算法_第2张图片

3. TTD算法

三部图张量分解模型为:
Y i j k = U i j V i k + V i k W j k + U i j W j k (4-2) Y_{ijk}=U_{ij}V_{ik}+V_{ik}W_{jk}+U_{ij}W_{jk} \tag{4-2} Yijk=UijVik+VikWjk+UijWjk(4-2)
U i j , V i k , W j k U_{ij},V_{ik},W_{jk} Uij,Vik,Wjk的初始值为:
U i j = X i j ∗ (4-3) V i k = X i ∗ k (4-4) W j k = X ∗ j k (4-5) \begin{aligned} U_{ij} &=X_{ij*} \qquad &\text{(4-3)} \\ V_{ik} &=X_{i*k} &\text{(4-4)} \\ W_{jk} &= X_{*jk} &\text{(4-5)} \end{aligned} UijVikWjk=Xij=Xik=Xjk(4-3)(4-4)(4-5)
目标函数为:
min ⁡ i j k J = min ⁡ ∑ i j k ( X i j k − Y i j k ) 2 + α ( ∥ U ∥ 2 + ∥ V ∥ 2 + ∥ W ∥ 2 ) \min_{ijk}J=\min\sum_{ijk}(X_{ijk}-Y_{ijk})^2+\alpha(\lVert U\rVert^2+\lVert V\rVert^2+\lVert W\rVert^2) ijkminJ=minijk(XijkYijk)2+α(U2+V2+W2)
将公式4-2带入上式可得:
min ⁡ U , V , W J = min ⁡ ∑ i j k ( X i j k − ( U i j V i k + V i k W j k + U i j W j k ) ) 2 + α ( ∥ U ∥ 2 + ∥ V ∥ 2 + ∥ W ∥ 2 ) (4-17) \min_{U,V,W}J=\min\sum_{ijk}(X_{ijk}-(U_{ij}V_{ik}+V_{ik}W_{jk}+U_{ij}W_{jk}))^2+\alpha(\lVert U\rVert^2+\lVert V\rVert^2+\lVert W\rVert^2) \tag{4-17} U,V,WminJ=minijk(Xijk(UijVik+VikWjk+UijWjk))2+α(U2+V2+W2)(4-17)
分别对 U , V , W U,V,W U,V,W求偏导并令其等于0,可以得到 U , V , W U,V,W U,V,W的最优解如下:
U = ( V V T e i e j T + e i e j T W T W + 2 V W T + α I ) − 1 ⋅ ( X V ∗ k + X W ∗ k − ( V ⋅ V ) W T − V ( W T ⋅ W T ) ) (4-19) V = ( U U T e i e k T + e i e k T W T W + 2 U W + α I ) − 1 ⋅ ( X U ∗ j + X W ∗ j − ( U ⋅ U ) W − U ( W ⋅ W ) ) (4-21) W = ( U T U e j e k T + e j e k T V T V + 2 U T V + α I ) − 1 ⋅ ( X U ∗ i + X V ∗ i − ( U T ⋅ U T ) V T − U T ( V ⋅ V ) ) (4-23) \begin{aligned} U &=(VV^Te_ie_j^T+e_ie_j^TW^TW+2VW^T+\alpha I)^{-1}\cdot(X^k_{V^*}+X^k_{W^*}-(V\cdot V)W^T-V(W^T\cdot W^T)) \quad &\text{(4-19)} \\ V &=(UU^Te_ie_k^T+e_ie_k^TW^TW+2UW+\alpha I)^{-1}\cdot(X^j_{U^*}+X^j_{W^*}-(U\cdot U)W-U(W\cdot W)) \quad &\text{(4-21)} \\ W &=(U^TUe_je_k^T+e_je_k^TV^TV+2U^TV+\alpha I)^{-1}\cdot(X^i_{U^*}+X^i_{V^*}-(U^T\cdot U^T)V^T-U^T(V\cdot V)) \quad &\text{(4-23)} \end{aligned} UVW=(VVTeiejT+eiejTWTW+2VWT+αI)1(XVk+XWk(VV)WTV(WTWT))=(UUTeiekT+eiekTWTW+2UW+αI)1(XUj+XWj(UU)WU(WW))=(UTUejekT+ejekTVTV+2UTV+αI)1(XUi+XVi(UTUT)VTUT(VV))(4-19)(4-21)(4-23)
算法伪代码如下:
Paper notes(2):三部图张量分解标签推荐算法_第3张图片
:缺失值填补采用张量均值填补

你可能感兴趣的:(paper,notes)