Warum ist die Standardmatrixnorm die Spektralnorm und nicht die Frobeniusnorm?

17

Für die Vektornorm ist die L2-Norm oder "Euklidische Distanz" die weit verbreitete und intuitive Definition. Aber warum ist die "meistverwendete" oder "Standard" -Normdefinition für eine Matrix die Spektralnorm , nicht aber die Frobenius-Norm (die der L2-Norm für Vektoren ähnelt)?

Hat das etwas mit iterativen Algorithmen / Matrixleistungen zu tun (wenn der Spektralradius kleiner als 1 ist, konvergiert der Algorithmus)?


  1. Es ist immer für die Wörter wie "am häufigsten verwendet", "Standard" zu argumentieren. Das oben erwähnte Wort "default" kommt von der Standardrückgabetype in Matlabfunction norm. In Rder Standardnorm für Matrix ist L1-Norm. Beide sind für mich "unnatürlich" (für eine Matrix scheint es "natürlicher" zu sein, i,jai,j2 wie in Vektor). (Danke für die Kommentare von @ usεr11852 und @ whuber und entschuldigen Sie die Verwirrung.)

  2. Kann mir die Verwendung der Matrixnorm helfen, mehr zu verstehen?

Haitao Du
quelle
4
Ich bin mir nicht sicher, ob die Spektralnorm am weitesten verbreitet ist. Beispielsweise wird die Frobenius-Norm für NNMF verwendet und normalerweise, wenn die Lösung an Korrelations- / Kovarianzmatrizen angenähert wird, die nicht Pos.Def sind. und werden reguliert, um Pos zu werden. Def. Im Allgemeinen ist die Forbenius-Norm per se eine "elementweise" Norm, während die spektrale Norm auf den Eigenwerten basiert, also etwas "universeller" ist, aber dies ist Ansichtssache. Zum Beispiel hat Gentles " Matrix Algebra " buchstäblich ein Kapitel mit dem Namen: " Die Frobenius-Norm - Die" übliche "Norm ". Die Spektralnorm ist also eindeutig nicht die Standardnorm für alle.
usεr11852 sagt Reinstate Monic
2
@ hxd1011: In MATLAB geschieht dies zumindest, weil die Spektralnorm tatsächlich die -Matrixnorm ist. Die L 2 -Matrixnorm ist eine euklidische Norm, da sie durch die euklidische Vektornorm induziert wird, wobei | | A | | 2 = max | | x | | 2 = 1 | | A x | | 2 . Dass der Haken daran liegt, Normen für Matrizen induziert zu haben, werden sie durch eine Vektornorm induziertL2L2||A||2=max||x||2=1||Ax||2. Ich denke, das ist auch die Idee hinter R. Es ist sinnvoll, dass der normBefehl "default" immer dieselbe Norm zurückgibt.
usεr11852 sagt Reinstate Monic
3
Ich bin nicht einverstanden, dass der Standardwert Euklidian ist und der am häufigsten verwendete Spektralwert ist.
Aksakal
5
Ich bin verblüfft über diese Frage, weil ich nicht sehen kann, wie Matrixnormen bevorzugt oder verwendet werden. Wenn eine bestimmte Norm für ein Problem relevant ist, wird sie verwendet. Wenn ein anderer relevant ist, wird er verwendet. Ohne ein klares Problem oder eine klare Anwendung kann ich nicht erkennen, wie diese Frage beantwortet werden kann.
whuber
5
@ usεr11852 Vielen Dank, dass Sie darauf hingewiesen haben. Es ist wichtig , dass der Text der Frage alle diese Informationen enthalten. Verlassen Sie sich nicht darauf, dass Leute die Kommentare lesen, besonders wenn es viele von ihnen gibt. Im Übrigen Rlistet die Hilfeseite für "norm {base}" in meiner Kopie von die -Norm als Standard auf, nicht die Spektralnorm. L1
Whuber

Antworten:

13

Im Allgemeinen bin ich mir nicht sicher, ob die Spektralnorm am weitesten verbreitet ist. Zum Beispiel wird die Frobenius-Norm verwendet, um die Lösung einer nicht-negativen Matrixfaktorisierung oder einer Korrelations- / Kovarianzmatrix-Regularisierung anzunähern . Ich denke, ein Teil dieser Frage rührt von dem Terminologie-Vergehen her, das einige Leute (ich selbst eingeschlossen) begehen, wenn sie sich auf die Frobenius-Norm als die euklidische Matrixnorm beziehen . Wir sollten dies nicht tun, da tatsächlich die -Matrixnorm (dh die Spektralnorm) diejenige ist, die bei Verwendung der L 2 -Vektornorm zu Matrizen induziert wird . Die Frobenius-Norm lautet elementweise: | | A | |L2L2 , während dieL2Matrixnorm (||A||2=||A||F=i,jai,j2L2) basiert auf singulären Werten, ist also "universeller". (Zum Glück eines besseren Begriffs?) DieL2-Matrixnorm ist eine euklidische Norm, da sie durch die euklidische Vektornorm induziert wird, wobei| | A| | 2=max | | x | | 2 = 1 | | Ax| | 2. Es ist daher eineinduzierte Normfür Matrizen, weil siedurch ainduziertwird||A||2=λmax(ATA))L2||A||2=max||x||2=1||Ax||2Vektornorm , in diesem Fall die -Vektornorm.L2

Wahrscheinlich MATLAB Ziele , die zu schaffen , Norm standardmäßig , wenn Sie den Befehl verwenden ; infolgedessen liefert es die euklidische Vektornorm, aber auch die L 2 -Matrixnorm, d. h. die Spektralmatrixnorm (anstelle der falsch zitierten " Frobenius / Euklidischen Matrixnorm "). Abschließend möchte ich darauf hinweisen, dass die Standardnorm in gewissem Maße Ansichtssache ist : Zum Beispiel enthält JE Gentles "Matrixalgebra - Theorie, Berechnungen und Anwendungen in der Statistik " wörtlich ein Kapitel (3.9.2) mit dem Namen: " Der Frobenius Norm - Die "übliche" NormL2normL2"; so klar ist die Spektralnorm nicht die Standardnorm für alle in Betracht gezogenen Parteien! :) Wie von @amoeba kommentiert, haben verschiedene Gemeinschaften möglicherweise unterschiedliche Terminologiekonventionen. Es versteht sich von selbst, dass ich das Buch von Gentle für eine unschätzbare Ressource in der Frage von halte Lin. Algebra-Anwendung in der Statistik und ich würde Sie auffordern, es weiter zu suchen!

usεr11852 sagt Reinstate Monic
quelle
1
gute Antwort!! hat mir sehr geholfen! A2=maxx2=1Ax2
Haitao Du
Ich bin froh, dass ich helfen konnte. Bitte beachten Sie auch die anderen Antworten. Sie sind ziemlich aufschlussreich.
usεr11852 sagt Reinstate Monic
8

Ein Teil der Antwort kann sich auf numerisches Rechnen beziehen.

Wenn Sie das System

Ax=b
mit endlicher Genauigkeit lösen , erhalten Sie keine genaue Antwort auf dieses Problem. Man erhält eine Näherung x~ aufgrund der Bedingungen der endlichen Arithmetik, so dass Ax~b in einem geeigneten Sinne ist. Wofür steht denn Ihre Lösung? Nun, es kann auch eine sein , genaue Lösung zu einem anderen System wie
A~x~=b~
Also für x~ Dienstprogramm haben, das Tilde-System nahe an dem ursprünglichen System sein muss:
A~A,b~b
A~Ab~bA~Ab~bl1ll2l2l2

StasK
quelle
3
+1, in particular for the trivia. I have always thought it starts with [k]. I looked it up now and apparently André-Louis Cholesky was of Polish decent (born in France though). Shouldn't it be "sh" sound then, like in Chopin? However, in Russian Cholesky is indeed traditionally written as Холецкий.
amoeba says Reinstate Monica
3
I take it back. Turns out Chopin's father was French, hence the French pronunciation of the surname. But Cholesky's parents were Polish and in Polish it should have been pronounced with [χ]. Cheers.
amoeba says Reinstate Monica
Ja ... ich hatte gedacht, dass ich als Russe mit polnischem Vornamen eine Ahnung haben würde, wie ich ihn aussprechen soll, nachdem ich ihn etwa ein Jahrzehnt vor dem ersten Lesen in lateinischen Buchstaben gelesen hatte.
StasK
2
Who cares how to pronounce it, just use the damn thing.
Mark L. Stone
7

The answer to this depends on the field you're in. If you're a mathematician, then all norms in finite dimensions are equivalent: for any two norms a and b, there exist constants C1,C2, which depend only on dimension (and a,b) such that:

C1xbxaC2xb.

This implies that norms in finite dimensions are quite boring and there is essentially no difference between them except in how they scale. This usually means that you can choose the most convenient norm for the problem you're trying to solve. Usually you want to answer questions like "is this operator or procedure bounded" or "does this numerical process converge." With boundedness, you only usually care that something is finite. With convergence, by sacrificing the rate at which you have convergence, you can opt to use a more convenient norm.

For example, in numerical linear algebra, the Frobenius norm is sometimes preferred because it's a lot easier to calculate than the euclidean norm, and also that it naturally connects with a wider class of Hilbert Schmidt operators. Also, like the Euclidean norm, it's submultiplictive: ABFAFBF, unlike say, the max norm, so it allows you to easily talk about operator multiplication in whatever space you're working in. People tend to really like both the p=2 norm and the Frobenius norm because they have natural relations to both the eigenvalues and singular values of matrices, along with being submultiplictive.

For practical purposes, the differences between norms become more pronounced because we live in a world of dimensions and it usually matters how big a certain quantity is, and how it's measured. Those constants C1,C2 above are not exactly tight, so it becomes important just how much more or less a certain norm xa is compared to xb.

Alex R.
quelle
7
Unfortunately, the term "equivalence", as in norms, can and has been misinterpreted, including by people with Ph.D.s in Computer Science. I needed to implement a certain non-trivial calculation using a 2-norm, and this guy produced a solution using a 1-norm, because that was much easier, and after all, he had heard that all norms are equivalent. Well, being off by a factor of (up to) n was not adequate for me. In that application, I could only afford to be off by a factor of 1.
Mark L. Stone
@MarkL.Stone: Right, hence the distinction between theoretical (really: topological) and practical.
Alex R.
@MarkL.Stone: +1 Clearly he was not unit-testing his code. :) (Nice anecdote! I will definitely use it when talking about miscommunications in technical computing!)
usεr11852 says Reinstate Monic
@usεr11852 ha ha, no, it's worse than that. He did "unit-test" the code as correctly implementing the calculation based on the 1-norm. It failed my system-level examination because it used the wrong norm.
Mark L. Stone
@MarkL.Stone: Oh... that's a pity! Having said that, I don't know if you were using an particular hardware configuration or something but to begin with coding a norm calculation from scratch is no-no; there are mathematics libraries one should use to avoid such issues altogether.
usεr11852 says Reinstate Monic