张量分解算法(CP分解) |
您所在的位置:网站首页 › 推荐的cp › 张量分解算法(CP分解) |
博主今天阅读文献《PARAFAC-Based Channel Estimation for Intelligent Reflective Surface Assisted MIMO System》一文中,发现了一个新的名词-----------------(CPD,Canonical Polyadic Decomposition),于是去查阅了相关资料理解具体含义。 一、CP分解是张量分解中的一个分支,那么什么是张量分解? 张量:一般一维数组,我们称之为向量(vector),二维数组,我们称之为矩阵(matrix);三维数组以及多位数组,我们称之为张量(tensor)。
CP 分解( Canonical Polyadic Decomposition ,CPD) CP 分解将一个N阶的张量 矩阵的表达式 如果张量 二、张量的低秩近似 在矩阵中,最小的秩为1的矩阵和的个数为矩阵的秩,张量中R的最小值为张量的秩,记作 ,即张量的秩Rank-n 近似无法渐进地得到。 三、CP的求解 CP分解的求解首先要确定分解的秩1张量的个数,正如前面介绍的由于张量的秩Rank-n 近似无法渐进地得到。通常我们通过迭代的方法对R从1开始遍历直到找到一个合适的解。当数据无噪声时,重构误差为0所对应的解即为CP分解的解,当数据有噪声的情况下,可以通过CORCONDIA算法估计RR。当分解的秩1张量的个数确定下来之后,可以通过交替最小二乘方法对CP分解进行进行求解。下面我们以三阶张量为例对ALS 算法进行阐述。 假设 ALS算法首先固定B,C去求解A,接着固定A和C去求解B,然后固定B 和C去求解A,这样不断地重复迭代直到达到收敛条件。固定矩阵B和C,可以得到上面的式子在mode-1矩阵展开的时候形式为 其中: 那么上述目标函数的最优解为: 此处矩阵边上的“+”代表Moore-Penrose广义逆,它常被用于求得或简化非一致线性方程组的最小范数最小二乘解(最小二乘法),有兴趣可以自己了解一下,这里不过多阐述。 计算的时候把 可以用交替最小二乘法计算CPD,假设张量的个数是提前知道的,设为R: get! 欢迎补充
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |