张量学习(10):纤维,切片,张量展开

1.纤维(fiber)

纤维是指从张量中抽取向量的操作。在矩阵中固定其中一个维度,可以得到行或者列。类似于矩阵操作,保留一个维度变化,固定其它维度,可以得到有纤维的概念。

以三阶张量为例:
张量学习(10):纤维,切片,张量展开_第1张图片

1>固定 j , k j,k j,k方向

m o d e − 1 mode-1 mode1(列) 纤维: X : j k X_{:jk} X:jk

张量学习(10):纤维,切片,张量展开_第2张图片
相当于将 i i i方向上的每个小方块串起来,形成一个整条(即为一个向量)
张量学习(10):纤维,切片,张量展开_第3张图片

2>固定 i , k i,k i,k方向

m o d e − 2 mode-2 mode2(行) 纤维: X i : k X_{i:k} Xi:k
张量学习(10):纤维,切片,张量展开_第4张图片

相当于将 j j j方向上的每个小方块串起来,形成一个整条(即为一个向量)
张量学习(10):纤维,切片,张量展开_第5张图片

3>固定 i , j i,j i,j方向

m o d e − 3 mode-3 mode3(管) 纤维: X i j : X_{ij:} Xij:
张量学习(10):纤维,切片,张量展开_第6张图片
相当于将 k k k方向上的每个小方块串起来,形成一个整条(即为一个向量)
张量学习(10):纤维,切片,张量展开_第7张图片

2.切片(slice)

切片操作是指在张量中抽取矩阵的操作。在张量中如果保留两个维度变化,固定其它维度,可以得到一个矩阵,这个矩阵即为张量的切片。

1>固定 i i i方向

水平切片: X i : : X_{i::} Xi::
张量学习(10):纤维,切片,张量展开_第8张图片
相当于在 m o d e − 2 mode-2 mode2(行) 纤维: X i : k X_{i:k} Xi:k基础上将 k k k方向上的向量串起来(即为一个矩阵)
张量学习(10):纤维,切片,张量展开_第9张图片

2>固定 j j j方向

侧面切片: X : j : X_{:j:} X:j:
张量学习(10):纤维,切片,张量展开_第10张图片
相当于在 m o d e − 1 mode-1 mode1(列) 纤维: X : j k X_{:jk} X:jk基础上将 k k k方向上的向量串起来(即为一个矩阵)张量学习(10):纤维,切片,张量展开_第11张图片

3>固定 k k k方向

正面切片: X : : k X_{::k} X::k
张量学习(10):纤维,切片,张量展开_第12张图片
相当于在 m o d e − 1 mode-1 mode1(列) 纤维: X : j k X_{:jk} X:jk基础上将 j j j方向上的向量串起来(即为一个矩阵)张量学习(10):纤维,切片,张量展开_第13张图片
一个更直观的立体图:
张量学习(10):纤维,切片,张量展开_第14张图片

3.展开(matricization/unfolding/flattening)

定义:将 N N N阶张量 x x x沿 m o d e − n mode-n moden展开成一个矩阵 X ( n ) X_{(n)} X(n)
通俗的讲:就是把这一片一片的拼凑的方式不同:
张量学习(10):纤维,切片,张量展开_第15张图片
张量展开相当于就是矩阵化,矩阵化就是将一个张量变换成一个矩阵。
我们可以根据 f i b e r fiber fiber的方向来进行不同的矩阵化。
假设我们有一个张量:
A = 5 6 7 8 1 2 3 4 A= \begin{matrix} & & 5& 6 \\ & & 7 & 8 \\ 1 & 2& & \\ 3 & 4 & & \end{matrix} A=13245768

1> m o d e − 1 M a t r i c i z a t i o n mode-1Matricization mode1Matricization张量学习(10):纤维,切片,张量展开_第16张图片

相当于:
张量学习(10):纤维,切片,张量展开_第17张图片

2> m o d e − 2 M a t r i c i z a t i o n mode-2Matricization mode2Matricization

张量学习(10):纤维,切片,张量展开_第18张图片
相当于:
张量学习(10):纤维,切片,张量展开_第19张图片

3> m o d e − 3 M a t r i c i z a t i o n mode-3Matricization mode3Matricization张量学习(10):纤维,切片,张量展开_第20张图片

相当于:
张量学习(10):纤维,切片,张量展开_第21张图片

4>张量展开例子

我们假设有一个 4 × 3 × 2 4×3×2 4×3×2的张量
张量学习(10):纤维,切片,张量展开_第22张图片
张量学习(10):纤维,切片,张量展开_第23张图片

按着第一种的展开:
张量学习(10):纤维,切片,张量展开_第24张图片
按着第二种的展开:
张量学习(10):纤维,切片,张量展开_第25张图片
按着第三种的展开:
张量学习(10):纤维,切片,张量展开_第26张图片

个人思考:

纤维就是在张量中抽取向量,切片就是在张量中抽取矩阵,展开就是将张量展开为矩阵。

你可能感兴趣的:(张量学习)