Почему матричной нормой по умолчанию является спектральная норма, а не норма Фробениуса?

17

Для векторной нормы L2-норма или «евклидово расстояние» является широко используемым и интуитивным определением. Но почему определение «наиболее используемой» или «стандартной» для матрицы является спектральной нормой , а не нормой Фробениуса (которая аналогична норме L2 для векторов)?

Имеет ли это какое-то отношение к итерационным алгоритмам / степеням матрицы (если спектральный радиус меньше 1, то алгоритм будет сходиться)?


  1. Это всегда спорно для таких слов , как «наиболее часто используемые», « по умолчанию». Слово «default», упомянутое выше, происходит от возвращаемого по умолчанию типа возврата в Matlabфункции norm. В Rкачестве нормы по умолчанию для матрицы используется норма L1. Оба являются «неестественным» для меня (для матрицы, она кажется более «естественным» , чтобы сделать i,jai,j2 как в векторе). (Спасибо за комментарии @ usεr11852 и @ whuber и извините за путаницу.)

  2. Может быть, расширение использования матрицы норм поможет мне понять больше?

Haitao Du
источник
4
Я не уверен, что спектральная норма является наиболее широко используемой. Например, норма Фробениуса используется для NNMF и обычно при аппроксимации решения для матриц corr / covariance, которые не являются Pos.Def. и упорядочены, чтобы стать поз. Отсроченный В общем случае норма Форбениуса является «поэлементной» нормой как таковой, в то время как спектральная норма основана на собственных значениях, поэтому она немного более «универсальна», но это вопрос мнения. Например, в « Матричной алгебре » Джентла буквально есть глава под названием: « Норма Фробениуса -« Обычная »норма ». Очевидно, что спектральная норма не является нормой по умолчанию для всех.
usεr11852 говорит восстановить Monic
2
@ hxd1011: По крайней мере, в MATLAB это делается, потому что спектральная норма фактически является нормой матрицы L2 . L2 матричная норма является евклидовым типа нормой , поскольку она индуцируется евклидовой нормы вектора, где ||A||2=max||x||2=1||Ax||2 . То , что улов о том , индуцированных нормах для матриц, они индуцированные с помощью векторной нормы, Я думаю, что это идея R тоже. Имеет смысл, чтобы команда «по умолчанию» normвсегда возвращала одну и ту же норму.
usεr11852 говорит восстановить Monic
3
Я не согласен с тем, что по умолчанию используется евклидово, а наиболее часто используемым является спектральный.
Аксакал
5
Я озадачен этим вопросом, потому что не могу понять, как матричные нормы являются вопросом предпочтения или использования. Если какая-то конкретная норма имеет отношение к проблеме, то она используется; если другой уместен, то он используется. Поэтому без какой-либо явной проблемы или применения я не могу понять, как этот вопрос отвечает.
whuber
5
@ usεr11852 Спасибо, что указали на это. Важно, чтобы в тексте вопроса содержалась вся такая информация. Не полагайтесь на людей, читающих комментарии, особенно когда их много. Кстати, страница справки для "norm {base}" в моей копии Rперечисляет норму L1 по умолчанию, а не спектральную норму.
whuber

Ответы:

13

В общем, я не уверен, что спектральная норма наиболее широко используется. Например, норма Фробениуса используется для аппроксимации решения о неотрицательной матричной факторизации или регуляризации матрицы корреляции / ковариации . Я думаю, что часть этого вопроса проистекает из проступка терминологии, который делают некоторые люди (включая меня), когда ссылаются на норму Фробениуса как на евклидову матричную норму . Мы не должны этого делать, потому что фактически матричная норма (то есть спектральная норма) - это та, которая индуцируется в матрицы при использовании векторной нормы L 2 . Норма Фробениуса является поэлементной: | | A | |L2L2 , аматрицаL2норма (||A||2=||A||F=i,jai,j2L2) основан на единичных значениях, поэтому он является более «универсальным». (к счастью, лучшего термина?)Норма матрицыL2является нормой евклидова типа, поскольку она индуцируется евклидовой векторной нормой, где| | A| | 2=макс | | х | | 2 = 1 | | Х| | 2. Это следовательно,индуцированная нормадля матрицпотому что онаиндуцируетсяпомощью а||A||2=λmax(ATA))L2||A||2=max||x||2=1||Ax||2векторная норма , векторная норма в этом случае.L2

Вероятно, MATLAB стремится обеспечить норму по умолчанию при использовании команды ; как следствие, он обеспечивает евклидову векторную норму, а также матричную норму L 2 , т.е. спектральная матричная норма (а не ошибочно цитирует « Фробениуса / евклидова матричная норма »). Наконец, позвольте мне заметить, что норма по умолчанию в некоторой степени зависит от мнений: например, в « Матричной алгебре - теория, вычисления и приложения в статистике » Дж. Джентла буквально есть глава (3.9.2) под названием: « Фробениус». Норма - «Обычная» НормаL2normL2"; очевидно, что спектральная норма не является нормой по умолчанию для всех рассматриваемых сторон! :) Как прокомментировал @amoeba, разные сообщества могут иметь разные терминологические соглашения. Само собой разумеется, что книга Джентль является бесценным ресурсом по вопросу Лин. Алгебра-приложение в статистике и я бы подсказать вам посмотреть его дальше!

usεr11852 говорит восстановить Monic
источник
1
отличный ответ !! мне очень помогло! A2=maxx2=1Ax2
Haitao Du
Я рад, что смог помочь. Пожалуйста, обратите внимание на другие предоставленные ответы. Они довольно проницательны.
usεr11852 говорит восстановить Monic
8

Часть ответа может быть связана с числовыми вычислениями.

Когда вы решаете систему

Ax=b
с конечной точностью, вы не получите точного ответа на эту проблему. Вы получаете приближение x~ из - за ограничения конечной арифметики, так что Ax~b , в каком - то подходящий смысле. Что же представляет собой ваше решение? Ну, это вполне может быть точным решением какой - либо другой системе , как
A~x~=b~
Таким образом , для x~ , чтобы иметь утилиту, тильда-система должна быть близка к исходной системе:
A~A,b~b
Есливаш алгоритмрешения исходной системы удовлетворяетчто собственность, то она называетсяобратной конюшне. Теперь, точный анализ тогонасколько велики расхожденияA~A,b~bв конечном итоге приводит к ошибкам на границахкоторые выражаютсявидеA~A,b~b. Для некоторых анализов,l1норма (максимальная сумма столбца) является самым простымчтобы протолкнуть, для других,l норма (максимальная сумма строки) проще всего протолкнуть (например, для компонентов решения в случае линейной системы), а для другихспектральная нормаl2 является наиболее подходящей (индуцированной традиционнымl2 векторная норма, как указанов другом ответе). Для рабочей лошади статистических вычислений в симметричной инверсии матрицы PSD,разложение Холецкого(мелочи: первый звук - это [х], как в греческой букве «чи», а не [тʃ], как в «погони»), наиболее удобной нормой для отслеживать границы ошибок - этонормаl2 ... хотя норма Фробениуса также всплывает в некоторых результатах, например, при инверсии секционированной матрицы.

Stask
источник
3
+1, в частности за мелочи. Я всегда думал, что это начинается с [k]. Я посмотрел его сейчас и, по - видимому, Андре-Луи Холески был поляком по происхождению (хотя родился во Франции). Разве это не должен быть звук "ш", как в Шопене? Однако на русском языке Холецкий действительно традиционно пишется как Холецкий.
амеба говорит восстановить Монику
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
Yeah... I'd thought that as a Russian with a Polish first name, and having first read that Russian spelling a decade or so before first seeing it spelled in Latin letters, I'd have some idea how to pronounce it ;)
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.
источник
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