왜 기본 행렬 규범이 Frobenius 규범이 아닌 스펙트럼 규범입니까?


17

벡터 표준의 경우 L2 표준 또는 "유클리드 거리"가 널리 사용되며 직관적 인 정의입니다. 그러나 왜 행렬에 "가장 많이 사용 된"또는 "기본"규범 정의가 스펙트럼 규범 이지만 Frobenius 규범 (벡터의 경우 L2 규범과 유사)이 아닌가?

그것은 반복 알고리즘 / 행렬 파워와 관련이 있습니까 (스펙트럼 반경이 1보다 작 으면 알고리즘이 수렴합니다)?


  1. "가장 많이 사용 된", "기본"과 같은 단어는 항상 논쟁의 여지가 있습니다. 위에서 언급 한 "default"라는 단어는 Matlabfunction 의 기본 반환 유형에서 온 것 norm입니다. 에서는 R행렬의 기본 규범 L1 놈이다. 둘 다 나에게 "자연스럽지 않다"(매트릭스의 경우, 벡터처럼 를 수행하는 것이 더 "자연 스럽습니다" ). (@ usεr11852 및 @whuber의 의견에 감사드립니다. 혼란을 드려 죄송합니다.)∑i,jai,j2

  2. 매트릭스 규범 의 사용법을 확장하면 더 이해하는 데 도움이 될까요?


4
스펙트럼 표준이 가장 널리 사용되는지 확실하지 않습니다. 예를 들어 Frobenius 규범은 NNMF에 사용되며 일반적으로 솔루션을 Pos.Def가 아닌 corr / covariance 행렬에 근사 할 때 사용됩니다. Pos가되도록 정규화됩니다. 방어력 일반적으로 Forbenius 규범은 "요소 별"규범이지만 스펙트럼 규범은 고유 값을 기반으로하기 때문에 좀 더 "보편적"이지만 이것은 의견의 문제입니다. 예를 들어 Gentle의 " Matrix Algebra "에는 문자 그대로 " Frobenius Norm-"Usual "Norm " 이라는 장이 있습니다. 따라서 스펙트럼 규범은 모든 사람 의 기본 규범 이 아닙니다 .
— usεr11852는 Reinstate Monic

2
@ hxd1011 : MATLAB에서는 스펙트럼 규범이 실제로 행렬 규범 이기 때문에이 작업이 수행됩니다 . 매트릭스 규범이 어디 벡터 놈에 의해 유도되기 때문에 유클리드 형 규범 . 행렬에 대한 규범 을 유도하는 것에 대한 catch 는 벡터 규범 에 의해 유도 됩니다 . 나는 이것이 R의 아이디어라고 생각합니다. "default" 명령은 항상 같은 표준을 반환하는 것이 좋습니다. L 2 | | A | | 2 = 최대 | | x | | 2 = 1 | | X | | 2L2L2||A||2=max||x||2=1||Ax||2norm
— usεr11852는 Reinstate Monic

3
나는 기본값이 Euclidian이고 가장 일반적으로 사용되는 것은 Spectral이라는 것에 동의하지 않습니다.
— Aksakal

5
매트릭스 규범이 선호 또는 사용법의 문제를 볼 수 없기 때문에이 질문에 당황합니다. 하나의 특정 규범이 문제와 관련이 있다면, 그 규범이 사용됩니다. 다른 것이 관련이 있으면 사용됩니다. 분명한 문제 나 적용을 염두에 두지 않으면이 질문이 어떻게 대답 할 수 있는지 알 수 없습니다.
— whuber

5
지적 해 주셔서 감사합니다. 질문 의 본문 에는 그러한 모든 정보가 포함되어야합니다. 댓글을 읽는 사람, 특히 댓글이 많은 사람에게 의존하지 마십시오. 또한 필자의 사본에서 "norm {base}"에 대한 도움말 페이지 에는 스펙트럼 표준이 아니라 표준이 기본값으로 R나열되어 있습니다. L1
— whuber

답변:


13

일반적으로 스펙트럼 규범이 가장 널리 사용되는지 확실하지 않습니다. 예를 들어 Frobenius 규범은 음이 아닌 행렬 인수 분해 또는 상관 관계 / 공분산 행렬 정규화 에 대한 솔루션을 근사화하는 데 사용됩니다 . 나는이 질문의 일부가 Frobenius 규범 을 유클리드 행렬 규범 이라고 언급 할 때 일부 사람들이 (나 자신을 포함하여)하는 용어 경범죄에서 비롯된 것이라고 생각한다 . 실제로 행렬 규범 (즉, 스펙트럼 규범)이 벡터 규범을 사용할 때 행렬로 유도되는 규범 이기 때문이 아닙니다 . Frobenius 규범은 인 반면 요소는L 2 | | A | | F = √L2L2 L2| | A| | 2=√||A||F=∑i,jai,j2L2행렬 규범 ( )은 단수 값을 기반으로하므로 "보편적"입니다. (더 용어 행운 α) 매트릭스 규범은 상기 벡터 놈에 의해 유도되기 때문에 유클리드 형 표준은 여기서 . 이는 따라서 유도 된 표준 매트릭스에 대한 그것 때문에 유도 a로 벡터 놈 은 이 경우 벡터 놈.L2| | A| | 2=최대 |||A||2=λmax(ATA))L2L2||A||2=max||x||2=1||Ax||2L2

아마도 MATLAB은 명령을 사용할 때 기본적으로 규범 을 제공하는 것을 목표로합니다 . 결과적으로 유클리드 벡터 표준뿐만 아니라 매트릭스 표준 도 제공합니다 . 스펙트럼 행렬 놈 (보다는 잘못 인용 " 의 Frobenius / 행렬의 유클리드 놈 "). 마지막으로 기본 규범 이 무엇인지에 대해서는 어느 정도 확장 해야한다는 점에 주목할 것입니다 . 예를 들어 JE Gentle의 " 매트릭스 대수-이론, 계산 및 통계 응용 프로그램 "에는 말 그대로 " Frobenius "라는 장 (3.9.2)이 있습니다. 규범-“일반적인”규범L 2L2normL2"; 분명히 스펙트럼 규범은 모든 당사자의 기본 규범이 아닙니다! :) @amoeba의 의견에 따르면, 지역 사회마다 다른 용어 규칙이있을 수 있습니다. 젠틀의 책은 Lin. Algebra 응용 프로그램 통계에서 더 자세히 살펴 보도록하겠습니다.


1
‖A‖2=max‖x‖2=1‖Ax‖2

도와 드리겠습니다. 제공된 다른 답변들도 기록해 두십시오. 그들은 매우 통찰력이 있습니다.
— usεr11852는

8

답의 일부는 숫자 계산과 관련이있을 수 있습니다.

유한 정밀도로 시스템 를 풀면 해당 문제에 대한 정확한 답을 얻지 못합니다 . 유한 산술의 제약으로 인해 근사값 얻습니다. 따라서 적절한 의미로 있습니다. 그렇다면 솔루션이 무엇을 나타내는가? 와 같은 다른 시스템에 대한 정확한 해결책 일 수도 있습니다. 따라서 가 유틸리티를 갖기 위해서는 물결표 시스템이 원래 시스템에 근접해야합니다 : 경우 알고리즘

Ax=b
~ xx~Ax~≈b
A~x~=b~
x~
A~≈A,b~≈b
원래의 시스템을 해결하는 것은 그 특성을 만족 시킨다면, 그것은 역 안정적 이라고 불린다 . 이제 불일치 , 가 얼마나 큰지에 대한 정확한 분석은,. 일부 분석의 경우 l 1 norm (최대 열 합계)이 가장 쉽게 통과 할 수있는 반면 l ∞ norm (최대 행 합계)이 가장 쉽게 통과 할 수 있습니다 (선형 시스템 사례에서 솔루션 구성 요소의 경우) 예를 들어), 그리고 다른 사람들에게는 l 2A~−Ab~−b‖A~−A‖‖b~−b‖l1l∞l2스펙트럼 노름이 가장 적절한 것입니다 ( 또 다른 대답에서 지적한 바와 같이 전통적인 l2 벡터 노름 에 의해 유도됩니다 ). 대칭적인 psd 행렬 역전에서 통계 계산의 작업 말에 대해, Cholesky 분해 (사소한 것 : 첫 번째 소리는 "체이스"에서와 같이 [tʃ]가 아니라 그리스어 문자 "chi"에서와 같이 [x]), 가장 편리한 표준 Frobenius 규범은 예를 들어 분할 된 매트릭스 역전과 같은 일부 결과에서도 나타나지만 오류 범위를 추적하는 것은 l 2 규범입니다.l2


3
+1, 특히 퀴즈의 경우. 나는 항상 [k]로 시작한다고 생각했습니다. 나는 지금 그것을 찾았고, 명백히 André-Louis Cholesky 는 폴란드의 품위 있었다 (프랑스에서 태어났다). 쇼팽처럼 "sh"소리가 아니어야합니까? 그러나 러시아어 Cholesky는 실제로 전통적으로 Холецкий로 작성되었습니다.
— amoeba는

3
다시 가져옵니다. 쇼팽의 아버지는 프랑스어 였으므로 프랑스어의 성 발음이 나왔습니다. 그러나 hole 레 스키의 부모는 폴란드 인이었고 폴란드에서는 [ ] 로 발음해야했다 . 건배. χ
— amoeba는

예. 저는 폴란드 이름을 가진 러시아인으로서 라틴 문자로 철자를보기 전에 10 년 정도의 러시아 철자를 먼저 읽었을 때 그것을 발음하는 방법에 대한 아이디어가있을 것이라고 생각했습니다.)
— StasK

2
발음하는 법을 신경 쓰는 사람은 그냥 사용하십시오.
— Mark L. Stone

7

이에 대한 대답은 당신이하고있는 분야에 따라 당신이 수학자라면, 그럼. 유한 차원의 모든 기준은 동일합니다 : 두 규범에 대한 및 ‖ ⋅ ‖ B , 상수에게 존재 C 1 , C를 다음 과 같은 차원 (및 a, b)에만 의존합니다.‖⋅‖a‖⋅‖b C1,C2

C1‖x‖b≤‖x‖a≤C2‖x‖b.

이것은 유한 치수의 규범이 상당히 지루하다는 것을 의미하며, 크기가 어떻게 조정되는지를 제외하고는 본질적으로 차이가 없습니다. 이것은 일반적으로 해결하려는 문제에 가장 편리한 표준을 선택할 수 있음을 의미합니다 . 일반적으로 "이 연산자 또는 프로 시저가 제한되어 있습니까?"또는 "이 수치 프로세스가 수렴됩니까?"와 같은 질문에 대답하려고합니다. 한계가 있다면, 당신은 보통 무언가가 유한하다는 것을 걱정합니다. 컨버전스를 통해 컨버전스 속도 를 희생함으로써 보다 편리한 표준을 사용할 수 있습니다.

예를 들어, 수치 선형 대수에서 Frobenius 규범은 때로는 유클리드 규범보다 계산하기가 쉽고 더 넓은 종류의 Hilbert Schmidt 연산자 와 자연스럽게 연결되기 때문에 선호 됩니다. 또한, 유클리드 규범처럼, 그것은 submultiplictive입니다 : , 달리 말하자면, 최대 규범, 당신이 쉽게에서 작업하는 어떤 공간 연산자 곱셈에 대해 이야기 할 수 있도록 사람들은 p = 2 를 정말 좋아하는 경향이 있습니다.‖AB‖F≤‖A‖F‖B‖Fp=2 norm과 Frobenius norm은 다중 곱셈과 함께 행렬의 고유 값과 특이 값 모두와 자연스럽게 관련되어 있기 때문입니다.

내용은 실제적인 목적 규범의 차이는 우리가 차원의 세계에 살고 있기 때문에 더 발음이되고 보통 특정 수량이 얼마나 큰 문제, 그리고 그것을 어떻게 측정입니다. 위의 상수 는 정확히 단단하지 않으므로 특정 규범 “ x ” a 가 “ x ” b 와 비교되는 정도가 중요합니다 .C1,C2‖x‖a‖x‖b


7
불행하게도, 규범 에서처럼 "등가"라는 용어는 컴퓨터 과학 박사 학위를 가진 사람들을 포함하여 잘못 해석 될 수 있으며 잘못 해석되어왔다. 나는 2 노름을 사용하여 특정 사소한 계산을 구현해야했고,이 사람은 1 노름을 사용하여 솔루션을 만들었습니다. 글쎄, (최대) √ 의 요인으로 은 나에게 적합하지 않았다. 이 응용 프로그램에서 나는 단지 1의 요소만으로 감당할 여유가 없었습니다.n
— Mark L. Stone

@ MarkL.Stone : 그렇기 때문에 이론적으로 (실제로는 위상 적) 실용적입니다.
— Alex R.

@ MarkL.Stone : +1 분명히 그는 자신의 코드를 단위 테스트하지 않았습니다. :) (멋진 일화! ​​테크니컬 컴퓨팅의 잘못된 통신에 대해 이야기 할 때 확실히 사용할 것입니다!)
— usεr11852는 Reinstate Monic

@ usεr11852 ha ha, 아니, 그것보다 나빠. 그는 1- 노름을 기반으로 계산을 올바르게 구현 한 것처럼 코드를 "단위 테스트"했습니다. 잘못된 표준을 사용했기 때문에 시스템 레벨 검사에 실패했습니다.
— Mark L. Stone

@ MarkL.Stone : 아 ... 아쉽습니다! 당신이 특정 하드웨어 구성이나 다른 것을 사용하고 있는지 모르지만 처음부터 표준 계산을 코딩하는 것으로 시작하는 것은 아닙니다. 그러한 문제를 완전히 피하기 위해 사용해야하는 수학 라이브러리가 있습니다.
— usεr11852는 Reinstate Monic
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.