本篇文章主要讲解Tucker分解和HOSVD。
笔者水平不够,见谅。
一.基础篇
张量分解顾名思义即是对张量进行分解操作。在我们日常生活中,三维或三维以上的数据可以称为张量。
在此篇章,我们将介绍n-mode乘积的基础,关于svd分解、秩1张量分解的基础可以查阅别的资料。
后续看情况再更≧ ﹏ ≦
1.张量的矩阵化表示方法
简单来说,作为三维或更高维的张量,为了方便对其进行研究,我们需要将张量化为矩阵的形式。
如上图所示,张量有Fibers和Slices两种矩阵化表示方法。对于后续的说法说明我们默认张量按照Frontal slices来矩阵化。
2.n-mode乘积
假设有一个张量 X ∈ R 3 × 4 × 2 \Chi \in R^{3 \times 4\times 2} X∈R3×4×2
让
X
\Chi
X的Frontal slices为:
X
(
1
)
=
[
1
4
7
10
2
5
8
11
3
6
9
12
]
\Chi \left ( 1 \right ) =\begin{bmatrix} 1& 4& 7& 10\\ 2& 5& 8& 11\\ 3& 6& 9& 12 \end{bmatrix}
X(1)=
123456789101112
X
(
2
)
=
[
13
16
19
22
14
17
20
23
16
18
21
24
]
\Chi \left ( 2 \right ) =\begin{bmatrix} 13& 16& 19& 22\\ 14& 17& 20& 23\\ 16& 18& 21& 24 \end{bmatrix}
X(2)=
131416161718192021222324
张量
X
∈
R
3
×
4
×
2
\Chi \in R^{3 \times 4\times 2}
X∈R3×4×2的mode-n分别为:
X
(
1
)
=
[
1
4
7
10
13
16
19
22
2
5
8
11
14
17
20
23
3
6
9
12
16
18
21
24
]
\Chi _{\left ( 1 \right ) } =\begin{bmatrix} 1& 4& 7& 10& 13& 16& 19& 22\\ 2& 5& 8& 11& 14& 17& 20& 23\\ 3& 6& 9& 12& 16& 18& 21& 24 \end{bmatrix}
X(1)=
123456789101112131416161718192021222324
X ( 2 ) = [ 1 2 3 13 14 15 4 5 6 16 17 18 7 8 9 19 20 21 10 11 12 22 23 24 ] \Chi _{\left ( 2 \right ) } =\begin{bmatrix} 1& 2& 3& 13& 14& 15 \\ 4& 5& 6& 16& 17& 18 \\ 7& 8& 9& 19& 20& 21\\ 10&11& 12& 22& 23& 24 \end{bmatrix} X(2)= 147102581136912131619221417202315182124
X ( 3 ) = [ 1 2 3 4 . . 10 11 12 13 14 15 16 . . 22 23 24 ] \Chi _{\left ( 3 \right ) } =\begin{bmatrix} 1& 2& 3& 4& ..& 10& 11& 12\\ 13& 14& 15& 16& ..& 22& 23& 24 \end{bmatrix} X(3)=[113214315416....102211231224]
也可以直接对
X
\Chi
X向量化:
v
e
c
(
X
)
=
[
1
2
.
.
24
]
vec(\Chi)=\begin{bmatrix} 1\\ 2\\ ..\\ 24 \end{bmatrix}
vec(X)=
12..24
对此我们同样可以推广到N维
X
∈
R
I
1
×
I
2
×
.
.
.
×
I
n
\Chi \in R^{I_1 \times I_2\times ...\times I_n}
X∈RI1×I2×...×In。
细节看图:
二.正篇(Tucker分解、HOSVD分解)
关于Tucker分解和HOSVD分解,我也是一开始混淆不清这两个之间的关系,不过我们从公式分析就可以窥其奥秘。
结论:HOSVD是Tucker分解的一种特殊情况
2.1Tucker分解
Tucker分解的几种变体:
2.2.HOSVD分解
内积有三种英文单词:inner product,dot product,scalar product
关于SVD的介绍,这里暂时先略过,后面有时间再介绍。
唉,感觉怎么写都像抄书
HOSVD细节说明: