Command Palette
Search for a command to run...
核范数 Nuclear Norm
日期
核范数是矩阵奇异值的和,用于约束矩阵的低秩,对于稀疏性质的数据而言,其矩阵是低秩且会包含大量冗余信息,这些信息可被用于恢复数据和提取特征。
核范数定义
矩阵 X 的核范数定义式为:
latex∥X∥_\* = tr(XTX)
根据上式可以得出,核范数等价于矩阵特征值的和,考虑 X 的特征值分解 latexX = UΣVT ,可以得出以下结论:
latex {\begin{array}{\*{20}{l}} {tr{ \left( {\sqrt{{X\mathop{{}}\nolimits^{{T}}X}}} \right) }}&{=\text{ }tr{ \left( {\sqrt{{{ \left( {U \Sigma V\mathop{{}}\nolimits^{{T}}} \right) }\mathop{{}}\nolimits^{{T}}U \Sigma V\mathop{{}}\nolimits^{{T}}}}} \right) }}\\ {}&{=\text{ }tr{ \left( {\sqrt{{V \Sigma \mathop{{}}\nolimits^{{T}}U\mathop{{}}\nolimits^{{T}}U \Sigma V\mathop{{}}\nolimits^{{T}}}}} \right) }}\\ {}&{=\text{ }tr{ \left( {\sqrt{{V \Sigma \mathop{{}}\nolimits^{{2}}V\mathop{{}}\nolimits^{{T}}}}} \right) }\text{ }{ \left( { \Sigma \mathop{{}}\nolimits^{{T}}= \Sigma } \right) }}\\ {}&{=\text{ }tr{ \left( {\sqrt{{V\mathop{{}}\nolimits^{{T}}V \Sigma \mathop{{}}\nolimits^{{2}}}}} \right) }}\\ {}&{=\text{ }tr{ \left( { \Sigma } \right) }} \end{array}}
凸性的证明
根据可知信息,矩阵诱导范数是凸的,即:
令 latexf_x(A) = ∥Ax∥_p (p≥1) , 则 latexf_x 凸,故 latex∥A∥_p = sup_∥x∥_p=1 f_x(A) 凸,同时 latex∥A∥_2 由于 latex∥A∥_\* 和 latex∥A∥_2 是对偶范数,故 latex∥A∥_\* 凸(latex∥A∥_\* = sup_∥X∥_2=1 tr(ATX))。
梯度的求解
基于上述 S.V.D 假设,可以得出结论:
latex∂X∂∥X∥_\* = ∂X∂tr(Σ) = ∂Xtr(∂Σ)
因此需要解出 latex∂Σ ,考虑 latexX = UΣVT ,故有:
latex {\begin{array}{\*{20}{l}} {}&{ \partial X}&{=\text{ }{ \left( { \partial U} \right) } \Sigma V\mathop{{}}\nolimits^{{T}}\text{ }+\text{ }U{ \left( { \partial \Sigma } \right) }V\mathop{{}}\nolimits^{{T}}\text{ }+\text{ }U \Sigma { \left( { \partial V\mathop{{}}\nolimits^{{T}}} \right) }}\\ { \Rightarrow }&{ \partial \Sigma }&{=\text{ }U\mathop{{}}\nolimits^{{T}}{ \left( { \partial X} \right) }V\text{ }-\text{ }U\mathop{{}}\nolimits^{{T}}{ \left( { \partial U} \right) } \Sigma \text{ }-\text{ } \Sigma { \left( { \partial V\mathop{{}}\nolimits^{{T}}} \right) }V}\\ {}&{}&{=U\mathop{{}}\nolimits^{{T}}{ \left( { \partial X} \right) }V\text{ }\text{ }\text{ }\text{ }{ \left( {-U\mathop{{}}\nolimits^{{T}}{ \left( { \partial U} \right) } \Sigma – \Sigma { \left( { \partial V\mathop{{}}\nolimits^{{T}}} \right) }V\text{ }=\text{ }0} \right) }} \end{array}}
所以:
latex∂X∂∥X∥_\* = ∂Xtr(∂Σ) = ∂Xtr(UT(∂X)V) = ∂Xtr(VUT(∂X)) = (VUT)T = UVT