직교 변환이 가우시안 제거보다 성능이 우수한시기는 언제입니까?


22

우리가 알다시피, 선형 방정식 시스템에 대한 직교 변환 방법 (Givens rotations and Housholder reflections)은 가우시안 제거보다 비싸지 만 이론적으로 시스템의 조건 수를 변경하지 않는다는 점에서 안정성 특성이 우수합니다. 비록 부분적인 피벗으로 가우시안 제거에 의해 파괴되는 매트릭스의 학문적 예 를 알고 있습니다 . 실제로 이런 종류의 행동을 실제로 충족 할 가능성은 거의 없다는 일반적인 의견이 있습니다 ( 이 강의 노트 [pdf] 참조 ).

그렇다면 주제에 대한 답을 어디에서 찾아 볼까요? 병렬 구현? 업데이트 중입니까? ..

답변:


24

정확성

Trefethen과 Schreiber는 훌륭한 논문 인 Gaussian Elimination의 평균 안정성 ( Stage -case Stability of Gaussian Elimination )을 썼습니다 . 다음은 몇 가지 결론입니다.

  1. "열 피벗을 사용하거나 사용하지 않는 QR 인수 분해의 경우 잔차 행렬의 평균 최대 요소는 O(n1/2) 이고 가우시안 제거의 경우 O(n) 입니다. 이 비교는 가우시안 제거가 약간 불안정하지만 불안정성은 낮은 정밀도로 해결 된 매우 큰 행렬 문제에 대해서만 탐지 할 수 있습니다. 대부분의 실제 문제에 대해 가우시안 제거는 평균적으로 매우 안정적입니다. "(Emphasis mine)

  2. "가우시안 소거의 처음 몇 단계 후, 나머지 매트릭스 요소는 시작 방식에 관계없이 대략 정규 분포됩니다."

내가 언급 한 최악의 매트릭스에 대한 토론을 포함하여 여기에서 캡처 할 수없는 훨씬 더 많은 문서가 있으므로 읽을 것을 강력히 권장합니다.

공연

사각형 실제 행렬의 경우, 부분적으로 회동 LU 대략 필요 세대주 기반 QR 대략 요구하는 반면 퍼 4 / 3 N 3 퍼. 따라서 합리적으로 큰 제곱 행렬의 경우 QR 인수 분해는 LU 인수 분해의 약 2 배에 불과합니다.2/3n34/3n3

들면 행렬, m은 N 부분 회동와 LU 필요한 m N 2 - N 3 / 3 대, 플롭 QR의 2 m N 2 - 2 N 3 / 3 (2 회 여전히 것을 LU 인수 분해의). 그러나 , 애플리케이션이 매우 큰 스키니 매트릭스 ( m n ) 를 생산하는 것은 놀랍게도 일반적 이며 Demmel et al. 멋진 종이를 가지고, 병렬 및 연속 QR 인수 분해를 통신 회피m×nmnmn2n3/32mn22n3/3mn(4 절에서) p 프로세서를 사용할 때 메시지 만 보내면 되는 전통적인 알고리즘 과 n log p 메시지 만 있으면되는 똑똑한 알고리즘에 대해 설명합니다 . 비용은 O ( n 3 log p ) 여분의 플롭이 수행되는 것이지만 매우 작은 n의 경우 더 많은 메시지를 전송하는 대기 시간 비용보다 선호되는 경우가 많습니다 (적어도 단일 QR 인수 분해 만 수행해야하는 경우).logppnlogpO(n3logp)n


10

과학적 컴퓨팅에서 자주 발생하는 선형 최소 제곱 문제를 언급 한 사람이 아무도 없습니다 . 가우스 제거를 사용하려면 다음과 같은 정규 방정식을 형성하고 풀어야합니다.

ATAx=ATb,

여기서 는 독립 변수의 관측치에 해당하는 데이터 점의 행렬이고, x 는 찾을 매개 변수의 벡터이며, b 는 종속 변수의 관측치에 해당하는 데이터 점의 벡터입니다.Axb

Jack Poulson이 자주 지적한 것처럼 의 조건 수는 A 의 조건 수의 제곱 이므로 정규 방정식은 비참하게 잘못 조절 될 수 있습니다. 이러한 경우 QR 및 SVD 기반 접근 방식은 느리지 만 훨씬 정확한 결과를 얻을 수 있습니다.ATAA


2
당신이 불필요한 고려한다면 Upvoted하지만, QR 실제로 LU로 파에 있어야 형성하는 데 필요한 작업을 H (QR만을 필요로 2 / 3 N 3 개 LU보다 퍼). SVD 접근법은 여전히 ​​느려 야한다 (비용은 대략 6 n 3 이라고 생각할 수있다 ). n3AHA2/3n36n3
Jack Poulson

1
직교 변환을 사용하여 보장되는 안정성 외에도 SVD의 가장 큰 장점은 가장 큰 특이 값과 가장 작은 특이 값의 비율이 정확히 (2-norm) 조건 번호이므로 분해가 자체 조건 확인을 제공한다는 것입니다. 다른 분해의 경우 조건 추정기 (예 : Hager-Higham)를 사용하는 것이 분해에 비해 비싸지는 않지만 다소 "고착"됩니다.
JM

1
@JackPoulson 호기심에서 SVD 플롭 카운트에 대한 참조가 있습니까? Golub & Van Loan (p. 254 3 판)에서 간략하게 살펴보면 SVD를 최소 제곱 문제를 해결하는 데 더 높은 것으로 보이지만 실수 할 수 있습니다. 미리 감사드립니다.
OscarB

1
@OscarB : 전체 SVD를 형성하는 것보다 낮은 헤드 상단에서 매우 거친 숫자였습니다 (역변환 비용을 피할 수 있기 때문에). 일이 bidiagonal 형태로 환원에 필요 (예를 들어, = F B G H ), 작업의 일부 량이라고 C를 상기 bidiagonal SVD에 필요한 ( B = U Σ V H )하고 X : = ( G ( V ( I N V ( Σ ) ( U H (8/3n3A=FBGHCB=UΣVH , O ( n 2 ) 작업이 필요합니다. 따라서, C 가얼마나 큰가는 모두 문제가됩니다. 만약 MRRR이 여기서 작동한다면 그것은 O ( n 2 )가 될 것입니다. x:=(G(V(inv(Σ)(UH(FHb)))))O(n2)CO(n2)
Jack Poulson

1
@JM 그러나 최소 제곱 문제의 조건 번호는 "클래식"조건 번호 σ 1 이 아닙니다. 매트릭스; 더 복잡한 수량입니다. σ1σn
Federico Poloni

3

성능을 어떻게 측정합니까? 속도? 정확성? 안정? Matlab에서의 빠른 테스트는 다음을 제공합니다.

>> N = 100;
>> A = randn(N); b = randn(N,1);
>> tic, for k=1:10000, [L,U,p] = lu(A,'vector'); x = U\(L\b(p)); end; norm(A*x-b), toc
ans =
   1.4303e-13
Elapsed time is 2.232487 seconds.
>> tic, for k=1:10000, [Q,R] = qr(A); x = R\(Q'*b); end; norm(A*x-b), toc             
ans =
   5.0311e-14
Elapsed time is 7.563242 seconds.

따라서 LU 분해를 사용하여 단일 시스템을 해결하는 것은 소수점 이하 자릿수 (이 예제!)의 비용으로 QR 분해를 사용하는 것보다 약 3 배 빠릅니다.


당신이 제안한 모든 장점은 환영합니다.
faleichik

3

인용 한 기사는 수치 적으로 불안정하더라도 랜덤 매트릭스에서는 잘 작동하는 경향이 있으며, 생각할 수있는 대부분의 매트릭스는 랜덤 매트릭스와 같으므로 괜찮습니다. 이 같은 진술은 많은 수치 적으로 불안정한 방법에 대해 말할 수 있습니다.

모든 행렬의 공간을 고려하십시오. 이 방법은 거의 모든 곳에서 잘 작동합니다. 즉, 생성 할 수있는 모든 행렬의 99.999 ... %는 불안정한 방법에 아무런 문제가 없습니다. GE와 다른 사람들이 어려움을 겪을 매트릭스의 아주 작은 부분 만이 있습니다.

연구자들이 걱정하는 문제는 그 작은 부분에있는 경향이 있습니다.

우리는 행렬을 무작위로 구성하지 않습니다. 우리는 매우 특별한 비 랜덤 시스템에 해당하는 매우 특별한 속성을 가진 행렬을 구성합니다. 이 행렬은 종종 상태가 좋지 않습니다.

기하학적으로 모든 행렬의 선형 공간을 고려할 수 있습니다. 이 공간을 통해 단일 행렬 컷의 볼륨 / 측정 부분 공간이 없습니다. 우리가 구성하는 많은 문제는이 부분 공간 주위에 모여 있습니다. 그들은 무작위로 배포되지 않습니다.

예를 들어 열 방정식 또는 분산을 고려하십시오. 이러한 시스템은 시스템에서 정보를 제거하는 경향이 있으며 (모든 초기 상태는 단일 최종 상태로 중력을 가함) 이러한 방정식을 설명하는 행렬은 엄청나게 특이합니다. 이 프로세스는 임의의 상황에서는 거의 발생하지 않지만 물리적 시스템에서는 어디에나 존재합니다.


2
선형 시스템의 초기 상태가 좋지 않은 경우 어떤 방법을 사용하든 LU 및 QR 분해로 인해 결과가 정확하지 않습니다. QR은 가우시안 제거 프로세스가 좋은 매트릭스를 손상시키는 경우에만 이길 수 있습니다. 주요 문제는 그러한 행동의 실제 사례는 알려져 있지 않다는 것입니다.
faleichik

대부분의 과학적 응용에서, 우리는 일반적으로 희소, 대칭, 양의 한정 및 / 또는 대각선으로 지배적 인 행렬을 얻습니다. 예외는 거의 없지만, 매트릭스에는 기존 가우스 제거에 대한 특정 기술을 활용할 수있는 구조가 있습니다.
Paul

@Paul : 반면, 밀도가 높은 가우시안 제거는 대부분의 시간이 희소 비대칭 행렬에 대한 다중 정면 방법에 사용됩니다.
잭 폴슨

6
@Paul "대부분의 응용 프로그램에서 SPD / 대각 적 지배 행렬을 생성"하는 것은 사실이 아닙니다. 예, 일반적으로 어떤 종류의 악용 가능한 구조가 있지만 비대칭적이고 무한한 문제는 매우 일반적입니다.
Jed Brown

4
"50 년간의 컴퓨팅에서 폭발적인 불안정성을 유발하는 매트릭스 문제는 자연 환경에서 발생하지 않는 것으로 알려져 있습니다." - LN Trefethen 및 D. 분석 팀은 그들은 그들의 책에 흥미있는 확률 분석을 제공합니다.
JM
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.