Чому матрична норма за замовчуванням - це спектральна норма, а не норма Фробеніуса?


17

Для векторної норми норма L2 або "евклідова відстань" є широко використовуваним та інтуїтивним визначенням. Але чому для матриці "найбільш використовуваним" або "стандартним" визначенням норми є спектральна норма , але не норма Фробеніуса (яка аналогічна нормі L2 для векторів)?

Чи має це щось спільне з ітераційними алгоритмами / матричними потужностями (якщо спектральний радіус менший за 1, то алгоритм буде сходитися)?


  1. Це завжди сперечається для таких слів, як "найчастіше використовується", "за замовчуванням". Згадане вище слово "за замовчуванням" походить від типу повернення за замовчуванням у Matlabфункції norm. У Rстандартній нормі для матриці є норма L1. Обидва є «неприродним» для мене (для матриці, вона здається більш «природним» , щоб зробити i,jai,j2 як у векторі). (Дякую за коментарі @ usεr11852 та @ whuber і вибачте за плутанину.)

  2. Можливо, розширення використання матричної норми допоможе мені зрозуміти більше?


4
Я не впевнений, що спектральна норма найбільш широко використовується. Наприклад, норма Frobenius використовується для NNMF і, як правило, при наближенні рішення до матриць corr / коваріації, які не є Pos.Def. і регулюються, щоб стати Пос. Деф. Взагалі норма Форбеніуса сама по собі є нормою "елементарно", тоді як спектральна норма заснована на власних значеннях, тому вона є трохи більш "універсальною", але це питання про думку. Наприклад, " Матрична алгебра " Джентльмена буквально містить розділ з назвою: " Норма Фробеніуса -" Звичайна "норма ". Отже, спектральна норма не є нормою за замовчуванням для всіх.
usεr11852 повідомляє Відновити Моніку

2
@ hxd1011: У MATLAB принаймні це робиться, оскільки спектральна норма насправді є матричною нормою L2 . L2 матрична норма є евклідовим типу нормою , оскільки вона активується евклідової норми вектора, де ||A||2=max||x||2=1||Ax||2. Тещо улов про теіндукованих нормахдля матриць, вониіндукованідопомогоювекторної норми. Я здогадуюсь це ідея позаду R також. normКоманда "за замовчуванням" має сенс завжди повертати ту саму норму.
usεr11852 повідомляє Відновити Моніку

3
Я не погоджуюся, що за замовчуванням є Евклідова, і що найчастіше використовується Spectral.
Аксакал

5
Мене це бентежить, тому що я не бачу, як матричні норми є питаннями уподобань чи використання. Якщо одна конкретна норма має відношення до проблеми, то вона використовується; якщо інша актуальна, то вона використовується. Не маючи на увазі жодної чіткої проблеми чи застосування, я не можу зрозуміти, як відповідає на це питання.
whuber

5
@ usεr11852 Дякую, що вказали на це. Важливо, щоб текст запитання включав усю таку інформацію. Не покладайтеся на людей, які читають коментарі, особливо коли їх багато. До речі, на сторінці довідки "норма {base}" у моїй копії Rперелічено норму L1 як стандартну, а не спектральну норму.
whuber

Відповіді:


13

Взагалі, я не впевнений, що спектральна норма є найбільш широко використовуваною. Наприклад, норма Фробеніуса використовується для наближення рішення щодо негативної матричної факторизації або регуляризації матриці кореляції / коваріації . Я думаю, що частина цього питання випливає з термінологічного проступку, який деякі роблять (включаючи і мене), коли вони посилаються на норму Фробеніуса як норму матриці Евкліда . Ми не повинні тому, що насправді норма матриці (тобто спектральна норма) є тією, яка індукується до матриць при використанні векторної норми L 2 . Норма Фробеніуса полягає в тому, що є елементарним: | | А | |L2L2 , тоді якнорма матриціL2(||A||2=||A||F=i,jai,j2L2) заснований на сингулярних значеннях, тому він є більш "універсальним". (на удачу в кращому терміні?)Матрична нормаL2є нормою евклідового типу, оскільки вона індукується евклідовою векторною нормою, де| | А| | 2=макс | | х | | 2 = 1 | | Ах| | 2. Отже, цеіндукована нормадля матриць, оскільки вонаіндукуєтьсяa||A||2=λmax(ATA))L2||A||2=max||x||2=1||Ax||2векторна норма , векторна норма в цьому випадку.L2

Ймовірно, MATLAB має на меті забезпечити норму за замовчуванням при використанні команди ; як наслідок, це забезпечує норму вектора Евкліда, але також іL2normматричну норму L 2 , тобто. спектральна матрична норма(а не помилково цитує «Фробениуса / евклидова матрична норма»). Нарешті, дозвольте мені зазначити, що те, що єтиповою нормою,є питанням думки до деякого поширення. Наприклад, "Матрична алгебра - теорія, обчислення та додатки в статистиці"Дж. Джентерабуквально містить розділ (3.9.2) під назвою: "The Frobenius Норма - «Звичайна» нормаL2"; так очевидно, що спектральна норма не є нормою за замовчуванням для всіх розглянутих сторін! :) Як коментує @amoeba, різні громади можуть мати різні термінологічні конвенції. Само собою зрозуміло, що я вважаю, що книга Джентльмена є неоціненним ресурсом з цього питання. Додаток Лін. Алгебра в статистиці, і я б запропонував вам переглянути це далі!


1
чудова відповідь !! мені дуже допомогли! A2=maxx2=1Ax2
Haitao Du

Я радий, що можу допомогти. Будь ласка, врахуйте і інші надані відповіді. Вони досить проникливі.
usεr11852 повідомляє Відновити Монік

8

Частина відповіді може бути пов'язана з числовими обчисленнями.

Коли ви вирішите систему

Ax=b
з кінцевою точністю, ви не отримаєте точної відповіді на цю проблему. Ви отримуєте наближення x~ через обмеження скінченної арифметики, так що Ax~b , в якомусь підходящому значенні. Що тоді представляє ваше рішення? Що ж, це може бути точним рішенням для якоїсь іншої системи, наприклад
A~x~=b~
Отже, щоб x~ мала корисність, система tilde повинна бути близькою до початкової системи:
A~A,b~b
Якщоваш алгоритмрозв’язання вихідної системи задовольняє цій властивості, то вона називаєтьсястійкою назад. Тепер точний аналіз того, наскільки великі розбіжностіA~A,b~bзрештою призводять до помилок на межах, які виражаються якA~A,b~b. Для деяких аналізівнормаl1(максимальна сума стовпців) найпростіша для просування, для інших -l норма (максимальна сума рядків) найпростіша для просування (наприклад, для компонентів розчину у випадку лінійної системи), а для інших, спектральна норма l2 є найбільш прийнятною (індукована традиційним l2 векторна норма, як зазначено в іншій відповіді ). Для робочого коня статистичних обчислень в симетричній інверсії матриці psd розкладання Чолеського (дрібниці: перший звук є [x], як у грецькій букві "chi", а не [tʃ], як у "chase"), найбільш зручною нормою для відслідковувати межі помилок - це норма l2 ... хоча норма Фробеніуса також з'являється в деяких результатах, наприклад, за інверсією розподіленої матриці.


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

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.


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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.