大数据驱动的机械装备智能运维理论及应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.3.1 张量分解理论

1.张量相关定义

张量是指由多个矢量空间乘积构造的多路阵列,如张量表示为N阶张量,可以将其看作标量、向量和矩阵向高维空间的推广。如图2-18所示分别表示了一阶、二阶、三阶张量,其中,三阶及以上的张量属于高阶张量。张量相关定义介绍如下[17][18]

图2-18 一阶、二阶、三阶张量

1)张量纤维

张量纤维是指固定除某一下标以外的其他所有下标而形成的子张量。如图2-19所示,对于三阶张量,分别固定I1I2I3,依次得到用ajkaikaij表示的列纤维、行纤维、管纤维。类似地,通过固定除两个下标以外的其他所有下标,可得到张量切片,如图2-20所示。

图2-19 三阶张量的纤维

图2-20 三阶张量的切片

为避免在高维空间直接进行张量运算,一般采用张量向量化或张量矩阵化方法,即将张量首先转换为向量或矩阵,然后利用向量、矩阵相关运算获得张量空间运算结果。接下来,对缺失数据恢复方法中涉及的张量向量化、矩阵化,以及矩阵、张量相关运算的定义进行简单介绍。

2)张量向量化

张量向量化是指将张量转换为向量的变换。例如,三阶张量向量化后得到的向量a可表示为:

3)张量矩阵化

张量矩阵化又称为模式-n矩阵化,是将高维张量经过重新组织或排列展开为矩阵形式,从而实现降阶的一种变换。通过模式-n矩阵化,N阶张量内元素转化为模式-n矩阵X(n)中的,且存在如下关系:

三阶张量的3个模式矩阵化过程如图2-21所示。三阶张量内的元素数据与矩阵化后的矩阵元素存在如下关系:

4)张量的秩

对于张量,如果能够表达成R个秩为1的张量相加,张量的秩即为R的最小值。

5)矩阵的Kronecker积

矩阵Am×nBp×q,二者的Kronecker积为mp×nq矩阵,表示如下:

6)矩阵的Khatri-Rao积

矩阵Ap×nBq×n,二者的Khatri-Rao积定义为AB,表示为:

7)张量的Hadamard积

张量,二者的Hadamard积记作,表示为两个张量相同位置处元素的乘积,表达为:

图2-21 三阶张量的3个模式矩阵化过程

8)张量的内积

张量,二者的内积记作,表示两个张量相同位置对应元素乘积的和。张量内积表达为:

9)张量的Frobenius范数

张量的Frobenius范数记作,定义为:

10)张量n-模式积

张量,矩阵,张量与矩阵的n-模式积运算符号为xn,表示如下:

式中,j=1,2,…,jn

11)秩为1的张量

对于张量,若能够表示为,且x1x2,…,xN为向量,则称是秩为1的张量。

2.张量Tucker分解

张量不但能直观表达高维数据,还能最大限度地保持数据的内在联系。为揭示数据的内在联系,挖掘张量蕴含的信息,需要对张量进行分解。张量分解简化表达了张量结构,能够在保持多阶结构的同时,提取各阶主成分因子,从而挖掘张量蕴含的信息。张量分解主要包括Tucker分解和CANDECOMP/PARAFAC(CP)分解[19]。其中,Tucker分解为CP分解的一般形式,如高阶张量的Tucker分解表示为:

式中,;核心张量,且JNIN,保留了原张量的本质信息;矩阵为因子矩阵,代表张量的各阶主分量,且Un之间彼此正交;×n表示张量的n-模式积,张量与矩阵Vn-模式积定义为:

式中,j=1,2,…,Jn。例如,三阶张量的Tucker分解表示为:

式中,核心张量秩ABC为因子矩阵,且。三阶张量的Tucker分解过程如图2-22所示。

图2-22 三阶张量的Tucker分解过程

式(2-39)对应的矩阵展开式表达为:

式中,三个结果值分别代表张量在三个不同模式下的主成分,且三者两两相互正交。当在三个维度上的维数相等且为对角张量时,可推证Tucker分解可转化为CP分解,即CP分解是Tucker分解的一种特殊情况。