为什么默认的矩阵范数是频谱范数而不是Frobenius范数?


17

对于向量范数,L2范数或“欧几里得距离”是广泛使用的直观定义。但是,为什么矩阵的“最常用”或“默认”规范定义是频谱规范,而不是Frobenius规范(类似于矢量的L2规范)?

这是否与迭代算法/矩阵幂有关(如果频谱半径小于1,则算法将收敛)?


  1. 对于诸如“最常用”,“默认”之类的词总是有争议的。上面提到的“默认”一词来自Matlabfunction中的默认返回类型norm。在R矩阵的默认标准是L1常态。两者的是“不自然”,我(对于一个矩阵,它看起来更“自然”做i,jai,j2喜欢在向量中)。(感谢@usεr11852和@whuber的评论,对于造成的混乱,我们深表歉意。)

  2. 可能会扩展矩阵规范用法,这将有助于我了解更多吗?


4
我不确定频谱规范是否使用最广泛。例如,Frobenius范数用于NNMF,通常在逼近非Pos.Def的corr /协方差矩阵的解时使用。并正规化成为Pos。防御 通常,Forbenius范式本身就是“元素明智”的范式,而频谱范式是基于特征值的,因此它更“通用”,但这是一个见解。例如,Gentle的“ 矩阵代数 ”的字面意思是:“ Frobenius范数-“通常的”范数 ”。因此很明显,频谱规范不是所有标准规范的默认规范。
usεr11852恢复单胞菌说,

2
@ hxd1011:至少在MATLAB中这样做是因为频谱范数实际上是L2矩阵范数。在L2矩阵范数是欧几里得型范数,因为它是由向量范数,其中诱导||A||2=max||x||2=1||Ax||2。关于归纳矩阵的范式的陷阱是由向量范数诱导。我想这也是R背后的想法。“ default” norm命令始终返回相同的规范是有意义的。
usεr11852恢复单胞菌说,

3
我不同意默认值为Euclidian,而最常用的是Spectral。
阿克萨卡(Aksakal)

5
我对这个问题感到困惑,因为我看不到矩阵规范如何成为偏好或用法的问题。如果一项特定规范与问题相关,则使用该规范;如果另一个相关,则使用它。因此,如果没有任何明确的问题或应用程序,我将看不到这个问题的答案。
whuber

5
@usεr11852感谢您指出这一点。问题文本必须包含所有此类信息,这一点很重要。不要依靠别人阅读评论,尤其是当评论很多的时候。顺便说一句,我的副本中“ norm {base}”的帮助页面R列出了规范作为默认规范,而不是频谱规范。L1
ub

Answers:


13

总的来说,我不确定频谱规范是使用最广泛的。例如,Frobenius范数用于近似求解非负矩阵分解相关/协方差矩阵正则化的解。我认为这个问题的部分原因是某些人在将Frobenius规范称为Frobenius规范时(包括我自己)的轻描淡写。欧几里得矩阵范式。我们不应该这样,因为实际上矩阵范数(即频谱范数)是使用L 2向量范数时被归纳为矩阵的范数。弗罗比尼斯范数是逐元素:| | A | |L2L2,而L2矩阵范数(||A||2=||A||F=i,jai,j2L2)是基于奇异值所以它因此更“万能”。(为了更好的运气?)L2矩阵范数是欧几里德类型的范数,因为它是由欧几里得向量范数引起的,其中| |是 | A| | 2=最大值 | | x | | 2||A||2=λmax(ATA))L2。因此它的诱导范数为基质,因为它引起的||A||2=max||x||2=1||Ax||2向量范数,在这种情况下为向量范数。L2

MATLAB 可能旨在提供在使用命令时默认 2范数;结果,它提供了欧几里得向量范数,还提供了 L 2矩阵范数,即。所述频谱矩阵范数(而不是错误地引用了“弗罗贝纽斯/欧几里得矩阵范数”)。最后,让我注意到默认规范是一个扩展性的见解问题:例如,JE Gentle的“矩阵代数-统计的理论,计算和应用”的字面意义为(3.9.2),该章名为:“Frobenius规范-“常规”规范L2normL2“;显然,频谱规范不是所有考虑的各方的默认规范!:)正如@amoeba所评论的那样,不同的社区可能具有不同的术语约定。不用说,我认为Gentle的书是关于以下方面的宝贵资源: Lin。Statistics中的代数应用程序,我会提示您进一步研究!


1
好答案!帮了我很多!A2=maxx2=1Ax2
Haitao Du

我很高兴可以提供帮助。请注意其他提供的答案。他们很有见识。
usεr11852恢复单胞菌说,

8

答案的一部分可能与数值计算有关。

当您 以有限的精度求解系统

Ax=b
时,您不会得到该问题的确切答案。你会得到一个近似x~由于有限算术的限制,让Ax~b,在一些合适的感觉。那么,您的解决方案代表什么呢?嗯,这很可能是一个确切的一些其他系统,如解决方案
A~x~=b~
所以对于x~具有实用性,波浪线,系统必须接近原来的系统:
A~A,b~b
。如果你的算法解决了原系统满足该财产的,则称作落后稳定。现在,有多大的差异的准确分析A~Ab~b是最终导致错误的边界被表示为A~Ab~b。对于某些分析,l1范数(最大列总和)是最容易实现的标准,对于其他分析,l范数(最大行总和)是最容易推论的(例如,对于线性系统情况下的解的组成部分),而对于其他情况,l2谱范数是最合适的(由传统l2矢量范数,如另一个答案中所指出)。对于对称psd矩阵求逆中的统计计算工作而言,进行Cholesky分解(琐事:第一个声音是希腊字母“ chi”中的[x],而不是“ chase”中的[tʃ]),这是最方便的跟踪误差范围是l2范数...尽管Frobenius范数也会在某些结果(例如分区矩阵求逆)中弹出。


3
+1,特别是琐事。我一直以为它以[k]开头。我现在看了一下,显然André-LouisCholesky是波兰人(尽管出生于法国)。那不是像肖邦那样的“ sh”声音吗?但是,在俄语中,霍列斯基的确确实是传统上写成Холецкий。
变形虫说恢复莫妮卡

3
我把它收回。原来肖邦的父亲是法语,因此姓氏的法语发音。但是霍尔斯基的父母是波兰人,在波兰语中应该用[ ]来发音。干杯。χ
变形虫说恢复莫妮卡

是的...我以为是波兰语名字的俄语,在第一次看到俄语拼写十年左右之后,才第一次看到俄语用拉丁字母拼写,我想知道如何发音;)
StasK,2016年

2
谁在乎如何发音,只要使用该死的东西。
马克·L·斯通

7

这个问题的答案取决于你所在的领域。如果你是一个数学家,那么,在有限的尺寸全部规范是等价的:对于任何两个规范b存在常数c ^ 1c ^ 2,它仅取决于尺寸(和a,b),使得:ab C1,C2

C1xbxaC2xb.

这意味着有限维的规范是很无聊的,它们之间的本质上没有区别,只是它们的缩放方式不同。这通常意味着您可以针对要解决的问题选择最方便的规范。通常,您想回答诸如“此运算符或过程是否有界”或“此数字过程是否收敛”之类的问题。有了边界,您通常只关心某些事物是有限的。通过收敛,可以通过牺牲收敛速度来选择使用更方便的规范。

例如,在数值线性代数中,有时会首选Frobenius范数,因为它比欧几里德范数更容易计算,而且自然会与更广泛的Hilbert Schmidt算子连接。此外,像欧几里得范数,这是submultiplictive:,不像说,最大的规范,所以它可以让你轻松地谈论任何空间你在工作操作乘法人们往往会很喜欢这两个pABFAFBFp=2 范数和Frobenius范数,因为它们与矩阵的特征值和奇异值都具有自然关系,并且具有可乘性。

出于实际目的,规范之间的差异变得更加明显,因为我们生活在一个充满维度的世界中,通常,一定数量的大小以及度量方式非常重要。上面的常数并不完全紧密,因此,将某个范数x ax b进行多少比较重要。C1,C2xaxb


7
不幸的是,规范中的“对等”一词可以并且已经被误解,包括计算机科学博士学位的人。我需要使用2范数实现一定的平凡计算,而这个家伙使用1范数产生了一个解决方案,因为这要容易得多,毕竟他听说所有范数都是等效的。好吧,偏离了(高达)对我来说还不够。在该应用程序,我只买得起的1倍到离开n
马克·劳伦斯斯通

@ MarkL.Stone:是的,因此在理论(实际上是拓扑)和实践之间是有区别的。
Alex R.

@ MarkL.Stone:+1显然他没有对代码进行单元测试。:)
很棒的

@usεr11852哈哈,不,比这还糟。他将代码“单元测试”为根据1-norm正确实现了计算。由于使用了错误的规范,因此未通过系统级检查。
马克·L·斯通

@ MarkL.Stone:哦...真可惜!话虽如此,我不知道您是在使用特定的硬件配置还是其他东西,而是从头开始编写规范计算是不行的。有一些数学图书馆应该完全避免此类问题。
usεr11852恢复单胞菌说,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.