前文总结了推荐经典的推荐算法
由于rating 信息与tag信息是并列性质的信息,所以通常情况下,我们都是单独的处理;标签推荐或者评分预测(利用分类方法);
CLARE:A Joint Approach to Label Classification and Tag Tecommendation 联合Tag与Label之间的关系信息,分别进行分类和标签推荐;将二者的二部图关联信息(非结构化信息)通过重叠套索组方式融合到经典的模型中,(优化过程中用到了乘子罚函数法,矩阵的迹、矩阵的F-范数等信息)。
因为 Label属于大类别信息,它为Tag标签提供了一个上下文范围;同时Tag标签信息也为Label提供了证据;
1 基本分类模型
基本的分类模型使用了常用的分类器,然后构造出损失函数,再加上惩罚项约束,最后最小化这个目标函数即可。
X∈Rn∗d
,
d
代表了输入的特征(文本的embedding向量);
Y∈Rn∗c
;
那么:
其中, Ω 是惩罚项,一般取二范数、L2-loss; L 是损失函数
2 Tag-Label关联信息
Label 是类别信息,一个文本一般只属于一个类;
Tag 是小标签信息,更加具体、随意;而且一个文本有多个Tag
一个Label 中有多个Tag
多个Label间共享多个Tag
可以使用二部图描述二者的关系:
对于一个Label
ci
,可以得到与其关联的Tag的集合信息(组)
g={t1,t2,...,t5}
,
max|g|=c1
,
c1
表示Tag的总个数;
c2
表示Label的个数;
wig=[W(i,t1),W(i,t2),...,W(i,t5)]
根据二部图,可以得到
|c|
个
g
,定义为
特征之间存在组关联;利用重叠组套索模型,可以得到:
3 本文模型
本文首先将Tag推荐和Label分类模型进行统一化,相应的变量进行级联;
X∈Rn∗d
,
d
代表了输入的特征(文本的embedding向量);
Y∈Rn∗(c1+c2)
;
将特征的组模型作为惩罚项,构造新的目标函数:
组模型有一个问题: 组的大小不一致,为此我们利用稀疏矩阵将组大小统一到 c1+c2 ,并引入一个等式约束,转化问题;
引入 V∈Rd∗c2(c1+c2) , M∈{0,1}(c1+c2)∗c2(c1+c2),M(i,(c1+c2)(j−1)+i)=1, if B(i,j)=1.
原问题转换成:
含有等式约束的最优化问题见博客;
这里使用乘子罚函数法:其中
μ∈Rd∗c2(c1+c2)
,拉格朗日乘子;
接下来,使用轮转方向乘子法更新
W,V,μ
;
(1)更新
W
,固定
Trace(ATA)=∑ni∑niai,j∗ai,j=||A||2F
||A+B||2F=∑∑(ai,j+bi,j)2=∑∑(a2i,j+b2i,j+2ai,jbi,j)=||A||2F+||B||2F+2Trace(ATB)
梯度为零即可;这里有进一步的变换和化简;
(3)更新
V
(2)更新
μ
梯度下降法更新即可;
4 小结
此文模型考虑了Tag-Label信息,利用重叠套索组模型构造特征组约束;
不管在分类领域还是标签推荐领域都取得了很好的结果;
不足之处:
1. 计算Tag-Label关联时,利用邻接矩阵方式,没有考虑他们共现的频率(Tag-Label之间的关联程度不同);
2. Tag信息的噪音很大,需要数据预处理;