现有的大多数张量(或多路阵列)分析方法仅假设要完成的张量等级较低。 但是,例如,当将它们应用于张量完成问题时,如果仅观察到有限的条目,则它们的预测精度往往会大大变差。 在本文中,除了低秩假设之外,我们还建议使用数据之间的关系作为辅助信息,以提高张量分解的质量。 我们介绍了两种使用从关系式导出的图拉普拉斯算子的正则化方法,并为近似解设计了迭代算法。 使用综合和基准数据集进行张量完成的数值实验表明,仅基于低秩假设,尤其是在观察稀疏的情况下,使用辅助信息可以比现有方法提高完成精度。
在实际的数据分析应用中,我们经常要面对多对象关系的处理。例如,在在线营销场景中,我们分析客户、商品和时间之间的关系,以捕获客户兴趣的时间动态,并利用它们进行推荐。在社会网络分析中,人与人之间的互动及其互动类型是人们关注的焦点。类似的情况出现在生物和化学信息学蛋白-蛋白相互作用和药物靶标相互作用在各种条件下。张量(或多路数组)[10]非常适合表示这种多目标关系(图1)。张量分析方法,特别是低秩张量分解的模型和高效算法,已经被广泛研究并应用于许多现实问题。CANDECOMP/PARAFAC(CP)分解和Tucker分解是两种常用的张量低秩分解(图2)。
图1所示。大小为I ×J ×K的三阶张量(或三向数组)X表示三组对象S1、S2和S3之间的关系,每组对象的大小分别为I、J和K
张量完成是张量分析方法的重要应用之一。 给定一个张量,其中某些元素丢失了,任务是估算缺失值。 在先前的在线营销方案的背景下,鉴于对某些(客户,项目,时间)元组的观察,我们可以通过估算未观察到的组合来提出建议。 张量补全还用于链接预测[6,9]和标签推荐[15]。 与其他张量分析方法类似,张量的低秩假设通常用于估算缺失值。 但是,当观测稀疏时,换句话说,未观测元素的比例很高,仅在低秩假设下的张量完成方法的预测准确性趋于变差。 例如,图3显示了针对特定数据集的CP分解相对于未观察元素的比例所产生的预测误差。 (实验设置与图4(c)相同,将在实验部分进行详细说明。)我们可以看到,当观察稀疏时,张量完成的精度会大大降低。 这个事实意味着,低等级的假设本身是不够的,我们需要其他假设来引入更多的先验知识。
在许多情况下,我们不仅具有对象之间的关系信息,而且还具有有关对象本身的信息。 例如,在在线营销方案中,每个客户都有他/她的人口统计信息,而每个项目都有其产品信息。 我们考虑利用这些辅助信息来提高张量分解的预测精度,尤其是在稀疏情况下。 受到Li等人工作的启发。 文献[12]将对象相似性纳入矩阵分解,我们在张量分解的正则化框架中利用作为相似性矩阵给出的辅助信息。
图3所示。“Flow injection流动注入”数据集的cp分解张量完井性能。当观测数据稀疏时,预测精度严重退化。
我们提出了两种具体的正则化方法,其中一种我们称之为“模内正则化”,是Li等人提出的矩阵分解方法的自然扩展。它利用由相似矩阵导出的图拉普拉斯函数来强制每个模态下的两个相似对象行为相似,即具有相似的因子。第二种方法我们称之为交叉模式正则化,它更积极地利用相似性信息来解决极端稀疏的情况。我们将这两种正则化方法分别应用于cp -分解和Tucker分解,并给出了迭代分解算法来获得近似解。在每次迭代中,我们求解一个特定的Sylvester方程进行cp -分解,或获得Tucker分解的特征分解。据我们所知,我们的工作是第一次将辅助信息并入张量分解。
最后,我们展示了利用合成和真实基准数据集进行缺失值赋值的实验结果。我们测试了两种关于缺失元素的假设。第一个是元素方面的缺失,每个元素都是独立缺失的。第二种是部分缺失(换句话说,对象缺失),缺失值以一种更突然的方式出现,与某些对象相关的所有元素都完全缺失。实验结果表明,辅助信息的使用提高了观测稀疏时的计算精度,交叉模式正则化方法尤其适用于极稀疏的切片缺失情况。
本文的其余部分组织如下。第二节回顾了现有的低秩张量分解方法,并介绍了本文重点研究的含辅助信息张量补全问题。在第三节中,我们提出了两种正则化策略,模内正则化和交叉正则化,用于在张量分解中合并辅助信息,并给出了它们的近似解。第4节展示了使用几个数据集的实验结果,以证明所提出的方法能够很好地工作,特别是在观测数据稀疏的情况下。第五部分对相关工作进行了回顾,第六部分对全文进行了总结,并对未来的研究方向提出了一些看法。
首先回顾现有的低秩张量分解方法,然后利用辅助信息给出张量补全问题。
设X是具有I × J × K个实值元素的三阶张量(即三向数组)s1。三阶张量X对来自三个集合S1、S2和S3的对象之间的关系进行了建模。例如,在在线营销上下文中,S1、S2和S3分别表示客户、项目和时间戳集合。(i, j,k)-第i个元素[X]i,j,k表示第i个用户在第k时刻对第j个物品的评价。
当我们分析用张量表示的数据时,我们经常假设张量是低秩的。与矩阵(是张量的特殊情况)相比,低秩张量的定义并不是唯一的。低秩张量的定义常用CANDECOMP/PARAFAC (CP)分解和Tucker分解。
cp分解是矩阵秩的自然扩展,它用R秩1张量的和来近似一个张量。X的cp分解ˆX定义为
其中◦表示产品的外积操作。或者,它也可以用模 i 乘法表示为
其中J∈RR×R×R是单位张量,其所有超对角元素均为1,其他元素均为0,U∈RI×R,V∈RJ×R,W∈RK×R是因子矩阵,×i是模式 i 的乘积[10]。 在上述关系中,当左侧等于右侧时,我们说X的秩为R。
Tucker分解近似于一个带有小“核心张量”和因子矩阵的张量,它被定义为
其中G是一个(P,Q,R)张量,U∈RI×P,V∈RJ×Q,W∈RK×R是因子矩阵。 在这种情况下,我们说X为秩(P,Q,R)。
在大多数实际情况下,观测值会受到噪声的干扰,即使“真”X实际上是低秩的,严格的低秩分解也不成立。因此,我们尝试通过以下优化问题,找到根据平方损失最好地近似原始张量X的分解^X,
其中||·||F表示Frobenius范数,而ˆX由CP分解等式(1)定义,或通过Tucker分解等式(2)。通常很难获得最佳解,因此我们使用近似方法来交替优化U,V和W。
在众多的张量相关问题中,张量补全问题是其中一个重要的问题,它的任务是将给定张量的缺值赋给缺值。低秩假设通常作为推断缺失部分的启发式方法。由于在这种情况下优化问题(3)中并没有观察到所有的元素,因此通常采用EM算法[18,20]。首先,我们用一些初始估计(例如观测元素的平均值)来填补缺失的部分,并对填充的张量应用张量分解。然后我们通过组合分解张量得到新的估计。我们继续分解步骤和重建步骤,直到收敛得到最终的估计。
由于EM算法使用未观测元素进行计算,在大规模数据中效率不高。因此,另一种方法是修改目标函数(3),只关注观察到的部分[1]。在本文中,我们基于基于EM的方法构建了我们的方法,但其基本思想也适用于其他方法。
张量的低秩假设使缺失值的赋值成为可能。然而,当观测是稀疏的,换句话说,未观测元素的比例很高时,仅在低秩假设下张量补全方法的预测精度会严重下降。(参见图3显示了预测误差与数据集未观察元素的比率。)因此,低秩假设本身是不够的,我们需要其他假设来获得满意的预测精度。
在许多实际情况中,我们不仅有表示为张量的关系信息,而且还有关于形成关系的对象的信息。例如,在(客户、产品、时间)关系中,每个客户都有他/她的人口统计信息,每个产品都有它的产品信息。我们也知道时间是连续的,可以假定时间是平滑的。因此,我们假设我们有S1、S2和S3的相似度量,每一个都对应于三种模式的每一组对象。我们定义一个非负对称矩阵A1来表示S1中任意两个对象之间的相似性。A2和A3的定义类似。
我们考虑利用这些辅助信息来提高张量分解的预测精度,特别是对于稀疏观测。本文所关注的张量补全问题总结如下。
问题:(三阶)辅助信息张量补全
–输入–
一个三阶张量X∈RI×J×K,它的一些元素是可以观测到的,其他元素是无法观测到的。
三个非负对称相似矩阵A1∈R+I×I, A2∈R+J×J, A3∈R+K×K,每一个都对应X的三个模态之一。
–输出–
由CP分解Eq.(1)或Tucker分解Eq.(2)定义的一个分解ˆX。
在本节中,我们提出两种正则化方法来将辅助信息合并到张量分解中。采用正则化框架对cp -分解和Tucker分解进行了推广。
已知除X外的三个对象相似矩阵A1, A2和A3,我们如何使用它们来改进张量分解?很可能,我们可以做的一个自然假设是,两个相似的物体行为相似。我们将这一思想作为正则化项来实现优化问题(3)。也就是说,我们用正则化项R( ˆX ; A1, A2, A3)来最小化下面的正则化目标函数,而不是式(3)中的目标函数。
在等式中 (4),α是正正则化常数。
我们提出正则化项R(ˆX; A1,A2,A3)的两个特定选择。我们称为“模式内正则化”的第一种方法是Li等人 [12]提出的矩阵分解方法的自然扩展。它使用由三个相似性矩阵得出的图拉普拉斯算子来迫使每种模式下的两个相似对象具有相似的行为,换句话说,具有相似的因子。 我们称为“交叉模式正则化”的第二种方法更积极地利用相似性信息来解决极为稀疏的情况。 它使用由三个相似性矩阵的Kronecker乘积导出的拉普拉斯图,通过考虑不同模式之间的相互作用,同时对所有模式的因子进行正则化。
第一个正则化项是利用相似矩阵对各模态的因子矩阵进行正则化。“模内”正则化术语定义为
其中,L1是由对象集S1的相似矩阵A1导出的拉普拉斯矩阵。拉普拉斯矩阵定义为
D1是一个对角线矩阵它的第i对角线元素是A1第i行所有元素的和。另外两个集合L2≡D2−A2和L3≡D3−A3的拉普拉斯矩阵的定义是类似的。
为了解释正则项,我们注意到tr(UTL1U)可以重写为
其中[·]i,j表示矩阵的第(i,j)个元素。这一项意味着,如果两个物体(si, sj∈S1)彼此相似(即[A1]i,j是大的),相应的因子向量([U]i∗和[U]j∗)应该彼此相似。
采用模内正则化的cp分解目标函数为
Eq.(7)不是(U, V,W)的凸函数,而是每一个U, V,W的凸函数。因此,我们对U, V,W中的一个进行优化,将其他的固定在当前的值上,并通过改变因子矩阵来交替更新来优化。
假设我们想优化U,固定V和W,用第一模态展开Eq.(7)(即,使模态1矩阵化),我们得到
其中X(n)表示X的模式 n 矩阵,表示Khatri Rao乘积[10]。 相对于U进行微分,并将其设置为零,则得出Sylvester方程,
其中∗表示阿达玛乘积( the Hadamard product)(即元素的乘积)。Sylvester方程可以用几种数值方法求解,如在MATLABR中实现的dlyap函数。
在Tucker分解的情况下,目标函数为
我们在正交性约束下最小化目标函数(8)
注意到核张量G是封闭解,
式(8)的第一项可以改写为
当我们针对U优化Eq.(8)时,忽略与U无关的项,我们得到一个等价的最大化问题
用第一阶模态展开式(9)有
设置
f ~ (U)进一步重写为
满足正交性约束UT U = I的等式(10)的最大化被作为是SST-αL1的第I个前导特征向量而获得
模式内正则化方案仅在每个因子矩阵内对元素进行正则化,因为U的每个元素最多只能与U中的 I-1 个元素进行交互。这一事实有时会限制我们在出现突发缺失值时的正则化效果,例如, 在推荐器系统的上下文中,经常发生片级丢失情况,其中没有对某些对象给出任何观察结果,这是冷启动问题。 在这种情况下,内模正则化有时可能过于保守。
我们提出的第二个正则化函数更积极地利用给定的辅助信息。它将给定的相似矩阵组合起来,将不同模态的元素进行共正则化组合
其中IJK × IJK- laplacian矩阵L定义为
将正则化项Eq.(11)重写为矩阵元素为
该方法对三个不同因素的组合进行正则化,与模式内正则化(6)分别考虑每个模式。
交叉模态正则化(11)可以看作是模内正则化(5)的自然变体。因为,如果我们在式(11)中使用的Kronecker和⊕而不是Kronecker乘积⊗,在正交性约束下,它会被简化为式(5)。
交叉模态正则化cpm分解的目标函数定义为
注意式(11)可以简化为
类似于模内正则化,我们得到了U 的Sylvester方程
其中DVW和AVW的定义如下
将交叉模态正则化Tucker分解的目标函数定义为
同样,我们交替地对U、V和W中的一个最小化目标函数。通过类似于模内正则化的推导,得到了V和W固定的最优U作为下式的 I 个主要特征向量
我们展示了使用合成和真实基准数据集的三阶张量补全问题的一些数值实验结果,并证明了引入辅助信息可以提高预测精度,特别是当观测值是稀疏的时候。
第一个数据集是具有相关对象的合成张量。我们利用线性公式用秩 R≡2,I≡J≡K≡30的U∈RI×R, V∈RJ×R,W∈RK×R生成了cp分解张量。
其中是使用标准高斯分布生成的常数。 合成张量X∈RI×J×K定义为
由于每个因子矩阵的列都是由线性函数生成的,因此连续的行彼此是相似的。因此,第 i 阶模态的相似矩阵自然定义为以下三对角矩阵。
作为一个具有辅助信息的真实基准数据集,我们使用秩亏谱FIA数据集,它包含了12种不同化学物质的流动注射分析结果。它们被表示为大小为12(物质)×100(波长)×89(反应时间)的张量。
我们为这三种模式构造了三个相似矩阵,如下所示。由于12种化学物质中某一化合物的三种结构异构体的含量不同,每一种物质都可以用一个三维特征向量来表示。我们将两种物质之间的相似性定义为其特征向量之间欧氏距离的倒数。此外,由于波长和反应时间具有连续的实际值,我们只需将两个连续的波长值(或反应时间值)的相似性设置为一个。
我们使用的另一个基准数据集是三向电子鼻数据集2,该数据集由应用于甘草以检查其质量的气味传感系统的测量组成,并表示为大小为18(样本)×241(反应时间)×12(传感器)的三阶张量。
由于18个样品分别贴上了三个品质标签{BAD, FBAD, GOOD}中的一个,所以我们将相同标签的两个样品的相似度设为一个。反应时间的相似性定义与流动注射数据集相同。最终,我们得到了该数据集的两个相似矩阵。
我们比较了以下3种(正则化方法)×2种(分解模型)= 6种方法。
1.普通的{CP,塔克}分解
2.模式内正则化{CP, Tucker}分解
3.交叉模态正则化{CP, Tucker}分解
我们使用基于EM的算法来计算缺失值,特别是,我们使用了一种算法,它在每次一个因子被更新[20]时更新缺失值估计,因为它收敛更快。我们将X的未观测元素的初始估计设为观测元素的平均值,将U、V和W的初始估计设为X(1)、X(2)和X(3)的主要特征向量的平均值。
根据前期实验的结果,我们将合成数据集的模型秩置为P≡Q≡R≡2,流动注射数据集的模型秩置为P≡Q≡R≡4,甘草数据集的模型秩置为P≡Q≡R≡3。超参数α通过交叉验证从{10−4,10−3,10−2,10−1}中选择。
我们测试两种缺失元素的假设,即元素缺失和切片缺失。在元素缺失设置中,每个元素[X]i,j,k都是独立缺失的。另一方面,在切片缺失设置中,缺失值出现在对象级别,因此与某些对象相关的所有元素都完全缺失。换句话说,像某些i的{[X]i,j,k}j,k,某些j的 {[X]i,j,k}i,k,以及某些k的{[Xi,j,k]}i,j的切片都丢失了,这意味着丢失的值以一种更突发性的方式出现。
对于元素缺失设置,我们改变未观察元素在{0.75,0.9,0.95,0.99}之间的比例;对于分段缺失设置,我们改变未观察元素在{0.5,0.75,0.9,0.95}之间的比例。我们随机选择元素或对象作为未观察的部分,并评估真值和预测值之间的均方误差。我们继续评估十次,并记录平均误差和他们的标准误差。
图4展示了6种方法({Ordinary, Within-mode, Cross-mode}× {CP-decomposition, Tucker-decomposition})在元素缺失设置下对三个数据集(合成数据集、流动注射数据集和甘草数据集)张量补全的精度。总的来说,我们可以看到,合并辅助信息提高了预测精度,尽管普通张量分解方法在未观测元素的比例小于95%时仍然工作得相当好。所提出的方法性能良好,特别是在观测数据稀疏的情况下。
图4所示。三个数据集在元素缺失设置下张量补全的精度。所提出的方法在观测稀疏时表现良好。
图5所示。张量补全的精度为三个数据集在切片缺失设置。交叉模式正则化方法在观测值稀疏时表现得特别好。
另一方面,图5显示了切片缺失设置的结果。在这种情况下,由于缺失值发生在对象级别,仅在低秩假设下是不可能进行合理推断的,并且在稀疏情况下性能会严重恶化。特别是在有辅助信息的情况下,交叉正则化算法即使在突发稀疏情况下也能保持较好的性能。这是因为cross-mode正规化使用辅助信息比within-mode正规化更积极,也就是说,在模内正则化中,U的每个元素最多与U中的I - 1个其他元素相互作用,而在交叉模内正则化中,它与所有U、V和W中的所有其他元素相互作用。
最后,简要介绍了计算时间。虽然引入辅助信息略微增加了分解算法的时间和空间复杂度,但实际计算时间与普通分解方法(不含辅助信息)几乎相同。这在一定程度上是因为我们在实验中使用的数据集相对较小,在今后的工作中还需要使用更大的数据集进行进一步的研究。
在本文中,我们提出在低秩假设的基础上,利用数据间的关系作为辅助信息来提高张量分解的精度。利用这些关系导出的图拉普拉斯函数引入了两种正则化方法,并设计了优化问题的近似解。使用合成数据集和真实数据集进行的数值实验表明,与现有的仅基于低秩假设的方法相比,辅助信息的使用提高了完井精度,特别是在观测数据稀疏的情况下。
错误:django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([WinError 10这是自己的数据库服务没有打开到服务里面去打开MySQL57就可以了然后在左下角的Terminal中输入python manage.py runserver 127.0.0.1:8000运行,然后浏览器打开相应网址。...
代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。
当我们需要在C#中实现视频播放器的时候,可以使用如下几种方法:一、使用MediaPlayer ActiveX控件 在C#中支持视屏播放器最简单的方式就是插入MediaPlayer控件了,在WPF中还内置了对MediaPlayer的封装MediaElement,可以通过它直接打造一个播放器。使用MediaPlayer控件的好处是简单,它已经基本封装了常用的功能,只需要很少的几行代码就可以...
1、前言跨平台一直是老生常谈的话题,cordova、ionic、react-native、weex、kotlin-native、flutter等跨平台框架的百花齐放,颇有一股推倒原生开发者的势头。为什么我们需要跨平台开发? 本质上,跨平台开发是为了增加代码复用,减少开发者对多个平台差异适配的工作量,降低开发成本,提高业务专注的同时,提供比web更好的体验。嗯~通俗了说就是:省钱、偷懒。...
<br /><br />线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙。比如说,在全国一般工科院系教学中应用最广泛的同济线性代数教材(现在到了第四版),一上来就介绍逆序数这个“前无古人,后无来者”的古怪概念,然后用逆序数给出行列式的一个极不直观的定义,接着是一些简直犯傻的行列式性质和习题——把这行乘一个系数加到另一行上,再把那一列减过来,折腾得那叫一个热闹,可就是压根看不出这个东西有嘛用。大多数像我一样资质平庸的学生到这里就有点犯晕:连这是个什么东西都模模糊糊的,就开始钻火圈表
指定语句等待锁释放的毫秒数。语法SET LOCK_TIMEOUT timeout_period参数timeout_period是在 Microsoft SQL Server 返回锁定错误前经过的毫秒数。值为 -1(默认值)时表示没有超时期限(即无限期等待)。当锁等待超过超时值时,将返回错误。值为 0 时表示根本不等待,并且一遇到锁就返回信息。注释在连接开始时,该
Google 推出MaterialDesign后,可以说极大的美化了Android的UI,开发者只需按照MaterialDesign的相关标准就能设计出炫酷的界面。自从5.0推出后,Android就开始支持修改状态栏的颜色,从QQ、网易云音乐等主流的App都可以看到这一特性使得Android界面更加一体化。网络上关于修改状态栏的方法更多,也有很多开源库,今天讲一种简单的实现方式。1、在Java代码中
在使用DockerToolbox安装完docker后,启动报错,错误信息如下: Failed to instantiate CLSID_VirtualBox w/ IVirtualBox, but CLSID_VirtualBox w/ IUnknown 报错信息如图: 我的系统是WINDOWS 7 64位解决办法是:修改注册表1、 win+r 快捷键打开 “运行”,输入regedit 打
实例56 fputc()和fgetc()实例57 函数rewind()实例58 fread()和fwrite()实例59 fprintf()和fscanf()实例60 随机存取实例61 错误处理实例62 综合实例实例63 动态分配函数实例64 常用时间函数实例65 转换函数实例66 查找函数实例67 跳转函数实例68 排序函数...
以下面试题为个人在面试过程中所遇到的,仅供参考!如有错误,望指出。1、servlet执行流程客户端发出http请求,web服务器将请求转发到servlet容器,servlet容器解析url并根据web.xml找到相对应的servlet,并将request、response对象传递给找到的servlet,servlet根据request就可以知道是谁发出的请求,请求信息及其他信息,当serv...
数据挖掘和知识发现的技术 方法及应用