张量的展开与matlab下的⼯具包操作
1张量的定义
在上,张量被定义为“⼀个多重线性映射”:
这个可以理解为⼀个多维数组,当变换坐标或者变换基底的时候,其分量会按照⼀定的规则变换。
2.张量的模展开矩阵
在实际运算当中,我们有时需要对张量按照模展开矩阵。⽬的是对⾼维张量进⾏降阶,转换为矩阵进⾏运算。在张量的矩阵展开过程中,是对组成张量的所有阶按交错次序采样,并⾮简单地先采取某⼀阶的特征值在采取另⼀阶的特征值,⽽在整个采取过程中对不同阶的特征值进⾏混合交错采样,这样在采集过程中实现了张量不同阶特征值之间的传递和融合。
具体以Element-wise的形式写出来就是(以⼀个A(4*3*2)的三阶张量为例):
对第⼀阶模展开
A的第⼀阶模展开矩阵是⼀个(4x6)的矩阵,矩阵中的6列是第⼆阶和第三阶特征值交错取值得到的。
对三阶张量A的第⼆阶模展开矩阵:
A的第⼆阶模展开矩阵是⼀个(3x8)的矩阵。
对三阶张量A的第三阶模展开矩阵:
A的第三阶模展开矩阵是⼀个(2x12)的矩阵。
3.Tensor_Toolbox的安装与使⽤
3.1安装
tool工具箱下载之前可能需要简单的注册⼀下,提交相关的使⽤者基本信息,不难,应该能看得懂
可惜选择.zip压缩包或者是.压缩包格式。安装的具体⽅法是:
(1).解压当前安装包;
(2).将 tensor_toolbox_2.6 改名为 tensor_toolbox
(3).启动matlab,选择toolsbox所在的路径,然后在matlab的命令窗⼝中键⼊如下命令:
addpath(pwd) %将当前路径添加到matlab⼯作路径中去
cd met; addpath(pwd) %将⼦⽬录met也添加进来
savepath %为后续进程保存这两个路径
如果安装成功的话,可以在Help窗体中看到TensorToolBox的帮助⽂章名称
3.2使⽤Tensor Toolbox
随机⽣成稀疏张量
R=sptenrand([5 4 2],12)
上述命令⽣成⼀个5*4*2维的随机稀疏张量,随机值分布在相应的下标位置上。
对稀疏张量分别进⾏模-1,模-2,模-3的展开(Unfolding)
%对⽣成的张量R按照mode-1,mode-2,mode-3 Unfolding
tenmat(R,1);
tenmat(R,2);
tenmat(R,3);
通过结果可以理解张量的具体展开⽅式
后⾯还要进⼀步采⽤张量分析进⾏实例数据的处理。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论