什么是张量
张量是多维数组的泛概念。一维数组我们通常称之为向量,二维数组我们通常称之为矩阵,但其实这些都是张量的一种。以此类推,我们也会有三维张量、四维张量以及五维张量。那么零维张量是什么呢?其实零维张量就是一个数。
张量的基本操作
两个张量的内积
<χ,y>=∑i1=1I1∑i2=1I2...∑iN=1INxi1i2...iNyi1i2...iN <\chi,y>=\sum_{i_1=1}^{I_1} \sum_{i_2=1}^{I_2} ... \sum_{i_N=1}^{I_N} x_{i_1 i_2 ... i_N} y_{i_1 i_2 ... i_N} <χ,y>=i1=1∑I1i2=1∑I2...iN=1∑INxi1i2...iNyi1i2...iN
介绍
observation[I]=image[Iclean]+noise[η] observation[I] = image[I_{clean}]+noise[\eta] observation[I]=image[Iclean]+noise[η]
算法描述
张量简介
高阶奇异值分解(HOSVD)
什么是奇异值分解
奇异值分解最早是Beltrami与1873年对实正方矩阵提出来的。Beltrami从双线性函数:
f(x,y)=xTAy,A∈Rn×n
f(x,y)=x^TAy,A\in \R^{n \times n}
f(x,y)=xTAy,A∈Rn×n
出发,通过引入线性变换x=Uξx=U \xix=Uξ,y=Vηy=V \etay=Vη,将双线性函数变为f(x,y)=ξTSηf(x,y)=\xi^TS\etaf(x,y)=ξTSη,其中:
S=UTAV
S=U^T A V
S=UTAV
矩阵的奇异值分解
令A∈Rm×nA \in \R^{m \times n}A∈Rm×n,则存在正交矩阵U∈Rm×mU \in \R^{m \times m}U∈Rm×m和V∈Rn×nV \in \R^{n \times n}V∈Rn×n使得:
A=UΣVT
A=U \Sigma V^T
A=UΣVT
式中Σ=[Σ1ooo]\Sigma=\left[
\begin{array}{cc}
\Sigma_1&o\\
o&o
\end{array}
\right]Σ=[Σ1ooo],且Σ1=diag(σ1,σ2,⋅⋅⋅,σr)\Sigma_1=diag(\sigma_1,\sigma_2,\cdot \cdot \cdot,\sigma_r)Σ1=diag(σ1,σ2,⋅⋅⋅,σr),其对角元素按照顺序
σ1⩾σ2⩾⋅⋅⋅σr>0, r=rank(A)
\sigma_1 \geqslant \sigma_2 \geqslant \cdot \cdot \cdot \sigma_r >0,~~~r=rank(A)
σ1⩾σ2⩾⋅⋅⋅σr>0, r=rank(A)
排序。
酉矩阵 设A∈Cn×nA \in C^{n \times n}A∈Cn×n,若A满足AHA=IA^HA=IAHA=I,则称A为酉矩阵。
奇异值分解的理论证明
设A∈Crm×n(r>0)A \in C_r^{m \times n}(r>0)A∈Crm×n(r>0),则存在m阶酉矩阵U和n阶酉矩阵V使得:
UHAV=(Σooo)
U^HAV=\begin{pmatrix}\Sigma&o\\o&o\end{pmatrix}
UHAV=(Σooo)
式中:Σ=diag(σ1,σ2,⋅⋅⋅,σr),σi\Sigma=diag(\sigma_1,\sigma_2,\cdot \cdot \cdot,\sigma_r),\sigma_iΣ=diag(σ1,σ2,⋅⋅⋅,σr),σi为A的非零奇异值。而:
A=U(Σooo)VH
A=U\begin{pmatrix}\Sigma&o\\o&o\end{pmatrix}V^H
A=U(Σooo)VH
称为A的奇异值分解。
证明:由于AHAA^HAAHA为Hermite阵,则存在n阶酉矩阵V使得:
VHAHAV=diag(λ1,λ2,⋅⋅⋅,λn)=(Σ2ooo)
V^HA^HAV=diag(\lambda_1,\lambda_2,\cdot \cdot \cdot,\lambda_n)=\begin{pmatrix}\Sigma^2&o\\o&o\end{pmatrix}
VHAHAV=diag(λ1,λ2,⋅⋅⋅,λn)=(Σ2ooo)
将V分块为:
V=(V1,V2) (V1∈Cn×r,V2∈Cn×(n−r))
V=(V_1,V_2)~~~~(V_1 \in C^{n \times r},V_2 \in C^{n \times (n-r)})
V=(V1,V2) (V1∈Cn×r,V2∈Cn×(n−r))
得:
V1HAHAV1=Σ2,V2HAHAV2=0
V_1^HA^HAV_1=\Sigma^2,V_2^HA^HAV_2=0
V1HAHAV1=Σ2,V2HAHAV2=0
于是:
Σ−1V1HAHAV1Σ−1=Ir,(AV2)HAV2=0
\Sigma^{-1} V_1^HA^HAV_1 \Sigma^{-1}=I_r,(AV_2)^HAV_2=0
Σ−1V1HAHAV1Σ−1=Ir,(AV2)HAV2=0
从而AV2=0AV_2=0AV2=0。又记U1=AV1Σ−1U_1=AV_1 \Sigma^{-1}U1=AV1Σ−1,则U1HU1=IU_1^HU_1=IU1HU1=I,即U1U_1U1的r个列是两两正交的单位向量。取U2∈Cm×(m−r)U_2 \in C^{m \times (m-r)}U2∈Cm×(m−r)使U=(U1,U2)U=(U_1,U_2)U=(U1,U2)为m阶酉矩阵,即U2HU1=0,U2HU2=Im−rU_2^HU_1=0,U_2^HU_2=I_{m-r}U2HU1=0,U2HU2=Im−r。则有:
UHAV=(U1HU2H)A(V1,V2)=(U1HAV1U1HAV2U2HAV1U2HAV2)=(U1H(U1Σ)0U2H(U1Σ)0)=(Σ000)
U^HAV=\begin{pmatrix}U_1^H\\ \\U_2^H\end{pmatrix}A\begin{pmatrix}V_1,V_2\end{pmatrix}=
\begin{pmatrix}U_1^HAV_1&U_1^HAV_2\\ \\U_2^HAV_1&U_2^HAV_2\end{pmatrix}=
\begin{pmatrix}U_1^H(U_1 \Sigma)&0\\ \\U_2^H(U_1 \Sigma)&0\end{pmatrix}=
\begin{pmatrix}\Sigma&0\\ \\0&0\end{pmatrix}
UHAV=⎝⎛U1HU2H⎠⎞A(V1,V2)=⎝⎛U1HAV1U2HAV1U1HAV2U2HAV2⎠⎞=⎝⎛U1H(U1Σ)U2H(U1Σ)00⎠⎞=⎝⎛Σ000⎠⎞
奇异值分解的应用计算
求矩阵A=(101110)A=\begin{pmatrix}1&0&1\\1&1&0\end{pmatrix}A=(110110)的奇异值分解。
解:因为:
ATA=(211110101)
A^TA=\begin{pmatrix}2&1&1\\1&1&0\\1&0&1\end{pmatrix}
ATA=⎝⎛211110101⎠⎞
所以ATAA^TAATA的特征值为λ1=3,λ2=1,λ3=0,\lambda_1=3,\lambda_2=1,\lambda_3=0,λ1=3,λ2=1,λ3=0,对应的特征向量为:
p1=(211),p2=(0−11),p3=(−111)
p_1=\begin{pmatrix}2\\1\\1\end{pmatrix},
p_2=\begin{pmatrix}0\\-1\\1\end{pmatrix},
p_3=\begin{pmatrix}-1\\1\\1\end{pmatrix}
p1=⎝⎛211⎠⎞,p2=⎝⎛0−11⎠⎞,p3=⎝⎛−111⎠⎞
标准化得:
V=(260−1316−1213161213)
V=\begin{pmatrix}\frac{2}{\sqrt{6}}&0&-\frac{1}{\sqrt{3}}\\ \\ \frac{1}{\sqrt{6}}&-\frac{1}{\sqrt{2}}&\frac{1}{\sqrt{3}}\\ \\ \frac{1}{\sqrt{6}}&\frac{1}{\sqrt{2}}&\frac{1}{\sqrt{3}}\end{pmatrix}
V=⎝⎜⎜⎜⎜⎜⎛6261610−2121−313131⎠⎟⎟⎟⎟⎟⎞
使得:
VHAHAV=(310)=(Σ20)
V^HA^HAV=\begin{pmatrix}3&&\\&1&\\&&0\end{pmatrix}=\begin{pmatrix}\Sigma^2 &\\&0\end{pmatrix}
VHAHAV=⎝⎛310⎠⎞=(Σ20)
计算:
U1=AV1Σ−1=(101110)(26016−121612)(13001)=(121212−12)
U_1=AV_1 \Sigma^{-1}=\begin{pmatrix}1&0&1\\ \\1&1&0\end{pmatrix} \begin{pmatrix}\frac{2}{\sqrt{6}}&0\\ \\ \frac{1}{\sqrt{6}}&-\frac{1}{\sqrt{2}}\\ \\ \frac{1}{\sqrt{6}}&\frac{1}{\sqrt{2}}\end{pmatrix}
\begin{pmatrix}\frac{1}{\sqrt{3}}&0\\ \\0&1\end{pmatrix}=
\begin{pmatrix}\frac{1}{\sqrt{2}}&\frac{1}{\sqrt{2}}\\ \\ \frac{1}{\sqrt{2}}&-\frac{1}{\sqrt{2}}\end{pmatrix}
U1=AV1Σ−1=⎝⎛110110⎠⎞⎝⎜⎜⎜⎜⎜⎛6261610−2121⎠⎟⎟⎟⎟⎟⎞⎝⎛31001⎠⎞=⎝⎛212121−21⎠⎞
则U=U1U=U_1U=U1是酉矩阵。故AAA的奇异值分解为:
A=U(Σ 0)VH=(121212−12)(300010)(2616160−1212−131313)
A=U(\Sigma~~~~0)V^H=
\begin{pmatrix}\frac{1}{\sqrt{2}}&\frac{1}{\sqrt{2}}\\ \\ \frac{1}{\sqrt{2}}&-\frac{1}{\sqrt{2}}\end{pmatrix}
\begin{pmatrix}\sqrt{3}&0&0\\ \\0&1&0\end{pmatrix}
\begin{pmatrix}
\frac{2}{\sqrt{6}}&\frac{1}{\sqrt{6}}&\frac{1}{\sqrt{6}}\\ \\
0&-\frac{1}{\sqrt{2}}&\frac{1}{\sqrt{2}}\\ \\
-\frac{1}{\sqrt{3}}&\frac{1}{\sqrt{3}}&\frac{1}{\sqrt{3}}
\end{pmatrix}
A=U(Σ 0)VH=⎝⎛212121−21⎠⎞⎝⎛300100⎠⎞⎝⎜⎜⎜⎜⎜⎛620−3161−2131612131⎠⎟⎟⎟⎟⎟⎞
什么是高阶奇异值分解
Tucker分解,又称高阶奇异值分解(higher-order SVD)。
Tucker分解与Tucker算子密切相关,而Tucker算子是张量与矩阵的多模态乘法的一种有效表示。
定义 令g∈KJ1×J2×⋅⋅⋅×JNg \in \Bbb K^{J_1 \times J_2 \times \cdot \cdot \cdot \times J_N}g∈KJ1×J2×⋅⋅⋅×JN,矩阵U(n)∈KIn×JnU^{(n)} \in \Bbb K^{I_n \times J_n}U(n)∈KIn×Jn,其中n∈{1,⋅⋅⋅N}n \in \{ 1, \cdot \cdot \cdot N \}n∈{1,⋅⋅⋅N},则Tucker算子定义为:
⟦g;U(1),U(2),⋅⋅⋅,U(N)⟧=g×1U(1)×2U(2)⋅⋅⋅×NU(N) \llbracket g;U^{(1)},U^{(2)}, \cdot \cdot \cdot ,U^{(N)} \rrbracket =g \times_1 U^{(1)} \times_2 U^{(2)} \cdot \cdot \cdot \times_N U^{(N)} [[g;U(1),U(2),⋅⋅⋅,U(N)]]=g×1U(1)×2U(2)⋅⋅⋅×NU(N)
其结果是一个NNN阶I1×I2×⋅⋅⋅×INI_1 \times I_2 \times \cdot \cdot \cdot \times I_NI1×I2×⋅⋅⋅×IN张量。
N阶奇异值分解 每一个I1×I2×⋅⋅⋅×INI_1 \times I_2 \times \cdot \cdot \cdot \times I_NI1×I2×⋅⋅⋅×IN实张量χ\chiχ均可以分解为n-模式积:
χ=g×1U(1)×2U(2)⋅⋅⋅×NU(N)=⟦g;U(1),U(2),⋅⋅⋅,U(N)⟧ \chi =g \times_1 U^{(1)} \times_2 U^{(2)} \cdot \cdot \cdot \times_N U^{(N)}=\llbracket g;U^{(1)},U^{(2)}, \cdot \cdot \cdot ,U^{(N)} \rrbracket χ=g×1U(1)×2U(2)⋅⋅⋅×NU(N)=[[g;U(1),U(2),⋅⋅⋅,U(N)]]
或
xi1i2⋅⋅⋅iN=∑j1=1J1∑j2=1J2⋅⋅⋅∑jN=1JNgi1i2⋅⋅⋅iNui1j1(1)ui2j2(2)⋅⋅⋅uiNjN(N) x_{i_1 i_2 \cdot \cdot \cdot i_N}=\sum_{j_1=1}^{J_1} \sum_{j_2=1}^{J_2} \cdot \cdot \cdot \sum_{j_N=1}^{J_N} g_{i_1 i_2 \cdot \cdot \cdot i_N} u_{i_1 j_1}^{(1)} u_{i_2 j_2}^{(2)} \cdot \cdot \cdot u_{i_N j_N}^{(N)} xi1i2⋅⋅⋅iN=j1=1∑J1j2=1∑J2⋅⋅⋅jN=1∑JNgi1i2⋅⋅⋅iNui1j1(1)ui2j2(2)⋅⋅⋅uiNjN(N)
其中
(1)U(n)=[u1(n),⋅⋅⋅,uJn(n)]U^{(n)}=[u_1^{(n)}, \cdot \cdot \cdot ,u_{J_n}^{(n)}]U(n)=[u1(n),⋅⋅⋅,uJn(n)]是一个In×JnI_n \times J_nIn×Jn半正交矩阵,即U(n)TU(n)=IJnU^{(n)T} U^{(n)}=I_{J_n}U(n)TU(n)=IJn,且Jn⩽InJ_n \leqslant I_nJn⩽In。
(知识补充:实矩阵Qm×nQ_{m \times n}Qm×n,它只满足QQT=ImQQ^T=I_mQQT=Im或者QTQ=ImQ^TQ=I_mQTQ=Im,Q被称为半正交矩阵)
(2)核心张量ggg是一个J1×J2×⋅⋅⋅×JNJ_1 \times J_2 \times \cdot \cdot \cdot \times J_NJ1×J2×⋅⋅⋅×JN张量,其子张量gjn=αg_{j_n= \alpha}gjn=α是固定指标jn=αj_n= \alphajn=α不变所得到的张量χ\chiχ。子张量具有以下两个性质:
全正交性 α≠β\alpha \neq \betaα=β的两个子核心张量gjn=αg_{j_n= \alpha}gjn=α和gjn=βg_{j_n= \beta}gjn=β正交
⟨gjn=αgjn=β⟩=0,∀α≠β,n=1,⋅⋅⋅,N \langle g_{j_n= \alpha} g_{j_n= \beta}\rangle =0,\forall \alpha \neq \beta,n=1,\cdot \cdot \cdot,N ⟨gjn=αgjn=β⟩=0,∀α=β,n=1,⋅⋅⋅,N
排序
∥gin=1∥F≥∥gin=2∥F≥⋅⋅⋅≥∥gin=N∥F
\parallel g_{i_n=1} \parallel_F \geq \parallel g_{i_n=2} \parallel_F \geq \cdot \cdot \cdot \geq \parallel g_{i_n=N} \parallel_F
∥gin=1∥F≥∥gin=2∥F≥⋅⋅⋅≥∥gin=N∥F
高阶奇异值分解的具体计算过程
N阶张量的Tucker分解可以写成一个统一的数学模型:
χ=f(U(1),U(2),⋅⋅⋅,U(N))+ε \chi=f(U^{(1)},U^{(2)},\cdot \cdot \cdot,U^{(N)})+ \varepsilon χ=f(U(1),U(2),⋅⋅⋅,U(N))+ε
式中U(n),n=1,⋅⋅⋅,NU^{(n)},n=1,\cdot \cdot \cdot,NU(n),n=1,⋅⋅⋅,N为分解的因子或分量矩阵,ε\varepsilonε为N阶噪声或误差张量。因此,因子矩阵可以通过下列优化问题求得:
(U^(1),⋅⋅⋅,U^(N))=arg minU(1),⋅⋅⋅,U(N)∥χ−f(U(1),U(2),⋅⋅⋅,U(N))∥22 (\hat{U}^{(1)},\cdot \cdot \cdot,\hat{U}^{(N)}) = \argmin_{U^{(1)},\cdot \cdot \cdot,U^{(N)}} \parallel \chi-f(U^{(1)},U^{(2)},\cdot \cdot \cdot,U^{(N)}) \parallel_2^2 (U^(1),⋅⋅⋅,U^(N))=U(1),⋅⋅⋅,U(N)argmin∥χ−f(U(1),U(2),⋅⋅⋅,U(N))∥22
这是一个N个变元耦合在一起的优化问题。求解这类耦合优化问题的有效方法是交替最小二乘(ALS)算法。
Tucker分解得交替最小二乘算法的基本思想
在第k+1次迭代中,利用在k+1次迭代中已更新的因子矩阵Uk+1(1),⋅⋅⋅,Uk+1(i−1)U_{k+1}^{(1)},\cdot \cdot \cdot,U_{k+1}^{(i-1)}Uk+1(1),⋅⋅⋅,Uk+1(i−1)和在k此更新过的因子矩阵Uk+1(i+1),⋅⋅⋅,Uk+1(N)U_{k+1}^{(i+1)},\cdot \cdot \cdot,U_{k+1}^{(N)}Uk+1(i+1),⋅⋅⋅,Uk+1(N),求因子矩阵U(1)U^{(1)}U(1)的最小二乘解:
U^k+1(i)=arg minU(i)∥χ−f(Uk+1(1),⋅⋅⋅,Uk+1(i−1),U(i),Uk+1(i+1),⋅⋅⋅,Uk+1(N))∥22 \hat{U}_{k+1}^{(i)}=\argmin_{U^{(i)}} \parallel \chi-f(U_{k+1}^{(1)},\cdot \cdot \cdot,U_{k+1}^{(i-1)},U^{(i)},U_{k+1}^{(i+1)},\cdot \cdot \cdot,U_{k+1}^{(N)}) \parallel_2^2 U^k+1(i)=U(i)argmin∥χ−f(Uk+1(1),⋅⋅⋅,Uk+1(i−1),U(i),Uk+1(i+1),⋅⋅⋅,Uk+1(N))∥22
其中i=1,⋅⋅⋅,Ni=1,\cdot \cdot \cdot,Ni=1,⋅⋅⋅,N。对k=1,2,⋅⋅⋅k=1,2,\cdot \cdot \cdotk=1,2,⋅⋅⋅,交替使用最小二乘法,直至所有因子矩阵收敛。
下面以张量的矩阵化的水平展开为对象,讨论Tucker3分解的优化问题的求解
minA,B,C,G(P×QR)∥X(I×JK)−AG(P×QR)(C⊗B)T∥22 \min_{A,B,C,G^{(P \times QR)}} \parallel X^{(I \times JK)}-AG^{(P \times QR)} (C \otimes B)^T \parallel_2^2 A,B,C,G(P×QR)min∥X(I×JK)−AG(P×QR)(C⊗B)T∥22
根据交替最小二乘的原理,假定模式-2矩阵B、模式-3矩阵C和核心张量g的水平展开均固定,则上述优化问题就解耦为仅含模式-1矩阵A的优化问题:
minA∥X(I×JK)−AG(P×QR)(C⊗B)T∥22 \min_{A} \parallel X^{(I \times JK)}-AG^{(P \times QR)} (C \otimes B)^T \parallel_2^2 Amin∥X(I×JK)−AG(P×QR)(C⊗B)T∥22
相当于求解矩阵X(I×JK)=AG(P×QR)(C⊗B)TX^{(I \times JK)}=AG^{(P \times QR)}(C \otimes B)^TX(I×JK)=AG(P×QR)(C⊗B)T的最小二乘解。在矩阵方程的两边右乘矩阵(C⊗B)(C \otimes B)(C⊗B),得:
X(I×JK)(C⊗B)=AG(P×QR)(C⊗B)T(C⊗B) X^{(I \times JK)}(C \otimes B)=AG^{(P \times QR)} (C \otimes B)^T (C \otimes B) X(I×JK)(C⊗B)=AG(P×QR)(C⊗B)T(C⊗B)
若对上式左边得矩阵进行奇异值分解X(I×JK)(C⊗B)=U1S1V1TX^{(I \times JK)}(C \otimes B)=U_1S_1V_1^TX(I×JK)(C⊗B)=U1S1V1T,则可取前P个左奇异向量作为矩阵A得估计结果A^=U1(:,1:P)\hat{A}=U_1(:,1:P)A^=U1(:,1:P)。这一运算可以简洁表示为[A,S,T]=SVD[X(I×JK)(C⊗B),P][A,S,T]=SVD[X^{(I \times JK)}(C \otimes B),P][A,S,T]=SVD[X(I×JK)(C⊗B),P]。
交替最小二乘算法(alternating least square,ALS)
交替最小二乘方法最早由 Paatero与 Tapper用于非负矩阵分解。由于这种方法约束矩阵是非负的,所以现在习惯称为交替非负最小二乘算法。
非负矩阵分解XI×J=AI×KSK×JX_{I \times J}=A_{I \times K}S_{K \times J}XI×J=AI×KSK×J的优化问题:
minA,S12∥X−AS∥F2 subject to A,S≥0 \min_{A,S} \frac{1}{2} \parallel X-AS \parallel_F^2 ~~subject~~to~~ A,S \geq0 A,Smin21∥X−AS∥F2 subject to A,S≥0
可以分解为两个交替非负最小二乘子问题:
ANLS1 minS≥0f1(S)=12∥AS−X∥F2 (A固定)ANLS2 minA≥0f1(AT)=12∥STAT−XT∥F2 (S固定) ANLS1 ~~~~ \min_{S \geq 0}f_1(S)=\frac{1}{2} \parallel AS-X \parallel_F^2 ~~(A固定) \\ ANLS2 ~~~~ \min_{A \geq 0}f_1(A^T)=\frac{1}{2} \parallel S^TA^T-X^T \parallel_F^2 ~~(S固定) ANLS1 S≥0minf1(S)=21∥AS−X∥F2 (A固定)ANLS2 A≥0minf1(AT)=21∥STAT−XT∥F2 (S固定)
这两个交替非负最小二乘子问题相当于使用最小二乘方法交替求解矩阵方程AS=XAS=XAS=X和STAT=XTS^TA^T=X^TSTAT=XT,其最小二乘解分别为:
S=P+((ATA)†ATX)AT=P+((SST)†SXT) S=P_+((A^TA)^{\dagger} A^TX) \\ A^T=P_+((SS^T)^{\dagger} SX^T) S=P+((ATA)†ATX)AT=P+((SST)†SXT)
当A或S在迭代过程中奇异时,算法将无法收敛。
约束非负矩阵分解(constrained nonnegative matrix factorization,CNMF)
CNMF minA,S12(∥X−AS∥F2+α∥A∥F2+β∥S∥F2) subject to A,S≥0 CNMF ~~ \min_{A,S} \frac{1}{2}(\parallel X-AS \parallel_F^2+\alpha \parallel A \parallel_F^2+\beta \parallel S \parallel_F^2) ~~subject~~to~~A,S \geq0 CNMF A,Smin21(∥X−AS∥F2+α∥A∥F2+β∥S∥F2) subject to A,S≥0
式中,α≥0\alpha \geq 0α≥0和β≥0\beta \geq 0β≥0是两个正则化参数,分别起到压制∥A∥F2\parallel A \parallel_F^2∥A∥F2和∥S∥F2\parallel S \parallel_F^2∥S∥F2的作用。
正则化非负矩阵分解问题可以分解为两个交替正则化非负最小二乘(ARNLS)问题:
ARNLS1 minS∈R+J×KJ1(S)=12∥AS−X∥F2+12β∥S∥F2 (A固定)ARNLS2 minA∈R+I×JJ2(AT)=12∥STAT−XT∥F2+12α∥A∥F2 (S固定) ARNLS1 ~~ \min_{S \in \R_{+}^{J \times K}} J_1(S)=\frac{1}{2} \parallel AS-X \parallel_F^2+\frac{1}{2} \beta\parallel S \parallel_F^2 ~~(A固定) \\ ARNLS2 ~~ \min_{A \in \R_{+}^{I \times J}} J_2(A^T)=\frac{1}{2} \parallel S^TA^T-X ^T\parallel_F^2+\frac{1}{2}\alpha \parallel A \parallel_F^2 ~~(S固定) ARNLS1 S∈R+J×KminJ1(S)=21∥AS−X∥F2+21β∥S∥F2 (A固定)ARNLS2 A∈R+I×JminJ2(AT)=21∥STAT−XT∥F2+21α∥A∥F2 (S固定)
由矩阵微分
dJ1(S)=12d(tr[(AS−X)T(AS−X)]+βtr(STS))=tr((STATA−XTA+βST)dS)dJ2(AT)=12d(tr[(AS−X)(AS−X)T]+αtr(ATA))=tr((ASST−XST+αA)dAT)
dJ_1(S)=\frac{1}{2}d(tr[(AS-X)^T(AS-X)]+\beta tr(S^TS))
\\=tr((S^TA^TA-X^TA+\beta S^T)dS)
\\
dJ_2(A^T)=\frac{1}{2}d(tr[(AS-X)(AS-X)^T]+\alpha tr(A^TA))
\\=tr((ASS^T-XS^T+\alpha A)dA^T)
dJ1(S)=21d(tr[(AS−X)T(AS−X)]+βtr(STS))=tr((STATA−XTA+βST)dS)dJ2(AT)=21d(tr[(AS−X)(AS−X)T]+αtr(ATA))=tr((ASST−XST+αA)dAT)
由此得梯度矩阵:
∂J1(S)∂S=−ATX+ATAS+βS∂J2(AT)∂A=−SXT+SSTAT+αAT
\frac{\partial J_1(S)}{\partial S}=-A^TX+A^TAS+\beta S
\\
\frac{\partial J_2(A^T)}{\partial A}=-SX^T+SS^TA^T+\alpha A^T
∂S∂J1(S)=−ATX+ATAS+βS∂A∂J2(AT)=−SXT+SSTAT+αAT
由∂J1(S)∂S=0\frac{\partial J_1(S)}{\partial S}=0∂S∂J1(S)=0和∂J2(AT)∂A=0\frac{\partial J_2(A^T)}{\partial A}=0∂A∂J2(AT)=0分别得到两个正则化最小二乘子问题得解为:
(ATA+βIJ)S=ATX 或 S=(ATA+βIJ)−1ATX(SST+αIJ)AT=SXT 或 AT=(SST+αIJ)−1SXT (A^TA+\beta I_J)S=A^TX ~~ 或 ~~S=(A^TA+\beta I_J)^{-1}A^TX \\ (SS^T+\alpha I_J)A^T=SX^T ~~或~~ A^T=(SS^T+\alpha I_J)^{-1}SX^T (ATA+βIJ)S=ATX 或 S=(ATA+βIJ)−1ATX(SST+αIJ)AT=SXT 或 AT=(SST+αIJ)−1SXT
高阶奇异值分解在去噪的方面的优势?
均方误差MSE(Mean Squared Error)
峰值信噪比PSNR(Peak Signal to Noise Ratio)
3D 块匹配BM(Block-matching)

高斯白噪声
https://blog.csdn.net/qq_26309711/article/details/103157812
基于高阶奇异值分解的去噪算法
c^n=cnc^c^+σ2 \hat{c}_n = c_n \frac{\hat{c}}{\hat{c}+\sigma^2} c^n=cnc^+σ2c^
c^n\hat{c}_nc^n:是过滤核
c^\hat{c}c^:是第一个通道的图像核心
cnc_ncn:是在第一个通道的输出上使用块匹配来生成噪声图像的核心
算法流程

kHardkHardkHard:patch size
chnlschnlschnls:the number of channels
nSxrnSx_rnSxr:the number of similar patches to the patch at (i,j)

3801

被折叠的 条评论
为什么被折叠?



