Perché la norma di matrice predefinita è la norma spettrale e non la norma di Frobenius?


17

Per la norma vettoriale, la norma L2 o "distanza euclidea" è la definizione ampiamente usata e intuitiva. Ma perché la definizione di norma "più usata" o "predefinita" per una matrice è la norma spettrale , ma non la norma di Frobenius (che è simile alla norma L2 per i vettori)?

Ha qualcosa a che fare con algoritmi iterativi / potenze di matrice (se il raggio spettrale è inferiore a 1, allora l'algoritmo converge)?


  1. È sempre discutibile per le parole come "più usato", "predefinito". La parola "predefinito" menzionata sopra deriva dal tipo di ritorno predefinito nella Matlabfunzione norm. Nella Rnorma predefinita per matrice è la norma L1. Entrambi sono "innaturali" per me (per una matrice, sembra più "naturale" fare i,jai,j2 come in vettoriale). (Grazie per i commenti di @ usεr11852 e @ whuber e scusate la confusione.)

  2. Può essere ampliato l' utilizzo della norma matriciale mi aiuterebbe a capire di più?


4
Non sono sicuro che la norma spettrale sia la più utilizzata. Ad esempio, la norma Frobenius viene utilizzata per NNMF e di solito quando si avvicina la soluzione a matrici corr / covarianza che non sono Pos.Def. e sono regolarizzati per diventare Pos. Def. In generale la norma di Forbenius è di per sé una norma "elementare", mentre la norma spettrale si basa sugli autovalori, quindi è un po 'più "universale", ma questa è una questione di opinione. Ad esempio, " Matrix Algebra " di Gentle ha letteralmente un capitolo chiamato: " La norma di Frobenius - La norma" usuale " ". Quindi chiaramente la norma spettrale non è la norma predefinita per tutti.
usεr11852 dice Reinstate Monic l'

2
@ hxd1011: almeno in MATLAB questo viene fatto perché la norma spettrale è in realtà la norma della matrice . La norma della matrice L 2 è una norma di tipo euclideo poiché è indotta dalla norma vettoriale euclidea, dove | | A | | 2 = max | | x | | 2 = 1 | | A x | | 2 . Che la cattura di aver indotto norme per le matrici, sono indotte da una norma vettorialeL2L2||A||2=max||x||2=1||Ax||2 . Immagino sia anche questa l'idea alla base di R. Ha senso che il normcomando "predefinito" restituisca sempre la stessa norma.
usεr11852 dice Reinstate Monic l'

3
Non sono d'accordo sul fatto che il valore predefinito sia Euclidian e che il più comunemente usato sia Spectral.
Aksakal,

5
Sono sconcertato da questa domanda perché non riesco a vedere come le norme matriciali siano una questione di preferenza o di utilizzo. Se una norma particolare è rilevante per un problema, viene utilizzata; se un altro è rilevante, viene utilizzato. Senza alcun chiaro problema o applicazione in mente, quindi, non riesco a vedere come questa domanda possa rispondere.
whuber

5
@ usεr11852 Grazie per averlo sottolineato. È importante che il testo della domanda includa tutte queste informazioni. Non fare affidamento sulle persone che leggono i commenti, specialmente quando ce ne sono molti. Per inciso, la pagina di aiuto per "norm {base}" nella mia copia di Relenca la norma come predefinita, non la norma spettrale. L1
whuber

Risposte:


13

In generale, non sono sicuro che la norma spettrale sia la più utilizzata. Ad esempio, la norma di Frobenius viene utilizzata per una soluzione approssimativa sulla fattorizzazione della matrice non negativa o sulla regolarizzazione della matrice di correlazione / covarianza . Penso che parte di questa domanda derivi dal reato terminologico che alcune persone (incluso me stesso) fanno riferimento alla norma di Frobenius come norma della matrice euclidea . Non dovremmo perché in realtà la norma della matrice (cioè la norma spettrale) è quella che viene indotta alle matrici quando si utilizza la norma vettoriale L 2 . La norma di Frobenius è l'elemento saggio: | | A | |L2L2 , mentre lanorma di matriceL2(||A||2=||A||F=i,jai,j2L2) si basa su valori singolari, quindi è più "universale". (per fortuna di un termine migliore?) Lanorma della matriceL2è una norma di tipo euclideo poiché è indotta dalla norma vettoriale euclidea, dove| | A| | 2=max | | x | | 2 = 1 | | Ax| | 2. È quindi unanorma indottaper le matrici perché ènorma vettoriale, la||A||2=λmax(ATA))L2||A||2=max||x||2=1||Ax||2 indotta da aL2 in questo caso.

Probabilmente MATLAB mira a fornire la norma 2 di default quando si usa il comando; di conseguenza fornisce lanorma vettorialeeuclideama anche lanorma matrice L 2 , vale a dire. lanorma della matrice spettrale(piuttosto che la "norma della matrice euclidea / euclidea" erroneamente citata). Vorrei infine sottolineare che qual è lanorma di defaultè una questione di opinione in qualche misura: per esempio "Matrix Algebra - Theory, Computations and Applications in Statistics" diJE Gentleha letteralmente un capitolo (3.9.2) chiamato: "The Frobenius Norm - La norma “usuale”L2normL2"; così chiaramente la norma spettrale non è la norma predefinita per tutte le parti considerate! :) Come commentato da @amoeba, diverse comunità potrebbero avere convenzioni terminologiche diverse. Va da sé che penso che il libro di Gentle sia una risorsa inestimabile in materia di Lin. Applicazione Algebra in Statistica e ti suggerirei di guardarla oltre!


1
Bella risposta!! mi ha aiutato molto! A2=maxx2=1Ax2
Haitao Du,

Sono felice di poterti aiutare. Si prega di prendere nota anche delle altre risposte fornite. Sono abbastanza penetranti.
usεr11852 dice Reinstate Monic l'

8

Una parte della risposta può essere correlata al calcolo numerico.

Quando risolvi il sistema

Ax=b
con precisione finita, non ottieni la risposta esatta a quel problema. Si ottiene un'approssimazione x~ causa dei vincoli dell'aritmetica finita, in modo che Ax~b , in un certo senso adatto. Cosa rappresenta quindi la tua soluzione? Bene, potrebbe essere una soluzione esatta per qualche altro sistema come
A~x~=b~
Quindi, affinché x~ abbia utilità, il sistema tilde deve essere vicino al sistema originale:
A~A,b~b
Se iltuo algoritmodi risoluzione del sistema originale soddisfa tale proprietà, viene indicato comestabile all'indietro. Ora, l'analisi accurata di quanto sono grandi le discrepanzeA~A,b~balla fine porta a errori sui limiti che sono espressi comeA~A,b~b. Per alcune analisi, ill1norma l 1 (somma massima della colonna) è la più semplice da superare, per altre lal norma (somma massima delle righe) è la più semplice da attraversare (per i componenti della soluzione nel caso del sistema lineare, ad esempio), e per altri ancora, la norma spettrale l2 è la più appropriata (indotta dalla tradizionale l2 norma vettoriale, come sottolineato in un'altra risposta ). Per il cavallo da lavoro del calcolo statistico nell'inversione simmetrica della matrice psd, decomposizione di Cholesky (curiosità: il primo suono è un [x] come nella lettera greca "chi", non [tʃ] come in "inseguimento"), la norma più conveniente per tenere traccia dei limiti di errore è la norma l2 ... sebbene la norma di Frobenius compaia anche in alcuni risultati, ad es. sull'inversione di matrice partizionata.


3
+1, in particolare per le curiosità. Ho sempre pensato che inizi con [k]. L'ho cercato ora e apparentemente André-Louis Cholesky era di discreto polacco (nato in Francia però). Non dovrebbe essere il suono "sh" allora, come in Chopin? Tuttavia, in russo Cholesky è davvero tradizionalmente scritto come Холецкий.
ameba dice di reintegrare Monica l'

3
Lo porto indietro. Si scopre che il padre di Chopin era francese, da cui la pronuncia francese del cognome. Ma i genitori di Cholesky erano polacchi e in polacco avrebbe dovuto essere pronunciato con [ ]. Saluti. χ
ameba dice di reintegrare Monica l'

Sì ... l'avevo pensato come un russo con un nome polacco, e dopo aver letto quell'ortografia russa circa un decennio prima di vederlo scritto in lettere latine, avrei avuto qualche idea su come pronunciarlo;)
StasK,

2
Chi se ne frega di come pronunciarlo, basta usare quella dannata cosa.
Mark L. Stone,

7

La risposta a questo dipende dal campo in cui ti trovi. Se sei un matematico, allora tutte le norme in dimensioni finite sono equivalenti : per ogni due norme e b , esistono le costanti C 1 , C 2 , che dipendono solo dalla dimensione (e a, b) tale che:ab C1,C2

C1xbxaC2xb.

Ciò implica che le norme in dimensioni finite sono piuttosto noiose e non vi è sostanzialmente alcuna differenza tra loro se non nel modo in cui si ridimensionano. Questo di solito significa che puoi scegliere la norma più conveniente per il problema che stai cercando di risolvere . Di solito si desidera rispondere a domande come "questo operatore o procedura è limitata" o "converge questo processo numerico". Con limite, di solito ti importa solo che qualcosa sia finito. Con la convergenza, sacrificando la velocità con cui si ha la convergenza, è possibile scegliere di utilizzare una norma più conveniente.

Ad esempio, nell'algebra lineare numerica, la norma di Frobenius è talvolta preferita perché è molto più facile da calcolare rispetto alla norma euclidea, e inoltre si collega naturalmente con una classe più ampia di operatori di Hilbert Schmidt . Inoltre, come la norma euclidea, è sottomultiplicativa: , a differenza di dire, la norma massima, quindi ti consente di parlare facilmente della moltiplicazione dell'operatore in qualsiasi spazio in cui lavori Alla gente piace molto sia il p = 2ABFAFBFp=2 norma e la norma di Frobenius perché hanno relazioni naturali sia con gli autovalori che con i valori singolari delle matrici, oltre ad essere sottomultiplicativi.

C1,C2xaxb


7
Sfortunatamente, il termine "equivalenza", come nelle norme, può ed è stato frainteso, anche da persone con dottorato di ricerca in Informatica. Avevo bisogno di implementare un certo calcolo non banale usando una norma 2, e questo ragazzo ha prodotto una soluzione usando una norma 1, perché era molto più semplice e, dopo tutto, aveva sentito che tutte le norme erano equivalenti. Bene, essere staccato da un fattore di (fino a)nnon era adeguato per me. In quella domanda, potevo solo permettermi di perdere un fattore 1.
Mark L. Stone,

@ MarkL.Stone: Giusto, da qui la distinzione tra teorico (davvero: topologico) e pratico.
Alex R.

@ MarkL.Stone: +1 Chiaramente non stava testando il suo codice. :) (Bel aneddoto! Lo userò sicuramente quando
parlerò di errori di comunicazione nell'informatica

@ usεr11852 ah ah, no, è peggio di così. Ha "testato l'unità" il codice implementando correttamente il calcolo basato sulla norma 1. Non ha superato l'esame a livello di sistema perché utilizzava la norma sbagliata.
Mark L. Stone,

@ MarkL.Stone: Oh ... è un peccato! Detto questo, non so se stavi usando una particolare configurazione hardware o qualcosa del genere, ma per iniziare con la codifica da zero un calcolo della norma è no-no; ci sono librerie matematiche da usare per evitare del tutto tali problemi.
usεr11852 dice Reinstate Monic l'
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.