tensor的mode-n展开和mode-n乘积

张量的mode-n操作与应用详解
本文深入探讨了张量的mode-n展开和乘法,包括mode-n fibers、mode-n矩阵展开以及mode-n乘法。通过实例展示了如何从三维张量中提取mode-n fibers,并将它们排列成矩阵。此外,还详细解释了张量的mode-n乘法,如mode-1、mode-2和mode-3乘法,以及它们在图像处理中的应用,如将RGB图像转换为灰度图。

1 tensor的mode-n矩阵开展

1.1 tensor的mode-n fibers

了解mode-n fibers能帮助你更好的理解tensor的mode-n展开,这里用一个三维tensor X ∈ R I × J × K X \in R^{I\times J \times K} XRI×J×K作为例子,由于这个tensor有三个维度,所以可以从三个不同的方向将其分割成一个个列向量,如下图所示:
在这里插入图片描述
从上到下的方向称为mode-1方向,从左到右的方向称为mode-2方向,从前往后的方向称为mode-3方向。沿mode-n方向将tensor分割得到的一个个列向量称为该tensor的mode-n fibers。

要得到 X X X的mode-n fibers,可以固定除第n维以外的其他维度的坐标,此时取出第n维度的所有的元素,即为 X X X的一个mode-n fibers。举例来说, X X X的mode-1 fibers可表示为 X [ : , j , k ]     j ∈ [ 0 , J )     k ∈ [ 0 , K ) X[:,j,k]\ \ \ j\in[0,J)\ \ \ k\in[0,K) X[:,j,k]   j[0,J)   k[0,K) X X X的mode-3 fibers则可以表示为 X [ i , j , : ]     i ∈ [ 0 , I )     j ∈ [ 0 , J ) X[i,j,:]\ \ \ i\in[0,I)\ \ \ j\in[0,J) X[i,j,:]   i[0,I)   j[0,J)

同理,如果这个tensor是四维的,则它的mode-4 fibers可表示为 X [ i , j , k , : ]     i ∈ [ 0 , I )     j ∈ [ 0 , J )     k ∈ [ 0 , K ) X[i,j,k,:]\ \ \ i\in[0,I)\ \ \ j\in[0,J)\ \ \ k\in[0,K) X[i,j,k,:]   i[0,I)   j[0,J)   k[0,K),其中i,j,k均取整数。

1.2 tensor 的mode-n展开矩阵

在得到tensor的mode-n fibers之后,将所有fibers排列在一起即可得到该tensor的mode-n展开矩阵(每个fibers都可以看成是一个列向量)。

那么应该按怎样的顺序来排列mode-n fibers呢?

对于展开矩阵中的第 j j j列mode-n fibers,j的位置可通过如下公式得到:
在这里插入图片描述
这个式子很枯燥,说实话,我并没有搞懂j的计算方式,不过我搞清楚了三维tensor展开为矩阵的mode-n排列方式,通过代码能更清晰的展示它的排列顺序,下面是python的代码实现:

import numpy as np
# 矩阵X,具体见代码之后的例子,这是一个简单的3x4x2的tensor
X = [[[a0+d*3, a0+d*3+12] for d in range(0,4)] for a0 in range(1,4)]
X = np.array(X)

#-------------------------unfolding(tensor的矩阵化)-------------------------#
fibers_mode1 = [X[:,j,k] for k in range(0,2) for j in range(0,4)]
fibers_mode2 = [X[i,:,k] for k in range(0,2) for i in range(0,3)]
fibers_mode3 = [X[i,j,
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值