内容来源于:张量百科张量分解
张量(tensor)理论是数学的一个分支学科,在力学中有重要应用。张量这一术语起源于力学,它最初是用来表示弹性介质中各点应力状态的,后来张量理论发展成为力学和物理学的一个有力的数学工具。张量之所以重要,在于它可以满足一切物理定律必须与坐标系的选择无关的特性。张量概念是矢量概念的推广,矢量是一阶张量。张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数。
张量(Tensor)是一个定义在的一些向量空间和一些对偶空间的笛卡儿积上的多重线性映射,其坐标是|n|维空间内,有|n|个分量的一种量, 其中每个分量都是坐标的函数, 而在坐标变换时,这些分量也依照某些规则作线性变换。r 称为该张量的秩或阶(与矩阵的秩和阶均无关系)在同构的意义下,第零阶张量 (r = 0) 为标量 (Scalar),第一阶张量 (r = 1) 为向量 (Vector), 第二阶张量 (r = 2) 则成为矩阵 (Matrix)
在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、向量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。可能最重要的工程上的例子就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。虽然张量可以用分量的多维数组来表示,张量理论存在的意义在于进一步说明把一个数量称为张量的涵义,而不仅仅是说它需要一定数量的有指标索引的分量。特别是,在坐标转换时,张量的分量值遵守一定的变换法则。张量的抽象理论是线性代数分支,现在叫做多重线性代数。
1.求和约定 指在给定的项中凡有一上和一下两个相同的指标就表示对该指标从1到空间维数
N求和。例如,在三维空间中,
文章图片
2.张量指标 包括哑指标和自由指标。哑指标是指各项中一上和一下成对的相同指标。例如,上式中的指标
i就是哑指标。自由指标是指在方程的所有项中只出现一次的指标 有两种定义张量的方法: 1. 按变换规律定义 若一坐标系
文章图片
中
文章图片
个量
文章图片
与另一坐标系
文章图片
中
文章图片
个量
文章图片
间满足交换规律
文章图片
则
文章图片
称为
r阶逆变和
s阶协变混合张量的分量。若
s=0,则
文章图片
称为
r阶逆变张量的分量。若
r=0,则
文章图片
称为
s阶协变张量的分量。上述这种张量记法称为分量记法。 2.按不变性定义 凡可以在任何坐标系中写成下列不变性形式的量定义为
r+
s阶张量:
文章图片
式中
文章图片
和
文章图片
分别为坐标系
文章图片
和
文章图片
中的协(逆)变基矢量。上述这种张量记法称为不变性记法或并矢记法 1. 加减法 两个或多个同阶同型张量之和(差)仍是与它们同阶同型的张量。 2. 并积 两个张量的并积是一个阶数等于原来两个张量阶数之和的新张量。 3. 缩并 使张量的一个上标和一个下标相同的运算,其结果是一个比原来张量低二阶的新张量。 4. 点积 两个张量之间并积和缩并的联合运算。例如,在极分解定理中,三个二阶张量
R、
U和
V中一次点积
R·U和
V·R的结果是二阶张量
F。 5. 对称化和反称化 对已给张量的
n个指标进行
n1不同置换并取所得的
n1个新张量的算术平均值的运算称为对称化。把指标经过奇次置换的新张量取反符号后再求算术平均值的运算称为反称化。 6. 加法分解 任意二阶张量可以唯一地分解为对称部分和反称部分之和。例如,速度梯度
文章图片
可以分解为
文章图片
,其中
文章图片
和
文章图片
分别为
文章图片
的对称和反称部分,即
文章图片
和
文章图片
。 1. 商法则 肯定某些量的张量性的法则 特殊张量主要有四种: ①度量张量 两个基矢量点积的结果。
文章图片
和
文章图片
分别称为协变和逆变度量张量,而混合度量张量
文章图片
,这里
文章图片
(或写为
文章图片
)为克罗内克符号,它定义为:
文章图片
②交错张量或爱丁顿张量 可定义为
文章图片
,这里
文章图片
表示元素
文章图片
为行列式,而置换符号
文章图片
表示
文章图片
(
文章图片
是(1,2,3)的偶次置换),-1(
文章图片
是(1,2,3)的奇次置换),0(其余情形) ③转置张量 对任意二阶张量
文章图片
的分量指标置换的结果,记为
文章图片
。 ④正交张量 保持映象长度不变的二阶张量。 克里斯机费尔符号 第一类和第二类克里斯托费尔符号分别定义为:
文章图片
和
文章图片
张量分解-CP分解 2016.06.19 CP分解(Canonical Polyadic Decomposition) 1927年Hitchcock提出了CP 分解。CP 分解将一个NN阶的张量∈?I1×I2×?×INXRI1I2IN分解为RR个秩为1的张量和的形式即:
=∑r=1Rλra(1)r°a(2)r°?a(N)rXr1Rλrar1ar2arN 通常情况下
a(n)rarn
是一个单位向量。定义
A(n)=[an1an2?anR]Ana1na2naRn
,
D=diag(λ)Ddiagλ
那么上面的公式可以写为: =D×1A(1)×2A(2)?×NA(N)XD1A12A2NAN 矩阵的表达形式即为: X(n)=AnD(A(N)??A(n+1)?A(n?1)??A1)TXnAnDANAn1An1A1T 特殊的时候当张量
X
的阶数为3的时候,它的分解的形式下图所示。
文章图片
张量的低秩近似 在矩阵中定义最小的秩为1的矩阵和的个数为矩阵的秩,类似于矩阵的定义,RR的最小值为张量的秩,记作Rank()=RRankXR,这样的CP分解也称为张量的秩分解。值得注意的是在张量中秩的定义是不唯一的,张量秩的个数求解是一个NP问题。对于一个矩阵AA它的SVD分解定义为:
A=∑r=1Rσrur°vr,σ1≥σ2≥?σR≥0Ar1Rσrurvrσ1σ2σR0 取SVD分解得到的前
kk
个因子作为矩阵
AA
的近似可以得到矩阵
AA
的低秩近似。类似于矩阵中的定义我们取张量的前
kk
个因子作为张量
X
的低秩近似即: =∑k=1Kλka(1)k°a(2)k°?a(N)KXk1Kλkak1ak2aKN ,不同于矩阵的低秩近似,张量的最佳Rank-n近似并不包括在其最佳Rank-n+1近似中,即张量的秩Rank-n 近似无法渐进地得到。
CP的求解 CP分解的求解首先要确定分解的秩1张量的个数,正如前面介绍的由于张量的秩Rank-n 近似无法渐进地得到。通常我们通过迭代的方法对RR从1开始遍历直到找到一个合适的解。当数据无噪声时,重构误差为0所对应的解即为CP分解的解,当数据有噪声的情况下,可以通过CORCONDIA算法估计RR。当分解的秩1张量的个数确定下来之后,可以通过交替最小二乘方法对CP分解进行进行求解。下面我们以三阶张量为例对ALS 算法进行阐述。
假设∈?I×J×KXRIJK是一个三阶张量,对它进行张量分解的目标表达式为
min? ‖?‖^,? =∑r=1Rλrar°br°cr=[[λ;
A,B,C]]XXXXr1RλrarbrcrλABC ALS算法首先固定
BB
,
CC
去求解
AA
,接着固定
AA
和
CC
去求解
BB
,然后固定
BB
和
CC
去求解
AA
,这样不断地重复迭代直到达到收敛条件。固定矩阵
BB
和
CC
,可以得到上面的式子在mode-1矩阵展开的时候形式为 minA? =‖X(1)?A? (C⊙B)T‖FAX1ACBTF 其中
A? =A.diag(λ)AAdiagλ
,那么上述式子的最优解为 A? =X(1)[(C⊙B)T]?AX1CBT 为了防止数值计算的病态问题,通常把
A? A
的每一列单位化,即
λr=|ar^|,ar=ar^/λrλrarararλr
将上述式子推广到高阶形式可以得到 A(n)=Xn(A(N)??A(n+1)?A(n?1)??A1)V? whereV=A(1)T(A(1)??A(n?1)?A(n+1)??A(N)TA(N))AnXnANAn1An1A1V whereVA1TA1An1An1ANTAN 对于一个
NN
阶的张量
XX
它的ALS求解的步骤如下图所示。它假设分解出Rank-1 张量的个数
RR
是事先知道的,对于各个因子的初始化,可以采用随机初始化也可以通过下面的式子进行初始化。 A(n)=R leading left singular vectors ofX(n)forn=1,?NAnR leading left singular vectors ofXnforn1N
文章图片
可加约束 在一些应用中,为了使得CP分解更加的鲁棒和精确,可以在分解出的因子上加上一些先验知识即约束。比如说平滑约束(smooth)、正交约束、非负约束(nonegative) 、稀疏约束(sparsity)等。
CP分解应用 CP分解已经在信号处理,视频处理,语音处理,计算机视觉、机器学习等领域得到了广泛的应用 下面,以去噪为例,对CP分解在高光谱图像处理中的应用进行阐述。
高光谱图像(HSI)是上个世纪80年代以来新兴的一种新型成像技术,它包括了可见光和不可见光范围的几十到几百个连续光谱窄波段构成,形成了一种数据立方体结构的图像。高光谱图像可以看作是一个三阶张量,图像的空间域和光谱域构成了数据的三个维度。采用低秩CP分解对高光谱图像去噪认为低秩的部分是无噪声的部分,剩下的部分认为是噪声数据,它的示意图如下图所示。
文章图片
从图中可以看到一个高光谱图像数据X 可以由两部分组成即:
=+XSN 其中
S
认为是低秩的部分即干净的图像,
N
是噪声的部分(这里的噪声包括白噪声,高斯噪声等)。可以通过对原始数据
X
进行低秩CP分解来得到
S
。在Urban数据上进行去噪得到去噪前的数据和去噪之后的数据图分别如图下面的两幅图所示。从图中可以看到采用CP分解可以对高光谱图像进行去噪。
文章图片
文章图片
【张量初步学习】
推荐阅读
- AIoT(人工智能+物联网)|程序员的数学【线性代数基础】
- topcoder|Topcoder SRM 661 Div1 Easy: MissingLCM
- HDU 5184 Brackets (卡特兰数)
- 高斯消元
- 水题纪念|【51nod - 1098】 最小方差(基础数学,公式化简,前缀和,积的前缀和)
- 扩展欧几里德算法(gcd扩展使用)
- 数学|CF 514D.Nature Reserve 几何,二分,交集
- codeforces|Codeforces Round #665 (Div. 2) C. Mere Array(数学)
- codeforces|Codeforces Round #665 (Div. 2) A. Distance and Axis(思维,数学)
- 数论|Codeforces Global Round 10 B. Omkar and Infinity Clock(数学)