HyperAIHyperAI

Command Palette

Search for a command to run...

Nukleare Norm

Datum

vor 3 Jahren

Nukleare NormEs handelt sich um die Summe der singulären Werte der Matrix, die verwendet wird, um den niedrigen Rang der Matrix einzuschränken. Bei spärlichen Daten hat die Matrix einen niedrigen Rang und enthält viele redundante Informationen, die zum Wiederherstellen von Daten und Extrahieren von Merkmalen verwendet werden können.

Definition der Kernnorm

Die Kernnorm der Matrix X ist wie folgt definiert:

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)

Gemäß der obigen Formel entspricht die Kernnorm der Summe der Matrixeigenwerte. Betrachtet man die Eigenwertzerlegung von XlatexX = UΣVTlatex {X\text{ }=\text{ }U \Sigma V\mathop{{}}\nolimits^{{T}}}latexX = UΣVT, können wir folgende Schlussfolgerungen ziehen:

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

Beweis der Konvexität

Nach den bekannten Informationen ist die matrixinduzierte Norm konvex, das heißt:

Sei 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) , Dann ist latexf_xlatex {f\mathop{{}}\nolimits\_{{x}}}latexf_x konvex, also 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) ist konvex, und latexA_2latex {{ \left\Vert {A} \right\Vert }\mathop{{}}\nolimits\_{{2}}}latexA_2 Da latexA_\*latex {{ \left\Vert {A} \right\Vert }\mathop{{}}\nolimits\_{{\*}}}latexA_\* und latexA_2latex {{ \left\Vert {A} \right\Vert }\mathop{{}}\nolimits\_{{2}}}latexA_2 duale Normen sind, latexA_\*latex {{ \left\Vert {A} \right\Vert }\mathop{{}}\nolimits\_{{\*}}}latexA_\* konvex (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)).

Gradientenlösung

Basierend auf den oben genannten SVD-Annahmen können wir Folgendes schlussfolgern:

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(Σ)

Daher müssen wir latexΣlatex { \partial \Sigma }latexΣ lösen. Betrachten wir latexX = UΣVTlatex {X\text{ }=\text{ }U \Sigma V\mathop{{}}\nolimits^{{T}}}latexX = UΣVT , so haben wir:

latex {\begin{array}{\*{20}{l}} {}&{ \partial }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 }0} \right) }} \end{array}}

Also:

latex {\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) }}}{{ \partial \right) }}}{{ \partial X}} \text{ }=\text{ }{ \left( {VU\mathop{{}}\nolimits^{{T}}} \right) }\mathop{{}}\nolimits^{{T}}\text{ }=\text{ }UV\mathop{{}}\nolimits^{{T}}}

KI mit KI entwickeln

Von der Idee bis zum Launch – beschleunigen Sie Ihre KI-Entwicklung mit kostenlosem KI-Co-Coding, sofort einsatzbereiter Umgebung und bestem GPU-Preis.

KI-gestütztes kollaboratives Programmieren
Sofort einsatzbereite GPUs
Die besten Preise

HyperAI Newsletters

Abonnieren Sie unsere neuesten Updates
Wir werden die neuesten Updates der Woche in Ihren Posteingang liefern um neun Uhr jeden Montagmorgen
Unterstützt von MailChimp