张量与多重线性代数

CP 分解

CP(典范多元)分解把一个张量写成若干简单的、秩 1 张量之和:对三阶张量,T = sum over r of a_r (x) b_r (x) c_r。每一项都是每个模各取一个向量的外积,而项数就是你瞄准的秩。它是奇异值分解最直接的推广——后者把矩阵写成若干秩 1 碎片之和 u_r*sigma_r*v_r^T。

它最引人注目的性质是本质唯一性。对矩阵,秩 1 分解极不唯一:你可以在相等奇异值之间旋转奇异向量,或只要保持乘积不变就随意混合各因子。对三阶或更高阶的张量,项数足够少的 CP 分解在不可避免的自由度——缩放每个向量与重排各项——下唯一,Kruskal 定理给出一个精确的条件。

正是这种唯一性使 CP 成为数据分析的主力:当一个张量确实源自若干秩 1 模式之和(少数跨模作用的隐藏“因子”)时,CP 能恢复这些因子,而不受困扰矩阵因子分析的旋转含糊性。这是盲源分离、化学计量学(荧光光谱)与潜变量模型背后的原理。

诚实的告诫。最小 CP 秩恰是那个(困难的、NP 困难的)张量秩,所以你通常是拟合一个假定的秩,而非找出真正的秩。最佳秩 r 逼近甚至可能根本不存在,因为秩 r 张量的集合不闭合(边界秩现象),于是拟合算法可能发散——因子范数爆炸、而其相消却使拟合改善。用它,但要提防这些不稳定性。

T = sum_{r=1}^{R} a_r (x) b_r (x) c_r , compare M = sum_r sigma_r u_r (x) v_r

CP 把跨所有模的秩 1 外积相加——SVD 在三阶上的回声。

与 SVD 对照:SVD 总是存在、本质唯一(退化情形下至多差符号 / 旋转),并给出最佳低秩拟合。CP 在 SVD 不唯一处往往唯一,但可能不存在最佳拟合。这是用唯一性换存在性保证的交易。

又称
CANDECOMP/PARAFACcanonical polyadic decompositionrank decomposition