HyperAIHyperAI

Command Palette

Search for a command to run...

核の規範

日付

3年前

核の規範行列の特異値の合計であり、行列の低ランクを制約するために使用されます。スパース データの場合、行列は低ランクであり、データの復元や特徴の抽出に使用できる大量の冗長情報が含まれています。

核規範の定義

行列 X の核ノルムは次のように定義されます。

latexX_\* = tr(XTX)latex {{ \left\Vert {X} \right\Vert }\mathop{{}}\nolimits\_{{\*}}\text{ }=\text{ }tr{ \left( {\sqrt{{X\mathop {{}}\nolimits^{{T}}X}}} \right) }}latexX_\* = tr(XTX)

上の式によれば、X latexX = UΣVの固有値分解を考慮すると、核ノルムは行列の固有値の合計に等しいと結論付けることができます。Tlatex {X\text{ }=\text{ }U \Sigma V\mathop{{} の固有値分解を考慮すると、核ノルムは行列の固有値の合計に等しいと結論付けることができます。 }\nolimits^ {{T}}}latexX = UΣVの固有値分解を考慮すると、核ノルムは行列の固有値の合計に等しいと結論付けることができます。T、次の結論が得られます。

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( { \シグマ } \right) }} \end{配列}}

凸性の証明

既知の情報によると、行列誘導ノルムは凸型です。つまり、次のとおりです。

latexf_x(A) = Axとします_p (p1)latex {f\mathop{{}}\nolimits\_{{x}}{ \left( {A} \right) }\text{ }=\text{ }{ \left\Vert {Ax} \right\Vert } とします\mathop{{}}\nolimits\_{{p}}\text{ }{ \left( {p \ge 1} \right) }}latexf_x(A) = Axとします_p (p1) ,次に、latexf_xlatex {f\mathop{{}}\nolimits\_{{x}}}latexf_x は凸であるため、latexA_p = sup_x_p=1 f_x(A)latex {{ \left\Vert {A} \right\Vert }\mathop{{}}\nolimits\_{{p} } \text{ }=\text{ }\mathop{{sup}}\limits\_{{{ \left\Vert {x} \right\Vert }\mathop{{}}\nolimits\_{{p}}=1}}\text{ }f\mathop{{}}\nolimits\_{{x}}{ \left( {A} \right) }}latexA_p = sup_x_p=1 f_x(A) 凸、一方で latexA_2latex {{ \left\Vert {A} \right\Vert }\mathop{{}}\nolimits\_{{2}}}latexA_2 latexA_\*latex {{ \left\Vert {A} \right\Vert }\mathop{{}}\nolimits\_{{\*}}}latexA_\* および latexA_2latex {{ \left\Vert {A} \right\Vert }\mathop{ {}}\nolimits\_{{2}}}latexA_2 は双対標準であるため、latexA_\*latex {{ \left\Vert {A} \right\Vert }\mathop{{}}\nolimits\_{{\*}}}latexA_\* 凸 (latexA_\* = sup_X_2=1 tr(ATX)latex {{ \left\Vert {A} \right\Vert }\mathop{{}}\nolimits\_{{\*}} \text{ }=\text{ }\mathop{{sup}}\limits\_{{{ \left\Vert {X} \right\Vert }\mathop{{}}\nolimits\_{{2}}=1}}\text{ }tr{ \left( {{A\mathop{{}}\nolimits^{{T}}X}} \right) }}latexA_\* = sup_X_2=1 tr(ATX))。

グラジエント溶液

上記の SVD の仮定に基づいて、次のように結論付けることができます。

latexX_\*X = tr(Σ)X = tr(Σ)Xlatex {\frac{{ \partial { \left\Vert {X} \right\Vert }\mathop{{}}\nolimits\_{{\*}}}}{{ \partial X}}\text{ }=\text { }\frac{{ \partial tr{ \left( { \Sigma } \right) }}}{{ \partial X}}\text{ }=\text{ }\frac{{tr{ \left( { \partial \Sigma } \right) }}}{{ \partial X}}}latexXX_\* = Xtr(Σ) = Xtr(Σ)

したがって、latexX = UΣVTlatex {X\text{ }=\text{ }U \Sigma V\mathop{{}}\nolimits^{{T}}}latexX = UΣVT を考慮して、latexΣlatex { \partial \Sigma }latexΣ を解く必要があります。それで:

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}}

それで:

latexX_\*X = tr(Σ)X = tr(UT(X)V)\部X = tr(VUT(X))X = (VUT)T = UVTlatex {\frac{{ \partial { \left\Vert {X} \right\Vert }\mathop{{}}\nolimits\_{{\*}}}}{{ \partial X}}\text{ }=\text { }\frac{{tr{ \left( { \partial \Sigma } \right) }}}{{ \partial X}}\text{ }=\text{ }\frac{{tr{ \left( {U\mathop{{}}\nolimits^{{T}}{ \left( { \partial X} \right) }V} \right) }}}{{ \部分 X}}\text{ }=\text{ }\frac{{tr{ \left( {VU\mathop{{}}\nolimits^{{T}}{ \left( { \partial X} \right) }} \right) }}}{{ \partial X}} \text{ }=\text{ }{ \left( {VU\mathop{{}}\nolimits^{{T}}} \right) }\mathop{ {}}\nolimits^{{T}}\text{ }=\text{ }UV\mathop{{}}\nolimits^{{T}}}latexXX_\* = Xtr(Σ) = \Xtr(UT(X)V) = Xtr(VUT(X)) = (VUT)T = UVT

AIでAIを構築

アイデアからローンチまで — 無料のAIコーディング支援、すぐに使える環境、最高のGPU価格でAI開発を加速。

AI コーディング補助
すぐに使える GPU
最適な料金体系

HyperAI Newsletters

最新情報を購読する
北京時間 毎週月曜日の午前9時 に、その週の最新情報をメールでお届けします
メール配信サービスは MailChimp によって提供されています