赞
踩
本次的博客也算是开启了自己张量网络部分的学习,大部分内容来自首都师范的张量网络暑期课,还有一部分来自博客。可能有些地方理解的有些问题,也欢迎大家指正。
首先,任意的二阶张量M可以通过奇异值分解写成U Λ \varLambda ΛV, Λ \varLambda Λ中的非零奇异值是该张量的奇异谱(非升序排列),极大化U第一个元素的实部,就可以实现唯一分解。
接着引入低秩近似的概念:
低秩近似本质上是一个优化问题,给定一个小于R的秩R’,要求出一个矩阵M’使其和M之间的范数最小。
实际上,当我们得到M的奇异值分解后,这个问题就已经可解了,我们只要保留前R’个奇异值并保留他们的奇异向量 u,v,这样构成的矩阵M’就是秩为R’的所有矩阵中的最优解。
然而这只是二阶张量的结果。下面我们逐步给出高阶张量做低秩近似的结果(高阶我们暂时没办法直接做奇异值分解,所以我们并不是像二阶这样,先给出奇异值的分解结果,然后一劳永逸给出所有低秩近似的最优解。高阶部分,我们从单秩分解说起(就是秩为1的低秩近似))
二阶张量的单秩分解结果是由最大奇异值和其对应的两个奇异向量构成的。
抛开奇异值分解的方法,实际上我们可以采用迭代的方法(或者说幂级数的方法)来求最大的奇异值与相应的奇异向量(在张量网络里面,很多算法求最大本征值的方法也是这种幂级数的方法,而不是直接把方阵做本征值分解)。
首先,我们有一个恒等式:
将M的奇异值分解代入,这两个恒等式是显然的(左奇异向量乘上矩阵M等于奇异值乘上右奇异向量)。任意给定初始点(u0,v0),不断带入这两个恒等式进行迭代更新就能稳定收敛到最大的奇异值与奇异向量(稳定不动点)。
我们将上述的幂级数方法延拓到高阶:
拓展的方法如图所示,需要注意的是这里的运算是张量的缩并运算(前述二阶张量的乘法本质上就是缩并运算在二阶的特例)。
以上都是单秩分解,下面我们把完整的奇异值分解延拓到高阶:
我们对上述的方法做几点说明:
这里我们初步讲完了张量分解的内容,还有一些概念性的东西,比如slice,fiber,超对角,超对称,高阶张量矩阵化(就是前面的T(n),稍微提一下,其他资料里面会看到张量缩并运算的矩阵化形式,那个矩阵化公式是好理解的,大家自己算一算就能明白)等等,这些概念大家可以去看上面的那个博客,大佬解释的很全面。
最后提一点关于cp分解的,cp分解是把一个张量写成多个单秩张量和的形式(cp秩的概念也可以由此得到),不过这个分解方法还有几个问题要解决,比如如何求cp秩,如何实现最优的低秩近似?这里不过多赘述。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。