欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 张量补充 2 (补充ing)

张量补充 2 (补充ing)

2025/4/19 3:51:20 来源:https://blog.csdn.net/weixin_51147313/article/details/141199805  浏览:    关键词:张量补充 2 (补充ing)

文章目录

    • 数学概念
      • 1. 张量 (Tensor)
      • 2. CANDECOMP/PARAFAC (CP) 分解
      • 3. 外积 (Outer Product)
      • 4. Khatri-Rao 积 (Khatri-Rao Product)
      • 5. 秩 (Rank)
      • 6. 边界秩 (Border Rank)
      • 7. 交替最小二乘法 (Alternating Least Squares, ALS)
    • CANDECOMP/PARAFAC (CP) 分解
    • 张量秩
    • 边界秩(Border Rank)
    • ALS算法计算CP分解
    • 参考

数学概念

1. 张量 (Tensor)

  • 定义: 张量是多维数组的通用表示,表示为 X ∈ R I 1 × I 2 × ⋯ × I N \mathcal{X} \in \mathbb{R}^{I_1 \times I_2 \times \cdots \times I_N} XRI1×I2××IN,其中 I 1 , I 2 , … , I N I_1, I_2, \dots, I_N I1,I2,,IN 是各个维度的大小。
  • 阶数 (Order): 张量的阶数是它的维度数,例如一阶张量是向量,二阶张量是矩阵,三阶或更高阶的张量则称为高阶张量。

2. CANDECOMP/PARAFAC (CP) 分解

  • 定义: CP分解是一种将张量分解为秩为一的张量之和的分解方式。

  • 秩 (Rank): 张量的秩是分解成秩为一张量之和所需的最小数量。

  • 表示: 对于三阶张量 X ∈ R I × J × K \mathcal{X} \in \mathbb{R}^{I \times J \times K} XRI×J×K,CP分解表示为

    X ≈ ∑ r = 1 R λ r a r ∘ b r ∘ c r \mathcal{X} \approx \sum_{r=1}^R \lambda_r \, \mathbf{a}_r \circ \mathbf{b}_r \circ \mathbf{c}_r Xr=1Rλrarbrcr

    其中, R R R 是秩, λ r \lambda_r λr 是标量, a r \mathbf{a}_r ar b r \mathbf{b}_r br c r \mathbf{c}_r cr 分别是列向量。

3. 外积 (Outer Product)

  • 定义: 外积是两个向量之间的操作,结果是一个张量。例如,两个向量 a \mathbf{a} a b \mathbf{b} b 的外积 a ∘ b \mathbf{a} \circ \mathbf{b} ab 是一个矩阵,其中每个元素是 a \mathbf{a} a b \mathbf{b} b 的对应元素的乘积。

4. Khatri-Rao 积 (Khatri-Rao Product)

  • 定义: Khatri-Rao积是两个矩阵的列间Kronecker积。例如,矩阵 A ∈ R I × K \mathbf{A} \in \mathbb{R}^{I \times K} ARI×K B ∈ R J × K \mathbf{B} \in \mathbb{R}^{J \times K} BRJ×K 的Khatri-Rao积定义为

    A ⊙ B = [ a 1 ⊗ b 1 , a 2 ⊗ b 2 , … , a K ⊗ b K ] \mathbf{A} \odot \mathbf{B} = [\mathbf{a}_1 \otimes \mathbf{b}_1, \mathbf{a}_2 \otimes \mathbf{b}_2, \dots, \mathbf{a}_K \otimes \mathbf{b}_K] AB=[a1b1,a2b2,,aKbK]

    其中 ⊗ \otimes 表示Kronecker积, a i \mathbf{a}_i ai b i \mathbf{b}_i bi A \mathbf{A} A B \mathbf{B} B 的第 i i i 列。

5. 秩 (Rank)

  • 定义: 张量的秩是可以表示该张量的秩为一的张量个数的最小值。对于矩阵,这是行或列的最大线性无关数。

  • 公式:

    rank ( X ) = min ⁡ { R : X = ∑ r = 1 R a r ∘ b r ∘ c r } \text{rank}(\mathcal{X}) = \min \left\{ R : \mathcal{X} = \sum_{r=1}^R \mathbf{a}_r \circ \mathbf{b}_r \circ \mathbf{c}_r \right\} rank(X)=min{R:X=r=1Rarbrcr}

6. 边界秩 (Border Rank)

  • 定义: 边界秩是通过近似表示一个张量的秩的最小值。换句话说,它是通过对张量进行近似得到的最小秩。

  • 公式:

    rank ~ ( X ) = min ⁡ { r ∣ 对于任意  ϵ > 0 , 存在张量  E , 使得  ∥ E ∥ < ϵ 且 rank ( X + E ) = r } \tilde{\text{rank}}(\mathcal{X}) = \min \left\{ r \mid \text{对于任意 } \epsilon > 0, \text{ 存在张量 } \mathcal{E}, \text{使得 } \|\mathcal{E}\| < \epsilon \text{ 且 } \text{rank}(\mathcal{X} + \mathcal{E}) = r \right\} rank~(X)=min{r对于任意 ϵ>0, 存在张量 E,使得 E<ϵ  rank(X+E)=r}

7. 交替最小二乘法 (Alternating Least Squares, ALS)

  • 定义: ALS是一种迭代算法,通过固定其他因子矩阵,逐步优化某一个因子矩阵,使得损失函数逐渐减小,从而逼近最优解。
  • 算法步骤:
    • 固定矩阵 B , C \mathbf{B}, \mathbf{C} B,C,求解 A \mathbf{A} A

      A ← X ( 1 ) ( C ⊙ B ) [ ( C T C ) ∗ ( B T B ) ] − 1 \mathbf{A} \leftarrow \mathbf{X}_{(1)} (\mathbf{C} \odot \mathbf{B}) \left[ (\mathbf{C}^T \mathbf{C}) \ast (\mathbf{B}^T \mathbf{B}) \right]^{-1} AX(1)(CB)[(CTC)(BTB)]1

    • 固定矩阵 A , C \mathbf{A}, \mathbf{C} A,C,求解 B \mathbf{B} B

      B ← X ( 2 ) ( C ⊙ A ) [ ( C T C ) ∗ ( A T A ) ] − 1 \mathbf{B} \leftarrow \mathbf{X}_{(2)} (\mathbf{C} \odot \mathbf{A}) \left[ (\mathbf{C}^T \mathbf{C}) \ast (\mathbf{A}^T \mathbf{A}) \right]^{-1} BX(2)(CA)[(CTC)(ATA)]1

    • 固定矩阵 A , B \mathbf{A}, \mathbf{B} A,B,求解 C \mathbf{C} C

      C ← X ( 3 ) ( B ⊙ A ) [ ( B T B ) ∗ ( A T A ) ] − 1 \mathbf{C} \leftarrow \mathbf{X}_{(3)} (\mathbf{B} \odot \mathbf{A}) \left[ (\mathbf{B}^T \mathbf{B}) \ast (\mathbf{A}^T \mathbf{A}) \right]^{-1} CX(3)(BA)[(BTB)(ATA)]1

CANDECOMP/PARAFAC (CP) 分解

CP分解是一种将张量表示为多个秩为一的张量的和的分解方式。对于一个三阶张量 X ∈ R I × J × K \mathcal{X} \in \mathbb{R}^{I \times J \times K} XRI×J×K,CP分解的形式如下:

X ≈ ∑ r = 1 R λ r a r ∘ b r ∘ c r \mathcal{X} \approx \sum_{r=1}^R \lambda_r \, \mathbf{a}_r \circ \mathbf{b}_r \circ \mathbf{c}_r Xr=1Rλrarbrcr

其中, R R R 是分解的秩, λ r \lambda_r λr 是标量, a r ∈ R I \mathbf{a}_r \in \mathbb{R}^I arRI b r ∈ R J \mathbf{b}_r \in \mathbb{R}^J brRJ c r ∈ R K \mathbf{c}_r \in \mathbb{R}^K crRK 是对应的因子矩阵, ∘ \circ 表示外积。

矩阵化的形式为:

X ( 1 ) ≈ A ( C ⊙ B ) T \mathbf{X}_{(1)} \approx \mathbf{A} (\mathbf{C} \odot \mathbf{B})^T X(1)A(CB)T

X ( 2 ) ≈ B ( C ⊙ A ) T \mathbf{X}_{(2)} \approx \mathbf{B} (\mathbf{C} \odot \mathbf{A})^T X(2)B(CA)T

X ( 3 ) ≈ C ( B ⊙ A ) T \mathbf{X}_{(3)} \approx \mathbf{C} (\mathbf{B} \odot \mathbf{A})^T X(3)C(BA)T

这里 ⊙ \odot 表示Khatri-Rao积。

张量秩

张量的秩(Rank)定义为能将张量表示为秩为一的张量之和的最小数量。具体而言,对于张量 X \mathcal{X} X,其秩为:

rank ( X ) = min ⁡ { R : X = ∑ r = 1 R a r ∘ b r ∘ c r } \text{rank}(\mathcal{X}) = \min \left\{ R : \mathcal{X} = \sum_{r=1}^R \mathbf{a}_r \circ \mathbf{b}_r \circ \mathbf{c}_r \right\} rank(X)=min{R:X=r=1Rarbrcr}

张量秩的计算非常复杂,一般无法通过简单算法确定。

边界秩(Border Rank)

边界秩是指通过一定的近似误差将张量表示为秩为 r r r 的张量的最小秩。定义为:

rank ~ ( X ) = min ⁡ { r ∣ 对于任意  ϵ > 0 , 存在张量  E , 使得  ∥ E ∥ < ϵ 且 rank ( X + E ) = r } \tilde{\text{rank}}(\mathcal{X}) = \min \left\{ r \mid \text{对于任意 } \epsilon > 0, \text{ 存在张量 } \mathcal{E}, \text{使得 } \|\mathcal{E}\| < \epsilon \text{ 且 } \text{rank}(\mathcal{X} + \mathcal{E}) = r \right\} rank~(X)=min{r对于任意 ϵ>0, 存在张量 E,使得 E<ϵ  rank(X+E)=r}

显然,有 rank ~ ( X ) ≤ rank ( X ) \tilde{\text{rank}}(\mathcal{X}) \leq \text{rank}(\mathcal{X}) rank~(X)rank(X)

ALS算法计算CP分解

交替最小二乘法(ALS)是计算CP分解的常用方法。ALS算法通过固定其他矩阵,交替求解每个因子矩阵的最小二乘解。具体算法步骤如下:

A ← X ( 1 ) ( C ⊙ B ) [ ( C T C ) ∗ ( B T B ) ] − 1 \mathbf{A} \leftarrow \mathbf{X}_{(1)} (\mathbf{C} \odot \mathbf{B}) \left[ (\mathbf{C}^T \mathbf{C}) \ast (\mathbf{B}^T \mathbf{B}) \right]^{-1} AX(1)(CB)[(CTC)(BTB)]1

B ← X ( 2 ) ( C ⊙ A ) [ ( C T C ) ∗ ( A T A ) ] − 1 \mathbf{B} \leftarrow \mathbf{X}_{(2)} (\mathbf{C} \odot \mathbf{A}) \left[ (\mathbf{C}^T \mathbf{C}) \ast (\mathbf{A}^T \mathbf{A}) \right]^{-1} BX(2)(CA)[(CTC)(ATA)]1

C ← X ( 3 ) ( B ⊙ A ) [ ( B T B ) ∗ ( A T A ) ] − 1 \mathbf{C} \leftarrow \mathbf{X}_{(3)} (\mathbf{B} \odot \mathbf{A}) \left[ (\mathbf{B}^T \mathbf{B}) \ast (\mathbf{A}^T \mathbf{A}) \right]^{-1} CX(3)(BA)[(BTB)(ATA)]1

该过程不断迭代,直到收敛。

参考

  1. https://www.kolda.net/publication/TensorReview.pdf

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词