背景见:【张量】由可逆线性变换诱导的具有新张量核范数的低秩张量补全(1)
文章目录
阅读笔记
这篇论文提出了一种新的基于可逆线性变换的张量核范数,用于解决低秩张量补全问题。以下是这篇论文的关键点和通俗解释:
论文的目标
低秩张量补全问题:从部分观测数据中准确恢复低秩张量(多维数据)。该方法可以应用于图像恢复、视频压缩等领域。
核心概念
- 张量:高维数据结构,类似于矩阵的扩展。比如,彩色图像是一个三维张量,视频是一个四维张量。
- 低秩:张量可以用少量的成分表示,减少计算和存储需求。
方法
论文提出了基于 t − p r o d u c t t-product t−product 和 ** t − S V D t-SVD t−SVD(张量奇异值分解)**的方法,通过可逆线性变换来定义新的张量核范数。这些新的范数可以帮助解决张量补全问题。
具体步骤
- t − p r o d u c t t-product t−product:定义了如何使用线性变换来进行张量的乘积运算。这个过程类似于矩阵乘法,但在张量的第三维度上进行。
- t − S V D t-SVD t−SVD:通过线性变换,张量可以被分解为三个张量的乘积,类似于矩阵的 S V D SVD SVD 分解。这种分解方式可以更好地处理张量的低秩性质。
- 张量核范数:使用 t − p r o d u c t t-product t−product 和 t − S V D t-SVD t−SVD 来定义张量的核范数,从而将低秩张量补全问题转化为一个凸优化问题。
理论保障
论文证明了在一定的条件下,使用这种新的张量核范数可以准确恢复低秩张量。具体来说,当观测数据满足某些不一致性条件时,所提出的方法可以以较高的概率成功恢复原始张量。
实验验证
通过数值实验和图像恢复实验,论文展示了该方法在实际应用中的有效性。实验结果表明,该方法在图像恢复任务中表现优于现有的一些方法,特别是在处理图像边缘时效果更好。
应用
- 图像恢复:通过部分观测的像素点恢复完整图像。
- 视频补全:从部分帧中恢复完整视频。
- 数据压缩:利用低秩性质进行高效的数据存储和传输。
总结
这篇论文提出了一种基于可逆线性变换的新的张量核范数,并通过理论分析和实验验证证明了其在低秩张量补全问题上的有效性和优越性。这种方法在处理多维数据时具有广泛的应用前景。
CP 秩
在张量学习中,CP 秩(Candecomp/Parafac rank),又称为 CP 分解秩,是一个关键概念。它用于**描述一个张量(多维数组)可以被分解成若干个 秩一张量(即可以表示为外积的向量)的最小数量。**这个概念在张量分解中尤为重要,尤其在数据表示、压缩和分析中有广泛的应用。
要理解这个概念,我们需要先了解几个基本概念:
- 张量:张量是一个多维数组,矩阵是二维张量,而向量是一维张量。例如,一个三维张量可以表示为一个三维的矩阵。
- 秩一张量:一个秩一张量是由向量的外积构成的。例如,给定三个向量 a ∈ R I , b ∈ R J , c ∈ R K a \in \mathbb{R}^I, b \in \mathbb{R}^J, c \in \mathbb{R}^K a∈RI,b∈RJ,c∈RK,它们的外积 a ⊗ b ⊗ c a \otimes b \otimes c a⊗b⊗c 是一个 I × J × K I \times J \times K I×J×K 的 秩一张量。
什么是 CP 秩
C P CP CP 秩是指一个张量能够被分解成若干个秩一张量的最小数量。例如,对于一个三阶张量 X \mathcal{X} X ,如果我们可以找到 R R R 个秩一张量使得它们的和等于 X \mathcal{X} X ,那么这个 R R R 就是这个张量的 C P CP CP 秩。
CP 分解的数学表达
给定一个三阶张量 X ∈ R I × J × K \mathcal{X} \in \mathbb{R}^{I \times J \times K} X∈RI×J×K ,它的 C P CP CP 分解可以表示为: X ≈ ∑ r = 1 R a r ⊗ b r ⊗ c r \mathcal{X} \approx \sum_{r=1}^{R} a_r \otimes b_r \otimes c_r X≈∑r=1Rar⊗br⊗cr
其中, a r ∈ R I , b r ∈ R J , c r ∈ R K a_r \in \mathbb{R}^I , b_r \in \mathbb{R}^J , c_r \in \mathbb{R}^K ar∈RI,br∈RJ,cr∈RK 是第 r r r 个 秩一张量 的因子向量, ⊗ \otimes ⊗ 表示向量的外积, R R R 是张量的 C P CP CP 秩。
类比解释
为了更容易理解,我们可以用一个简单的类比来说明这个概念。假设你有一块巧克力(一个三维张量),你想知道如何用最少的巧克力块(秩一张量)来拼出这块巧克力的形状和味道。
- 张量:就像一块大巧克力,它有长度、宽度和厚度(对应于张量的三个维度)。
- 秩一张量:就像一个小巧克力块,每个小块都是有固定长度、宽度和厚度的一块巧克力。
- CP 秩:是用这些小巧克力块拼成大块巧克力所需的最小块数。
假设你有一种巧克力拼接方法,可以用 5 5 5 块小巧克力(秩一张量)来拼成你想要的大块巧克力(原张量),那么这个大块巧克力的 C P CP CP 秩就是 5 5 5。
示例
假设我们有一个 3 × 3 × 3 3 \times 3 \times 3 3×3×3 的张量 X \mathcal{X} X ,它的 C P CP CP 分解可以如下表示:
X i , j , k = ∑ r = 1 R a i , r ⋅ b j , r ⋅ c k , r \mathcal{X}_{i,j,k} = \sum_{r=1}^{R} a_{i,r} \cdot b_{j,r} \cdot c_{k,r} Xi,j,k=∑r=1Rai,r⋅bj,r⋅ck,r
如果我们找到 3 3 3 个秩一张量(即 R = 3 R = 3 R=3),它们的外积之和等于 X \mathcal{X} X ,那么这个张量的 C P CP CP 秩就是 3 3 3。
Tucker 秩的定义
T u c k e r Tucker Tucker 秩由核心张量 G \mathcal{G} G 的各个维度的大小 ( R 1 , R 2 , … , R N ) (R_1, R_2, \ldots, R_N) (R1,R2,…,RN) 决定。具体来说, T u c k e r Tucker Tucker 秩是一个 N N N 元组 ( R 1 , R 2 , … , R N ) (R_1, R_2, \ldots, R_N) (R1,R2,…,RN),其中每个 R n R_n Rn 表示张量在第 n n n 维的秩。
t-product
张量-张量乘积( t − p r o d u c t t-product t−product)是处理三阶张量的一种乘积运算,它在张量计算和信号处理等领域有重要应用。 t − p r o d u c t t-product t−product 基于卷积操作,特别是基于傅里叶变换的卷积,它为张量提供了一种类似于矩阵乘积的运算方式。
基本概念
假设我们有两个三阶张量 A ∈ R n 1 × n 2 × n 3 \mathcal{A} \in \mathbb{R}^{n_1 \times n_2 \times n_3} A∈Rn1×n2×n3 和 B ∈ R n 2 × n 4 × n 3 \mathcal{B} \in \mathbb{R}^{n_2 \times n_4 \times n_3} B∈Rn2×n4×n3,它们的 t − p r o d u c t t-product t−product 结果是一个三阶张量 C ∈ R n 1 × n 4 × n 3 \mathcal{C} \in \mathbb{R}^{n_1 \times n_4 \times n_3} C∈Rn1×n4×n3。
计算步骤
t − p r o d u c t t-product t−product 的计算步骤可以分为以下几个主要部分:
-
块循环矩阵(Block Circulant Matrix):
首先,将张量 A \mathcal{A} A 变换为一个块循环矩阵 bcirc ( A ) \text{bcirc}(\mathcal{A}) bcirc(A),大小为 n 1 n 3 × n 2 n 3 n_1n_3 \times n_2n_3 n1n3×n2n3。具体定义为:bcirc ( A ) = [ A ( 1 ) A ( n 3 ) ⋯ A ( 2 ) A ( 2 ) A ( 1 ) ⋯ A ( 3 ) ⋮ ⋮ ⋱ ⋮ A ( n 3 ) A ( n 3 − 1 ) ⋯ A ( 1 ) ] \text{bcirc}(\mathcal{A}) = \begin{bmatrix} \mathcal{A}^{(1)} & \mathcal{A}^{(n_3)} & \cdots & \mathcal{A}^{(2)} \\ \mathcal{A}^{(2)} & \mathcal{A}^{(1)} & \cdots & \mathcal{A}^{(3)} \\ \vdots & \vdots & \ddots & \vdots \\ \mathcal{A}^{(n_3)} & \mathcal{A}^{(n_3-1)} & \cdots & \mathcal{A}^{(1)} \end{bmatrix} bcirc(A)= A(1)A(2)⋮A(n3)A(n3)A(1)⋮A(n3−1)⋯⋯⋱⋯A(2)A(3)⋮A(1)
其中, A ( i ) \mathcal{A}^{(i)} A(i) 表示张量 A \mathcal{A} A 的第 i i i 个前切片。
-
展开和折叠操作:
将张量 B \mathcal{B} B 展开为一个矩阵 unfold ( B ) \text{unfold}(\mathcal{B}) unfold(B) ,大小为 n 2 n 3 × n 4 n_2n_3 \times n_4 n2n3×n4,然后进行块循环矩阵的矩阵乘法,再将结果折叠回张量形式:C = fold ( bcirc ( A ) ⋅ unfold ( B ) ) \mathcal{C} = \text{fold}(\text{bcirc}(\mathcal{A}) \cdot \text{unfold}(\mathcal{B})) C=fold(bcirc(A)⋅unfold(B))
-
傅里叶变换:
块循环矩阵可以通过傅里叶变换对角化,得到以下方程:
A ^ = ( F ⊗ I 1 ) bcirc ( A ) ( F ∗ ⊗ I 2 ) = [ A ^ ( 1 ) 0 ⋯ 0 0 A ^ ( 2 ) ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 ⋯ 0 A ^ ( I 3 ) ] , \hat{A} = (F \otimes I_1) \text{bcirc}(A) (F^* \otimes I_2) = \begin{bmatrix} \hat{A}(1) & 0 & \cdots & 0 \\ 0 & \hat{A}(2) & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & \cdots & 0 & \hat{A}(I_3) \end{bmatrix}, A^=(F⊗I1)bcirc(A)(F∗⊗I2)= A^(1)0⋮00A^(2)⋮⋯⋯⋯⋱000⋮A^(I3) ,
其中 F ∈ R I 3 × I 3 F \in \mathbb{R}^{I_3 \times I_3} F∈RI3×I3 是离散傅里叶变换( D F T DFT DFT)矩阵, F ∗ F^* F∗ 是 F F F 的共轭转置, I 1 ∈ R I 1 × I 1 I_1 \in \mathbb{R}^{I_1 \times I_1} I1∈RI1×I1 和 I 2 ∈ R I 2 × I 2 I_2 \in \mathbb{R}^{I_2 \times I_2} I2∈RI2×I2, A ^ \hat{A} A^ 是 A A A 在第三模式下的快速傅里叶变换( F F T FFT FFT)。
bcirc ( A ) MatVec ( B ) = ( F ∗ ⊗ I 1 ) ( ( F ⊗ I 1 ) circ ( A ) ( F ∗ ⊗ I 2 ) ) ( F ⊗ I 2 ) MatVec ( B ) \text{bcirc}(A)\text{MatVec}(B) = (F^* \otimes I_1)((F \otimes I_1)\text{circ}(A)(F^* \otimes I_2))(F \otimes I_2)\text{MatVec}(B) bcirc(A)MatVec(B)=(F∗⊗I1)((F⊗I1)circ(A)(F∗⊗I2))(F⊗I2)MatVec(B)
在这种情况下, t − p r o d u c t t-product t−product 可以通过沿每个 m o d e − 3 mode-3 mode−3 片进行 F F T FFT FFT,然后对每个前片进行矩阵乘积,再对结果进行逆 F F T FFT FFT 来计算。
t − p r o d u c t t-product t−product 的计算利用傅里叶变换和逆傅里叶变换,将卷积操作转化为频域的点乘,fft 表示快速傅里叶变换,是计算傅里叶变换的高效算法。
A fft = fft ( A , [ ] , 3 ) \mathcal{A}_{\text{fft}} = \text{fft}(\mathcal{A}, [], 3) Afft=fft(A,[],3)
B fft = fft ( B , [ ] , 3 ) \mathcal{B}_{\text{fft}} = \text{fft}(\mathcal{B}, [], 3) Bfft=fft(B,[],3)
在频域中,进行逐切片的矩阵乘法:
C fft ( i ) = A fft ( i ) ⋅ B fft ( i ) \mathcal{C}_{\text{fft}}^{(i)} = \mathcal{A}_{\text{fft}}^{(i)} \cdot \mathcal{B}_{\text{fft}}^{(i)} Cfft(i)=Afft(i)⋅Bfft(i)
然后通过逆傅里叶变换将结果变回时域:
C = ifft ( C fft , [ ] , 3 ) \mathcal{C} = \text{ifft}(\mathcal{C}_{\text{fft}}, [], 3) C=ifft(Cfft,[],3)
傅里叶变换在 t − p r o d u c t t-product t−product 计算中起到了以下几个重要作用:
- 简化计算:将复杂的张量乘积问题转化为频域中的简单矩阵乘法,显著降低计算复杂度。
- 块对角化:**利用傅里叶变换将张量的第三维块对角化,**使得乘法操作更加高效。
- 高效实现:在频域中操作的独立性和简便性使得 t − p r o d u c t t-product t−product 可以高效地实现,尤其适用于处理大规模数据的应用。
通过这些步骤,我们可以更高效地计算张量之间的乘积,充分利用傅里叶变换的数学特性来简化和加速计算过程。
数学定义
令 A ∈ R n 1 × n 2 × n 3 \mathcal{A} \in \mathbb{R}^{n_1 \times n_2 \times n_3} A∈Rn1×n2×n3 和 B ∈ R n 2 × n 4 × n 3 \mathcal{B} \in \mathbb{R}^{n_2 \times n_4 \times n_3} B∈Rn2×n4×n3,它们的 t − p r o d u c t t-product t−product C = A ∗ B \mathcal{C} = \mathcal{A} * \mathcal{B} C=A∗B 定义为:
C = fold ( bcirc ( A ) ⋅ unfold ( B ) ) \mathcal{C} = \text{fold}(\text{bcirc}(\mathcal{A}) \cdot \text{unfold}(\mathcal{B})) C=fold(bcirc(A)⋅unfold(B))
其中:
- bcirc ( A ) \text{bcirc}(\mathcal{A}) bcirc(A) 是 A \mathcal{A} A 的块循环矩阵,大小为 n 1 n 3 × n 2 n 3 。 n_1n_3 \times n_2n_3。 n1n3×n2n3。
- unfold ( B ) \text{unfold}(\mathcal{B}) unfold(B) 是 B \mathcal{B} B 展开的矩阵,大小为 n 2 n 3 × n 4 n_2n_3 \times n_4 n2n3×n4。
- fold \text{fold} fold 是将矩阵重新折叠回张量形式的操作。
示例
假设我们有以下两个三阶张量 A \mathcal{A} A 和 B \mathcal{B} B:
A ∈ R 2 × 2 × 2 和 B ∈ R 2 × 2 × 2 \mathcal{A} \in \mathbb{R}^{2 \times 2 \times 2} \quad \text{和} \quad \mathcal{B} \in \mathbb{R}^{2 \times 2 \times 2} A∈R2×2×2和B∈R2×2×2
A \mathcal{A} A 和 B \mathcal{B} B 的具体数据如下:
A ( : , : , 1 ) = [ 1 2 3 4 ] , A ( : , : , 2 ) = [ 5 6 7 8 ] \mathcal{A}(:,:,1) = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix}, \quad \mathcal{A}(:,:,2) = \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix} A(:,:,1)=[1324],A(:,:,2)=[5768]
B ( : , : , 1 ) = [ 1 0 0 1 ] , B ( : , : , 2 ) = [ 0 1 1 0 ] \mathcal{B}(:,:,1) = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}, \quad \mathcal{B}(:,:,2) = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} B(:,:,1)=[1001],B(:,:,2)=[0110]
-
构造块循环矩阵:
bcirc ( A ) = [ A ( 1 ) A ( 2 ) A ( 2 ) A ( 1 ) ] = [ [ 1 2 3 4 ] [ 5 6 7 8 ] [ 5 6 7 8 ] [ 1 2 3 4 ] ] \text{bcirc}(\mathcal{A}) = \begin{bmatrix} \mathcal{A}^{(1)} & \mathcal{A}^{(2)} \\ \mathcal{A}^{(2)} & \mathcal{A}^{(1)} \end{bmatrix} = \begin{bmatrix} \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} & \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix} \\ \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix} & \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} \end{bmatrix} bcirc(A)=[A(1)A(2)A(2)A(1)]= [1324][5768][5768][1324]
-
展开 B \mathcal{B} B:
unfold ( B ) = [ B ( 1 ) B ( 2 ) ] = [ [ 1 0 0 1 ] [ 0 1 1 0 ] ] \text{unfold}(\mathcal{B}) = \begin{bmatrix} \mathcal{B}^{(1)} \\ \mathcal{B}^{(2)} \end{bmatrix} = \begin{bmatrix} \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} \\ \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} \end{bmatrix} unfold(B)=[B(1)B(2)]= [1001][0110]
-
进行矩阵乘法并折叠:
C = fold ( bcirc ( A ) ⋅ unfold ( B ) ) \mathcal{C} = \text{fold}(\text{bcirc}(\mathcal{A}) \cdot \text{unfold}(\mathcal{B})) C=fold(bcirc(A)⋅unfold(B))
-
傅里叶变换:
A fft = fft ( A , [ ] , 3 ) \mathcal{A}_{\text{fft}} = \text{fft}(\mathcal{A}, [], 3) Afft=fft(A,[],3)
B fft = fft ( B , [ ] , 3 ) \mathcal{B}_{\text{fft}} = \text{fft}(\mathcal{B}, [], 3) Bfft=fft(B,[],3)
-
逐切片矩阵乘法:
C fft ( 1 ) = A fft ( 1 ) ⋅ B fft ( 1 ) , C fft ( 2 ) = A fft ( 2 ) ⋅ B fft ( 2 ) \mathcal{C}{\text{fft}}^{(1)} = \mathcal{A}{\text{fft}}^{(1)} \cdot \mathcal{B}{\text{fft}}^{(1)}, \quad \mathcal{C}{\text{fft}}^{(2)} = \mathcal{A}{\text{fft}}^{(2)} \cdot \mathcal{B}{\text{fft}}^{(2)} Cfft(1)=Afft(1)⋅Bfft(1),Cfft(2)=Afft(2)⋅Bfft(2)
-
逆傅里叶变换:
C = ifft ( C fft , [ ] , 3 ) \mathcal{C} = \text{ifft}(\mathcal{C}_{\text{fft}}, [], 3) C=ifft(Cfft,[],3)
张量 SVD(t-SVD)
张量 S V D SVD SVD 是一种将高阶张量分解成一系列简单张量的方法。具体来说,对于一个三阶张量 A ∈ R n 1 × n 2 × n 3 \mathcal{A} \in \mathbb{R}^{n_1 \times n_2 \times n_3} A∈Rn1×n2×n3,张量 S V D SVD SVD $$ 将其分解为三个张量的乘积: A = U ∗ S ∗ V T \mathcal{A} = \mathcal{U} * \mathcal{S} * \mathcal{V}^T A=U∗S∗VT
其中:
- U ∈ R n 1 × n 1 × n 3 \mathcal{U} \in \mathbb{R}^{n_1 \times n_1 \times n_3} U∈Rn1×n1×n3 是一个正交张量。
- S ∈ R n 1 × n 2 × n 3 \mathcal{S} \in \mathbb{R}^{n_1 \times n_2 \times n_3} S∈Rn1×n2×n3 是一个对角张量,其对角元素是奇异值。
- V ∈ R n 2 × n 2 × n 3 \mathcal{V} \in \mathbb{R}^{n_2 \times n_2 \times n_3} V∈Rn2×n2×n3 是一个正交张量。
张量 S V D SVD SVD 的计算步骤
- 傅里叶变换:对张量的第三维进行离散傅里叶变换(DFT)。
- 逐切片进行矩阵SVD:对傅里叶变换后的每个二维切片进行矩阵SVD。
- 逆傅里叶变换:将分解后的结果进行逆傅里叶变换(IDFT)。
步骤 1:傅里叶变换
首先,对张量的第三维进行 D F T DFT DFT,将张量从时域转换到频域。假设张量 A \mathcal{A} A 进行 D F T DFT DFT 后的结果为 A ^ \hat{\mathcal{A}} A^: A ^ = F ( A ) \hat{\mathcal{A}} = \mathcal{F}(\mathcal{A}) A^=F(A)
步骤 2:逐切片进行矩阵 S V D SVD SVD
在频域中,对张量 A ^ \hat{\mathcal{A}} A^ 的每个二维切片进行矩阵 S V D SVD SVD。对于每个频域切片
A ^ ( i ) : \hat{A}^{(i)}: A^(i): A ^ ( i ) = U ^ ( i ) S ^ ( i ) ( V ^ ( i ) ) T \hat{A}^{(i)} = \hat{U}^{(i)} \hat{S}^{(i)} (\hat{V}^{(i)})^T A^(i)=U^(i)S^(i)(V^(i))T
这里, U ^ ( i ) , S ^ ( i ) , V ^ ( i ) \hat{U}^{(i)}, \hat{S}^{(i)}, \hat{V}^{(i)} U^(i),S^(i),V^(i) 分别是切片 A ^ ( i ) \hat{A}^{(i)} A^(i) 的左奇异向量、奇异值和右奇异向量。
步骤 3:逆傅里叶变换
将分解后的张量进行逆傅里叶变换 ( I D F T ) (IDFT) (IDFT),得到最终的分解结果:
U = F − 1 ( U ^ ) , S = F − 1 ( S ^ ) , V = F − 1 ( V ^ ) \mathcal{U} = \mathcal{F}^{-1}(\hat{\mathcal{U}}), \quad \mathcal{S} = \mathcal{F}^{-1}(\hat{\mathcal{S}}), \quad \mathcal{V} = \mathcal{F}^{-1}(\hat{\mathcal{V}}) U=F−1(U^),S=F−1(S^),V=F−1(V^)
张量SVD的应用
张量SVD在很多领域有着广泛的应用,主要包括:
- 多维数据分析:在处理高维数据时,张量SVD可以有效地降维,提取数据的主要特征。
- 图像处理:在图像去噪、图像压缩等任务中,张量SVD能够帮助去除噪声,同时保留重要的图像特征。
- 信号处理:在多通道信号处理中,张量SVD用于分离信号和噪声,提高信号的质量。
具体例子
为了具体说明张量SVD的计算过程,让我们考虑一个简单的三阶张量 A ∈ R 2 × 2 × 2 : \mathcal{A} \in \mathbb{R}^{2 \times 2 \times 2}: A∈R2×2×2:
A = ( A ( 1 ) A ( 2 ) ) \mathcal{A} = \begin{pmatrix} A^{(1)} \\ A^{(2)} \end{pmatrix} A=(A(1)A(2))
其中:
A ( 1 ) = ( 1 2 3 4 ) , A ( 2 ) = ( 5 6 7 8 ) A^{(1)} = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}, \quad A^{(2)} = \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix} A(1)=(1324),A(2)=(5768)
步骤 1:傅里叶变换
对张量 A \mathcal{A} A 的第三维进行 D F T DFT DFT:
A ^ = F ( A ) \hat{\mathcal{A}} = \mathcal{F}(\mathcal{A}) A^=F(A)
具体计算为:
A ^ ( 1 ) = A ( 1 ) + A ( 2 ) = ( 1 + 5 2 + 6 3 + 7 4 + 8 ) = ( 6 8 10 12 ) \hat{A}^{(1)} = A^{(1)} + A^{(2)} = \begin{pmatrix} 1+5 & 2+6 \\ 3+7 & 4+8 \end{pmatrix} = \begin{pmatrix} 6 & 8 \\ 10 & 12 \end{pmatrix} A^(1)=A(1)+A(2)=(1+53+72+64+8)=(610812)
A ^ ( 2 ) = A ( 1 ) − A ( 2 ) = ( 1 − 5 2 − 6 3 − 7 4 − 8 ) = ( − 4 − 4 − 4 − 4 ) \hat{A}^{(2)} = A^{(1)} - A^{(2)} = \begin{pmatrix} 1-5 & 2-6 \\ 3-7 & 4-8 \end{pmatrix} = \begin{pmatrix} -4 & -4 \\ -4 & -4 \end{pmatrix} A^(2)=A(1)−A(2)=(1−53−72−64−8)=(−4−4−4−4)
步骤 2:逐切片进行矩阵SVD
对每个频域切片进行 矩阵SVD:
A ^ ( 1 ) = U ^ ( 1 ) S ^ ( 1 ) ( V ^ ( 1 ) ) T , A ^ ( 2 ) = U ^ ( 2 ) S ^ ( 2 ) ( V ^ ( 2 ) ) T \hat{A}^{(1)} = \hat{U}^{(1)} \hat{S}^{(1)} (\hat{V}^{(1)})^T, \quad \hat{A}^{(2)} = \hat{U}^{(2)} \hat{S}^{(2)} (\hat{V}^{(2)})^T A^(1)=U^(1)S^(1)(V^(1))T,A^(2)=U^(2)S^(2)(V^(2))T
假设我们得到:
U ^ ( 1 ) = ( u 11 u 12 u 21 u 22 ) , S ^ ( 1 ) = ( σ 1 0 0 σ 2 ) , V ^ ( 1 ) = ( v 11 v 12 v 21 v 22 ) \hat{U}^{(1)} = \begin{pmatrix} u_{11} & u_{12} \\ u_{21} & u_{22} \end{pmatrix}, \quad \hat{S}^{(1)} = \begin{pmatrix} \sigma_{1} & 0 \\ 0 & \sigma_{2} \end{pmatrix}, \quad \hat{V}^{(1)} = \begin{pmatrix} v_{11} & v_{12} \\ v_{21} & v_{22} \end{pmatrix} U^(1)=(u11u21u12u22),S^(1)=(σ100σ2),V^(1)=(v11v21v12v22)
U ^ ( 2 ) = ( u 11 ′ u 12 ′ u 21 ′ u 22 ′ ) , S ^ ( 2 ) = ( σ 1 ′ 0 0 σ 2 ′ ) , V ^ ( 2 ) = ( v 11 ′ v 12 ′ v 21 ′ v 22 ′ ) \hat{U}^{(2)} = \begin{pmatrix} u_{11}' & u_{12}' \\ u_{21}' & u_{22}' \end{pmatrix}, \quad \hat{S}^{(2)} = \begin{pmatrix} \sigma_{1}' & 0 \\ 0 & \sigma_{2}' \end{pmatrix}, \quad \hat{V}^{(2)} = \begin{pmatrix} v_{11}' & v_{12}' \\ v_{21}' & v_{22}' \end{pmatrix} U^(2)=(u11′u21′u12′u22′),S^(2)=(σ1′00σ2′),V^(2)=(v11′v21′v12′v22′)
步骤 3:逆傅里叶变换
将分解后的张量进行逆傅里叶变换(IDFT),得到最终的分解结果:
U = F − 1 ( U ^ ) , S = F − 1 ( S ^ ) , V = F − 1 ( V ^ ) \mathcal{U} = \mathcal{F}^{-1}(\hat{\mathcal{U}}), \quad \mathcal{S} = \mathcal{F}^{-1}(\hat{\mathcal{S}}), \quad \mathcal{V} = \mathcal{F}^{-1}(\hat{\mathcal{V}}) U=F−1(U^),S=F−1(S^),V=F−1(V^)
张量不相干条件为何能避免 M 过于稀疏
为了理解张量不相干条件,我们需要首先了解“稀疏性”和“不相干性”的概念。
稀疏性
“稀疏性”意味着数据中有大量的零值或缺失值。举个例子,如果一个三维表格(张量)中很多行或列几乎都是零,那么我们说这个张量是稀疏的。稀疏的数据很难通过常规方法进行恢复,因为缺少足够的信息来推测缺失的值。
不相干性
“不相干性”是一种数学性质,用来描述数据的分布如何避免集中在某些特定的方向或模式上。简单地说,不相干性确保了数据是均匀分布的,没有太多的值集中在某个特定的方向。
为了避免 M M M 过于稀疏,我们引入了张量不相干条件。这些条件确保了数据在所有方向上都有足够的信息量,避免了数据过于集中或过于稀疏。
张量不相干条件的具体含义
张量不相干条件可以用以下两个公式表示:
max i = 1 , … , n 1 ∥ U T ∗ L e i ∥ F ≤ μ r n 1 ℓ , \max_{i=1,\ldots,n1} \|U^T * L e_i\|_F \leq \sqrt{\frac{\mu r}{n1\ell}}, i=1,…,n1max∥UT∗Lei∥F≤n1ℓμr,
max j = 1 , … , n 2 ∥ V T ∗ L e j ∥ F ≤ μ r n 2 ℓ , \max_{j=1,\ldots,n2} \|V^T * L e_j\|_F \leq \sqrt{\frac{\mu r}{n2\ell}}, j=1,…,n2max∥VT∗Lej∥F≤n2ℓμr,
这里, U U U 和 V V V 是张量 M M M 的奇异值分解的两个矩阵部分, L L L 是一种可逆的线性变换, e i e_i ei 和 e j e_j ej 是标准基向量(类似于坐标轴的方向), μ \mu μ 是一个不相干参数, r r r 是张量的秩, n 1 n1 n1 和 n 2 n2 n2 是张量的两个维度, ℓ \ell ℓ 是线性变换的一个常数。
不相干条件如何避免稀疏性
- 均匀分布信息:不相干条件确保了数据在所有方向上的信息分布是均匀的。它避免了数据集中在少数几个方向或模式上,确保了每个方向上都有足够的信息量。
- 避免病态情况:如果数据过于稀疏,我们很难从部分观测值中恢复出完整的数据。不相干条件通过限制 U U U 和 V V V 的值,确保数据不会过于集中或稀疏,从而避免这种病态情况。
- 提高恢复概率:通过引入不相干条件,我们增加了数据恢复的可能性。均匀分布的信息使得从部分观测值中恢复出完整数据变得更加可靠。
举个例子
想象一下,我们有一个三维的拼图(张量),不相干条件就像是确保每一块拼图都有颜色和图案,而不是很多块都是空白的。如果很多拼图都是空白的(稀疏),那么即使有一些完整的拼图块,我们也很难拼出整个图。但如果每块拼图都有足够的信息(不相干),即使有些缺失,我们仍然可以比较容易地推测出缺失的部分,最终拼出完整的图。
总之,张量不相干条件通过确保信息的均匀分布,避免了数据的稀疏性,从而提高了从部分观测值中恢复出完整数据的可能性。
定理 3.1 说人话版
证明思路:
- 管状张量的表示:我们用 U ∗ L S ∗ L V T U * L S * L V^T U∗LS∗LVT 表示张量 M M M 的分解,其中 U 、 V U 、 V U、V 是正交张量, S S S 是对角张量, L L L 是线性变换。
- 引入不相干条件:通过不相干条件确保 U U U 和 V V V 的列向量与标准基向量 e i e_i ei 和 e j e_j ej 之间的相互作用不会过大,这确保了数据的均匀分布。
- 采样概率 p:我们需要确保采样概率 p p p 足够大,以便从部分观测中恢复完整张量的概率足够高。定理给出了 p p p 的具体下界,确保当 p p p 满足该条件时,恢复是高概率事件。
- 凸优化:通过解决一个凸优化问题,即最小化核范数,我们可以找到符合部分观测数据的最优解,并且这个解在满足不相干条件和适当的 p p p 下,是唯一且精确的。
例子:
想象你有一个三维拼图(张量),这个拼图可能有很多块缺失。定理3.1的结论是,如果你知道如何从这些已知的拼图块中提取足够的信息,并且这些信息在整个拼图中分布均匀,那么你就可以通过适当的方法(如最小化核范数)精确地恢复出完整的拼图。
总结来说,定理3.1通过引入不相干条件和适当的采样概率 p p p ,确保了部分观测数据可以用来精确恢复低秩张量。这为张量补全问题提供了理论保证,说明在一定条件下,我们可以高概率地从部分观测值中恢复出完整的三维数据。
为什么核范数最小化能补全矩阵
a. 低秩矩阵假设
在许多实际应用中,数据矩阵被认为是低秩的,即使矩阵看起来很大,但它们可以由少量的潜在因子生成。例如,在推荐系统中,用户的评分矩阵通常由少数几个潜在的偏好模式决定。因此,通过最小化核范数,我们倾向于寻找一个低秩矩阵,这个矩阵能够很好地近似部分观测的数据。
b. 核范数作为秩的凸替代
矩阵的秩(Rank)是非凸的,直接最小化矩阵的秩是一个NP难题。然而,核范数是矩阵秩的最小凸包,即在某些条件下,最小化核范数可以作为最小化秩的一个凸替代。这样,我们可以通过凸优化方法有效地求解这个问题。
c. 理论保证
核范数最小化方法在理论上有很好的保证。**Candès和Recht等人证明了,在满足一定的不相干性条件和观测样本数目足够的情况下,通过核范数最小化可以高概率地精确恢复低秩矩阵。**这些条件包括:
- 不相干性条件:确保矩阵的行和列空间与标准基向量没有太强的对齐。
- 观测样本数:样本数要达到一定的下界,这个下界与矩阵的秩和尺寸有关。
d. 算法实现
核范数最小化可以通过多种凸优化算法实现,例如交替方向乘子法(ADMM)、梯度下降等。这些算法可以高效地处理大规模数据,并且在实际应用中表现良好。
交替方向乘子法(ADMM)
交替方向乘子法(ADMM, Alternating Direction Method of Multipliers)是一种**用于求解带有约束的凸优化问题的迭代算法。**ADMM 将复杂的优化问题分解为易于解决的子问题,通过交替更新变量来逐步逼近最优解。它结合了拉格朗日乘子法和交替最小化技术,在处理大规模问题和分布式计算方面非常有效。
1. 问题形式
ADMM 适用于如下形式的优化问题:
min x , z f ( x ) + g ( z ) , subject to A x + B z = c , \min_{x, z} \ f(x) + g(z), \quad \text{subject to} \ Ax + Bz = c, x,zmin f(x)+g(z),subject to Ax+Bz=c,
其中, f ( x ) f(x) f(x) 和 g ( z ) g(z) g(z) 是凸函数, A A A 和 B B B 是矩阵, c c c 是一个常数向量。
2. 拉格朗日函数
首先,我们构建增广拉格朗日函数:
L ρ ( x , z , λ ) = f ( x ) + g ( z ) + λ T ( A x + B z − c ) + ρ 2 ∥ A x + B z − c ∥ 2 2 , L_{\rho}(x, z, \lambda) = f(x) + g(z) + \lambda^T (Ax + Bz - c) + \frac{\rho}{2} \|Ax + Bz - c\|_2^2, Lρ(x,z,λ)=f(x)+g(z)+λT(Ax+Bz−c)+2ρ∥Ax+Bz−c∥22,
其中, λ \lambda λ 是拉格朗日乘子, ρ \rho ρ 是一个正的惩罚参数。
3. ADMM 迭代步骤
ADMM 通过以下三个步骤迭代更新 x 、 z x 、 z x、z 和 λ \lambda λ :
-
更新 x x x :
- 固定 z z z 和 λ \lambda λ ,通过最小化增广拉格朗日函数来更新 x x x :
x k + 1 = arg min x L ρ ( x , z k , λ k ) . x^{k+1} = \arg\min_x \ L_{\rho}(x, z^k, \lambda^k). xk+1=argxmin Lρ(x,zk,λk).
-
更新 z z z :
- 固定 x x x 和 λ \lambda λ ,通过最小化增广拉格朗日函数来更新 z :
z k + 1 = arg min z L ρ ( x k + 1 , z , λ k ) . z^{k+1} = \arg\min_z \ L_{\rho}(x^{k+1}, z, \lambda^k). zk+1=argzmin Lρ(xk+1,z,λk).
-
更新拉格朗日乘子 λ \lambda λ :
- 根据 x x x 和 z z z 的当前值更新拉格朗日乘子:
λ k + 1 = λ k + ρ ( A x k + 1 + B z k + 1 − c ) . \lambda^{k+1} = \lambda^k + \rho (Ax^{k+1} + Bz^{k+1} - c). λk+1=λk+ρ(Axk+1+Bzk+1−c).
这些步骤交替进行,直到收敛到最优解。
具体例子:矩阵补全中的 ADMM
为了更好地理解 ADMM,我们来看一个具体的应用——矩阵补全问题。
问题定义
给定部分观测到的矩阵 M M M ,我们希望通过最小化核范数来恢复完整矩阵:
min X ∥ X ∥ ∗ , subject to P Ω ( X ) = P Ω ( M ) , \min_X \|X\|_*, \quad \text{subject to } P_\Omega(X) = P_\Omega(M), Xmin∥X∥∗,subject to PΩ(X)=PΩ(M),
这里 P Ω P_\Omega PΩ 是指示函数,表示在观测位置处相等。
ADMM 形式化
为了应用 ADMM,我们引入一个辅助变量 Z ,将问题转换为:
min X , Z ∥ Z ∥ ∗ , subject to X = Z , P Ω ( X ) = P Ω ( M ) . \min_{X, Z} \ \|Z\|_*, \quad \text{subject to } X = Z, \ P_\Omega(X) = P_\Omega(M). X,Zmin ∥Z∥∗,subject to X=Z, PΩ(X)=PΩ(M).
相应的增广拉格朗日函数为:
L ρ ( X , Z , Λ ) = ∥ Z ∥ ∗ + ρ 2 ∥ P Ω ( X − M ) ∥ F 2 + ρ 2 ∥ X − Z + Λ ∥ F 2 , L_{\rho}(X, Z, \Lambda) = \|Z\|_* + \frac{\rho}{2} \|P_\Omega(X - M)\|_F^2 + \frac{\rho}{2} \|X - Z + \Lambda\|_F^2, Lρ(X,Z,Λ)=∥Z∥∗+2ρ∥PΩ(X−M)∥F2+2ρ∥X−Z+Λ∥F2,
其中 Λ \Lambda Λ 是拉格朗日乘子。
ADMM 迭代步骤
-
更新 X X X :
- 固定 Z Z Z 和 Λ \Lambda Λ ,更新 X X X :
X k + 1 = arg min X ρ 2 ∥ P Ω ( X − M ) ∥ F 2 + ρ 2 ∥ X − Z k + Λ k ∥ F 2 . X^{k+1} = \arg\min_X \ \frac{\rho}{2} \|P_\Omega(X - M)\|_F^2 + \frac{\rho}{2} \|X - Z^k + \Lambda^k\|_F^2. Xk+1=argXmin 2ρ∥PΩ(X−M)∥F2+2ρ∥X−Zk+Λk∥F2.
这个更新可以分解为两个部分:
- 对于未观测位置, X X X 由 Z k Z^k Zk 和 Λ k \Lambda^k Λk 更新;
- 对于观测位置, X X X 保持与 M M M 一致。
-
更新 Z Z Z :
- 固定 X X X 和 Λ \Lambda Λ ,更新 Z Z Z :
Z k + 1 = arg min Z ∥ Z ∥ ∗ + ρ 2 ∥ X k + 1 − Z + Λ k ∥ F 2 . Z^{k+1} = \arg\min_Z \ \|Z\|_* + \frac{\rho}{2} \|X^{k+1} - Z + \Lambda^k\|_F^2. Zk+1=argZmin ∥Z∥∗+2ρ∥Xk+1−Z+Λk∥F2.
这一步通过奇异值软阈值化(SVT,Singular Value Thresholding)操作实现。
-
更新拉格朗日乘子 Λ \Lambda Λ :
- 更新拉格朗日乘子:
Λ k + 1 = Λ k + ( X k + 1 − Z k + 1 ) . \Lambda^{k+1} = \Lambda^k + (X^{k+1} - Z^{k+1}). Λk+1=Λk+(Xk+1−Zk+1).
直观解释
- 更新 X X X:我们在保持 Z Z Z 和 Λ \Lambda Λ 不变的情况下,寻找一个新的 X X X 使得 X X X 尽量接近 Z Z Z 并且在观测位置与 M M M 保持一致。
- 更新 Z Z Z :我们在固定 X X X 和 Λ \Lambda Λ 的情况下,通过最小化核范数来更新 Z Z Z ,这一步保证了 Z Z Z 保持低秩特性。
- 更新 Λ \Lambda Λ :根据 X X X 和 Z Z Z 的当前值来调整 Λ \Lambda Λ ,以逐步逼近约束条件。
通过这种交替迭代的方法,ADMM 能够有效地找到符合部分观测数据的低秩矩阵,从而实现矩阵补全。
张量补全及精确恢复保证
本节介绍了在低秩张量补全问题中使用可逆线性变换诱导的新张量核范数来实现精确恢复的理论框架和必要条件。以下是关键点的详细解释:
问题概述
- 低秩张量补全:目标是从部分观测的条目中恢复低秩张量。
- 灵感来源:该模型的灵感来自于使用可逆线性变换的张量-张量乘积(t-乘积)。
主要贡献
- 新定义:
- 张量管秩(Tubal Rank):基于 t − p r o d u c t t-product t−product 的新秩定义。
- 张量核范数:通过张量谱范数和线性变换的条件来定义。
- 精确恢复:
- 在某些不相干条件下提供了精确恢复的理论保证。
理论框架
- 线性变换的条件:
- 要定义新的张量秩和张量核范数,线性变换必须满足特定条件。
具体细节
-
问题设定:假设未知张量 M M M 具有管秩 r r r ,其观测条目按概率 p p p 独立观察。目标是通过以下凸优化模型来恢复张量 M :
min X ∥ X ∥ ∗ subject to P Ω ( X ) = P Ω ( M ) \min_X \|X\|_* \quad \text{subject to} \quad P_\Omega(X) = P_\Omega(M) Xmin∥X∥∗subject toPΩ(X)=PΩ(M)
其中 ∥ X ∥ ∗ \|X\|_* ∥X∥∗ 表示张量核范数, P Ω P_\Omega PΩ 表示在观测集合 Ω \Omega Ω 上的投影。
-
不相干条件:
-
为了避免病态情况,假设张量 M M M 满足以下不相干条件:
max i ∥ U ⊤ ∗ L e i ∥ F ≤ μ r n 1 ℓ , max j ∥ V ⊤ ∗ L e j ∥ F ≤ μ r n 2 ℓ \max_{i} \|U^\top \ast_L e_i\|F \leq \sqrt{\frac{\mu r}{n_1 \ell}}, \quad \max_{j} \|V^\top \ast_L e_j\|_F \leq \sqrt{\frac{\mu r}{n_2 \ell}} imax∥U⊤∗Lei∥F≤n1ℓμr,jmax∥V⊤∗Lej∥F≤n2ℓμr
其中 U U U 和 V V V 是张量 M 的 t − S V D t-SVD t−SVD 分解中的矩阵, e i e_i ei 和 e j e_j ej 是标准张量基。
-
-
精确恢复的理论保证:
-
如果线性变换 L L L 满足特定条件,并且观测概率 p p p 满足: p ≥ c 0 μ r log 2 ( n 1 ℓ ) / ( n 2 ℓ ) p \geq c_0 \mu r \log^2(n_1 \ell) / (n_2 \ell) p≥c0μrlog2(n1ℓ)/(n2ℓ)
则可以高概率通过求解上述凸优化问题精确恢复张量 M M M 。
-
-
数值实验:
- 通过数值实验验证了理论结果,实验包括随机数据上的精确恢复和图像恢复应用。实验结果显示该方法在不同的线性变换下均能有效恢复低秩张量,特别是在图像恢复方面表现优越。
结论
本文提出的基于线性变换的t-乘积诱导的新张量核范数在理论上和实践中都显示出了强大的恢复能力。未来的工作包括优化不同数据类型的线性变换和将该方法应用于其他任务,如张量鲁棒主成分分析和低秩表示模型。
通过这些详细的解释,相信您能够更好地理解低秩张量补全及其精确恢复的理论和应用。
如何定义由线性变换基于 t − p r o d u c t t-product t−product 引起的新张量秩和张量核范数?
新张量秩的定义
在这项工作中,研究人员提出了一种基于 tensor-tensor product 的张量补全方法,该方法使用任何可逆线性变换来定义新的张量秩和张量核范数。当这些线性变换满足特定条件时,可以推导出新的张量管秩(tensor tubal rank)、张量谱范数(tensor spectral norm)和张量核范数(tensor nuclear norm)。
- 张量管秩(Tubal Rank):
- 管秩 rank t ( A ) \text{rank}_t(\mathcal{A}) rankt(A) 被定义为张量 A \mathcal{A} A 的 t − S V D t-SVD t−SVD 分解中非零奇异管的数量。
- t − S V D t-SVD t−SVD 是一种基于 t − p r o d u c t t-product t−product 的张量分解方法,类似于矩阵的奇异值分解(SVD),它将张量分解为三部分:两个正交张量和一个f-对角张量。
新张量核范数的定义
新的张量核范数基于变换域中的张量 t − p r o d u c t t-product t−product 定义。具体步骤如下:
- 定义变换:
- 使用任意可逆线性变换 L L L ,将张量 A \mathcal{A} A 变换到一个新的域 A ˉ = L ( A ) \mathcal{\bar{A}} = L(\mathcal{A}) Aˉ=L(A),其中 L L L 可以是离散傅里叶变换 ( D F T ) (DFT) (DFT)等。
- 变换域中的
t
−
p
r
o
d
u
c
t
t-product
t−product :
- 在变换域中, t − p r o d u c t t-product t−product 可以表示为: C ˉ = A ˉ ⋅ B ˉ \mathcal{\bar{C}} = \mathcal{\bar{A}} \cdot \mathcal{\bar{B}} Cˉ=Aˉ⋅Bˉ
- 这里 A ˉ \mathcal{\bar{A}} Aˉ 和 B ˉ \mathcal{\bar{B}} Bˉ 是张量 A \mathcal{A} A 和 B \mathcal{B} B 在变换域中的表示, C ˉ \mathcal{\bar{C}} Cˉ 是它们的乘积。
- 张量谱范数:
- 张量的谱范数定义为变换域中对应矩阵的谱范数: ∥ A ∥ = ∥ A ˉ ∥ \|\mathcal{A}\| = \|\mathcal{\bar{A}}\| ∥A∥=∥Aˉ∥
- 其中 ∥ A ˉ ∥ \|\mathcal{\bar{A}}\| ∥Aˉ∥ 是变换后矩阵 A ˉ \mathcal{\bar{A}} Aˉ 的谱范数,即其最大奇异值。
- 张量核范数:
- 张量的核范数定义为张量谱范数的对偶范数。具体来说,如果可逆线性变换 L L L 满足 L ⊤ L = L L ⊤ = ℓ I n 3 L^\top L = LL^\top = \ell I_{n3} L⊤L=LL⊤=ℓIn3,那么张量 A \mathcal{A} A 的核范数定义为: ∥ A ∥ ∗ = 1 ℓ ∥ A ˉ ∥ ∗ \|\mathcal{A}\|_* = \frac{1}{\ell} \|\mathcal{\bar{A}}\|_* ∥A∥∗=ℓ1∥Aˉ∥∗
- 这里的 ∥ A ˉ ∥ ∗ \|\mathcal{\bar{A}}\|_* ∥Aˉ∥∗ 是变换域中矩阵 A ˉ \mathcal{\bar{A}} Aˉ 的核范数,即其所有奇异值之和。
公式推导解释
1. 基本定义和符号
- 张量 A ∈ R n 1 × n 2 × n 3 \mathcal{A} \in \mathbb{R}^{n1 \times n2 \times n3} A∈Rn1×n2×n3:一个三维张量。
- 线性变换 L L L:将张量 A \mathcal{A} A 变换到一个新的域,得到变换后的张量 A ˉ = L ( A ) \mathcal{\bar{A}} = L(\mathcal{A}) Aˉ=L(A)。
- 张量谱范数 ∥ A ∥ \|\mathcal{A}\| ∥A∥:定义为变换域中矩阵 A ˉ \mathcal{\bar{A}} Aˉ 的谱范数,即其最大奇异值。
- 张量核范数 ∥ A ∥ ∗ \|\mathcal{A}\|_* ∥A∥∗:定义为张量谱范数的对偶范数。
2. 谱范数和对偶范数的关系
-
张量谱范数:定义为变换域中对应矩阵的谱范数,即: ∥ A ∥ = ∥ A ˉ ∥ \|\mathcal{A}\| = \|\mathcal{\bar{A}}\| ∥A∥=∥Aˉ∥,这里, ∥ A ˉ ∥ \|\mathcal{\bar{A}}\| ∥Aˉ∥ 是变换后矩阵 A ˉ \mathcal{\bar{A}} Aˉ 的谱范数,即其最大奇异值。
-
对偶范数:对于一个范数 ∥ ⋅ ∥ \|\cdot\| ∥⋅∥,其对偶范数 ∥ ⋅ ∥ ∗ \|\cdot\|_* ∥⋅∥∗ 定义为:
∥ x ∥ ∗ = sup ∥ y ∥ ≤ 1 ⟨ x , y ⟩ \|x\|_* = \sup_{\|y\| \leq 1} \langle x, y \rangle ∥x∥∗=∥y∥≤1sup⟨x,y⟩
其中, ⟨ x , y ⟩ \langle x, y \rangle ⟨x,y⟩ 表示 x x x 和 y y y 的内积。
3. 张量核范数定义
假设可逆线性变换 L L L 满足 L ⊤ L = L L ⊤ = ℓ I n 3 L^\top L = LL^\top = \ell I_{n3} L⊤L=LL⊤=ℓIn3,我们可以定义张量 A \mathcal{A} A 的核范数如下:
∥ A ∥ ∗ = 1 ℓ ∥ A ˉ ∥ ∗ \|\mathcal{A}\|_* = \frac{1}{\ell} \|\mathcal{\bar{A}}\|_* ∥A∥∗=ℓ1∥Aˉ∥∗
4. 公式推导
步骤1:定义变换域中的操作
- 设 A \mathcal{A} A 通过线性变换 L L L 变换为 A ˉ = L ( A ) \mathcal{\bar{A}} = L(\mathcal{A}) Aˉ=L(A)。
- 矩阵 A ˉ \mathcal{\bar{A}} Aˉ 的谱范数 ∥ A ˉ ∥ \|\mathcal{\bar{A}}\| ∥Aˉ∥ 是其最大奇异值。
步骤2:核范数的对偶范数
-
矩阵 A ˉ \mathcal{\bar{A}} Aˉ 的核范数 ∥ A ˉ ∥ ∗ \|\mathcal{\bar{A}}\|_* ∥Aˉ∥∗ 是其所有奇异值之和。由于对偶范数关系,我们有:
∥ A ˉ ∥ ∗ = ∑ i σ i ( A ˉ ) \|\mathcal{\bar{A}}\|_* = \sum_i \sigma_i(\mathcal{\bar{A}}) ∥Aˉ∥∗=i∑σi(Aˉ)
这里 σ i ( A ˉ ) \sigma_i(\mathcal{\bar{A}}) σi(Aˉ) 是矩阵 A ˉ \mathcal{\bar{A}} Aˉ 的第 i i i 个奇异值。
步骤3:结合线性变换的性质
-
当 L L L 满足 L ⊤ L = L L ⊤ = ℓ I n 3 L^\top L = LL^\top = \ell I_{n3} L⊤L=LL⊤=ℓIn3 时,可以保证变换前后的范数关系。具体来说,对于任何两个张量 A \mathcal{A} A 和 B \mathcal{B} B,我们有:
⟨ A , B ⟩ = 1 ℓ ⟨ L ( A ) , L ( B ) ⟩ \langle \mathcal{A}, \mathcal{B} \rangle = \frac{1}{\ell} \langle L(\mathcal{A}), L(\mathcal{B}) \rangle ⟨A,B⟩=ℓ1⟨L(A),L(B)⟩
这意味着在变换域中,内积和范数的计算要乘以一个比例因子 1 ℓ \frac{1}{\ell} ℓ1。
步骤4:定义张量核范数
-
最终,我们将张量 A \mathcal{A} A 的核范数定义为:
∥ A ∥ ∗ = 1 ℓ ∥ A ˉ ∥ ∗ \|\mathcal{A}\|_* = \frac{1}{\ell} \|\mathcal{\bar{A}}\|_* ∥A∥∗=ℓ1∥Aˉ∥∗
这里, ∥ A ˉ ∥ ∗ \|\mathcal{\bar{A}}\|_* ∥Aˉ∥∗ 是变换域中矩阵 A ˉ \mathcal{\bar{A}} Aˉ 的核范数,即其所有奇异值之和。