基于先验知识的非负矩阵半可解释三因子分解算法

2022-04-12 09:23张晓霞于洪
计算机应用 2022年3期
关键词:先验矩阵因子

陈 露,张晓霞*,于洪

(1.计算智能重庆市重点实验室(重庆邮电大学),重庆 400065;2.重庆邮电大学计算机科学与技术学院,重庆 400065)

0 引言

潜在空间表示学习广泛地应用在聚类[1-7]、自然语言处理[8-9]和生物科学[10-12]等数据挖掘和机器学习热门领域。非负矩阵三因子分解(Non-negative Matrix Tri-Factorization,NMTF)常用于挖掘原始数据在潜在空间中的特征和标签表示[13-14]。对于给定的原始数据矩阵X,非负矩阵三因子分解会构造3 个非负低秩矩阵(U,S,V),并利用三者的矩阵乘积结果近似拟合原始矩阵。这种三因子的分解思路具有较高的灵活性,各矩阵之间能够保证非负性和正交性等,因此在迁移学习[15]和推荐系统[16-18]领域广泛应用。但目前非负矩阵三因子分解及其变种算法缺乏可解释方面的研究,研究者和使用方无法得知低秩矩阵中隐因子蕴含的具体含义。

本文将非负矩阵三因子分解聚焦在推荐系统领域,对其可解释方面进行了探究,提出基于先验知识的非负矩阵半可解释三因子分解(Partially Explainable Non-negative Matrix Tri-Factorization,PE-NMTF)算法。本文主要工作包括:

1)提出了一种基于部分解释的可解释性可行性方案,将已有的先验知识作为算法的部分依赖,对非负矩阵三因子分解提供可解释性保证。

2)应用特征级情感分析方法挖掘隐藏在用户文本数据中偏好信息。本文将这部分偏好信息被当作是先验知识。

3)在推荐冷启动任务和零次识别任务中的不同数据集上进行了实验,实验结果表明本文所提PE-NMTF 在具有一定可解释意义的同时能够保证算法的有效性。

1 相关工作

近年来,非负矩阵三因子分解(NMTF)被应用于许多机器学习相关热门领域。文献[15]中将NMTF 应用于源域和目标域重叠区域较少的迁移学习领域,取得了很好的效果。具体来说,由于NMTF 可以同时执行特征聚类和标签传播,使用非负矩阵三因子分解就能捕获到源域和目标域之间的传递关系和分布偏移。针对协同聚类(co-clustering)中行列重叠的问题,文献[16]中提出了一种基于非负矩阵三因子分解的新算法,通过在矩阵分解中加入自由度来处理重叠的共聚类;文献[17]中提出了一种过程,该过程旨在通过识别由块矩阵表示的更清晰的相关结构来提高NMTF 作为协同聚类方法的性能;文献[5]中将用户和项目聚集成多个组,即不同的子矩阵,在每个子矩阵中执行NMTF,为一个Top-N任务生成最终的评级预测,实验结果能得到比传统算法更好的结果。在生物医药领域,文献[18]中构建了一个将药物、蛋白质、生物通路和药物类别作为网络节点的大型网络,并利用NMTF重构邻接矩阵来预测新的类别-药物链接。针对NMTF算法本身,文献[11]中认为基于乘法更新规则的NMTF 优化过程有局限性且更新方法较为单一,因此进行了一项涉及6个大型数据集的实证研究,将乘法更新规则与三种备选优化方法(包括交替最小二乘、投影梯度和坐标下降)进行了比较,并一一列举出每个优化方法的优缺点和应用场景。

本文主要针对推荐系统应用场景,解决非负矩阵三因子分解算法的可解释问题。根据文献[19]中的描述,推荐系统的质量和解释生成的可信度之间相互矛盾,很难找到合适的方法在保证推荐系统质量的同时,确保产生的解释是正确且令人信服的,因此本文计划利用外部的信息辅助产生相对合适的解释。具体来说,本文将从用户评论文本数据中挖掘的潜在用户偏好信息作为先验知识,辅助非负矩阵三因子分解算法的结果生成,从而做到半可解释(或称为局部可解释)。通过改变非负矩阵三因子分解的更新公式,得到了在较小时间内能达到收敛的算法。为了证明半可解释的有效性,本文给算法设置了两个不同的子任务,并在相应任务下的基准数据集上进行了实验,实验结果证明了本文思路的可行性。

2 非负矩阵三因子分解

2.1 基本定义

为了一致性,在这一节以推荐场景为例对全文使用到的符号和含义做了定义说明。在具体的推荐算法中,一般将用户-物品的交互矩阵定义为X(X∈RM×N)。本文涉及的X特指用户-物品的评分矩阵,即M个用户对N个物品在范围0~5 之间的评分,0 表示用户未评分。本文定义用户的潜在矩阵为U(U∈RM×r),物品的潜在矩阵为V(V∈RN×k),连接用户-物品隐因子的中间矩阵为S(S∈Rr×k)。

2.2 更新公式

非负矩阵三分子分解不同于传统的协同过滤和非负矩阵分解的两因子分解,它将潜在因子矩阵的非负性和正交性同时考虑到算法中,构建了包含用户隐因子矩阵、物品隐因子矩阵和中间矩阵的三因子共同更新的方法。如图1 所示,NMTF 算法利用USVT的乘积结果得到近似评分矩阵X′,并利用欧氏距离等度量方式在更新迭代的过程中不断优化U、S、V。具体的损失函数为:

图1 非负矩阵三因子分解示例Fig.1 Example of non-negative matrix tri-factorization

式(1)是根据欧氏距离构造的损失函数,通过梯度下降的更新方式,可以得到每个潜因子矩阵的更新公式为:

3 基于先验知识的半可解释NMTF算法

本章详细介绍如何利用用户文本数据导出有关用户偏好的先验知识,并且将先验知识引入非负矩阵三因子分解中,辅助算法结果的生成。

3.1 获取先验信息

根据文献[20]的描述,用户评论能提供用户对物品细粒度上的理解,因此文献[18]中的特征级情感分析技术可以很容易地应用于评论中,构建特定领域的情感词典。按照文献[21-22]以及该团队对相关方面工作的描述,可以将词典中每个词汇条目的形式定义为(特征,观点,情感极性),缩写为(f,o,s),这样一组词汇条目表示从用户描述特征f 的文本短语o 中推断出的极性s。由于如何利用短语层面的情感分析构建情感词典并不是本研究的重点,建议有兴趣的读者参考文献[21]。在词典构建过程中,本文将用户的情感极性s 标记为+1 或-1,分别表示用户积极或消极的意见。本文认为用户表现的积极和消极的意见都是蕴含用户内心偏好的先验信息。将这些先验信息嵌入到算法的迭代逻辑中,能帮助系统生成更具参考价值、更符合用户内心偏好的结果。本文将积极和消极的情感极性统一看待,认为它们对算法结果的影响权重一致。通过这样的构建方式,就得到了用户关于特定特征的偏好,称之为用户情感极性矩阵。

3.2 目标函数及更新过程

本节将详细介绍算法的目标函数构建和相应的更新过程。

本文将物品隐因子矩阵V分解成V1∈RN×k1和V2∈RN×k2两个子矩阵,其中k1+k2=k。类似的,用户-物品隐因子中间矩阵S也进行相似的分解,分解为S1∈Rr×k1和S2∈Rr×k2两个子矩阵。将V1替换为3.1 节中提到的用户情感极性矩阵。具体来说,本文构建的用户情感极性矩阵与V1的维度一致,在更新过程中,将不再更新这部分。根据欧氏距离构建了基于矩阵范数的目标函数,并最小化原始矩阵和重构矩阵之间的距离,具体为:

根据梯度下降法和最优化理论,就会得到以下各个子矩阵的更新公式:

4 实验结果

4.1 度量标准

本文算法对冷启动推荐任务的有效性通过均方根误差(Root Mean Squared Error,RMSE)和归一化折损累计增益(Normalized Discounted Cumulative Gain,NDCG)[22]来衡量,零次识别子任务采用归一化互信息(Normalized Mutual Information,NMI)和准确率(ACCuracy,ACC)作为评价指标[23]。具体公式定义如下:

其中:xu,i表示用户u对物品i的真实评分,u,i表示根据式(1)得到的对应的预测评分,X表示测试集中所有的用户物品集合,ri表示在对应位置的等级关联性,I(∙)表示互信息,H(∙)表示相对熵,TP(True Positive)为将正类预测正确的数,FN(False Negative)为将正类预测错误的数,FP(False Positive)为将负类预测为错误的数,TN(True Negative)为将负类预测正确的数。

4.2 数据集

本文在Amazon、Yelp、AwA(Animal with Attribute)[24-25]和CUB(Caltech-UCSD Birds-200-2011)[26]四个数据集上进行实验。具体来说,对于冷启动任务,选用前两个数据集进行测试,而将后面两个数据集用于验证零次识别任务。Yelp 数据集是一个餐馆业务数据集。Amazon 数据集采用其中关于手机和配件业务的数据集,非常稀疏,该平台上73%的用户和47%的商品只有一个评论数据。在做冷启动任务时,将上述两个数据集的90%用于训练集,10%用于测试集。AwA 数据集包含50 个动物类别,每个类别有85 个维度(即属性),一共有30 475 张图片,其中每张图片是32×32 的维度。将其中40个类设为训练集,一共包含24 295 张图片,其余10 个类作为测试集。CUB 数据集是一个鸟类数据集,其中包含了200 种类别,总共包含11 788 张图片,每张图片的尺寸为32×32,将其中150 个类的数据作为训练集,一共包含8 827 张图片,其余50 个类作为测试集。

4.3 实验和结果

为比较本文算法PE-TNMF 性能,实验采用非负矩阵分解(Non-negative Matrix Factorization,NMF)[6]、非负矩阵三因子分解(NMTF)[27]以及物品隐因子矩阵全由已知信息组成的完全可解释非负矩阵三因子分解(Fully Explainable Nonnegative Matrix Tri-Factorization,FE-NMTF)作为对比算法,并采用5 次交叉验证进行实验。

表1 为四种算法在冷启动推荐任务上的实验结果,本文算法在Yelp 和Amazon 数据集上的效果都要好于前两种传统算法,同时,实验结果和全可解释方法相差很小,说明半可解释用于非负矩阵三因子分解的可行性。

表1 四种算法在冷启动任务上的实验结果Tab.1 Experimental results of four algorithms on cold-start tasks

表2 为四种算法在零次识别任务上的实验结果。在图像数据集上,本文算法同样具有很好的效果,这进一步验证了半可解释思路的可行性。

表2 四种算法在零次识别上的实验结果Tab.2 Experimental results of four algorithms on zero-shot tasks

在图2 中给出了四种算法的收敛性,在引入半可解释的全新更新公式的作用下,本文算法仍然具有较快的收敛速度。

图2 四种算法在4个数据集的收敛性Fig.2 Convergence of four algorithms on 4 datasets

5 结语

本文提出了一种基于先验知识的非负矩阵半可解释三因子分解算法,试图在算法质量和解释可信度上做到平衡,利用丰富的用户评论文本数据,得到了包含情感偏好的先验信息。为此,本文更改了原始非负矩阵三因子分解算法,将先验信息嵌入到算法结果的生成过程中,产生富有解释的结果。实验结果表明,利用先验信息进行非负矩阵三因子分解的部分可解释的想法成立,并且能够取得良好的效果。此外,将更复杂多样的先验知识和更细的正则化约束作为下一步研究工作。

猜你喜欢
先验矩阵因子
康德定言命令的演绎是一种先验演绎吗?——论纯粹知性与实践理性在先天原则证成方面之异同
基于暗通道先验的单幅图像去雾算法研究与实现
先验想象力在范畴先验演绎中的定位研究
山药被称“长寿因子”
直径不超过2的无爪图的2—因子
巧解难题二则
多项式理论在矩阵求逆中的应用
先验的风
矩阵
矩阵