HyperAIHyperAI

Command Palette

Search for a command to run...

Nukleare Norm

Datum

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:

latex∥X∥_\* = tr(XTX)latex {{ \left\Vert {X} \right\Vert }\mathop{{}}\nolimits\_{{\*}}\text{ }=\text{ }tr{ \left( {\sqrt{{X\mathop{{}}\nolimits^{{T}}X}}} \right) }}latex∥X∥_\* = 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 (p≥1)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 (p≥1) , Dann ist latexf_xlatex {f\mathop{{}}\nolimits\_{{x}}}latexf_x konvex, also latex∥A∥_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) }}latex∥A∥_p = sup_∥x∥_p=1 f_x(A) ist konvex, und latex∥A∥_2latex {{ \left\Vert {A} \right\Vert }\mathop{{}}\nolimits\_{{2}}}latex∥A∥_2 Da latex∥A∥_\*latex {{ \left\Vert {A} \right\Vert }\mathop{{}}\nolimits\_{{\*}}}latex∥A∥_\* und latex∥A∥_2latex {{ \left\Vert {A} \right\Vert }\mathop{{}}\nolimits\_{{2}}}latex∥A∥_2 duale Normen sind, latex∥A∥_\*latex {{ \left\Vert {A} \right\Vert }\mathop{{}}\nolimits\_{{\*}}}latex∥A∥_\* konvex (latex∥A∥_\* = 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) }}latex∥A∥_\* = sup_∥X∥_2=1 tr(ATX)).

Gradientenlösung

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

latex∂∥X∥_\*∂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}}}latex∂X∂∥X∥_\*​ = ∂X∂tr(Σ)​ = ∂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