작은 규범 조정의 고유 벡터


10

천천히 변화하는 데이터 세트가 있으며 공분산 행렬의 고유 벡터 / 고유 값을 추적해야합니다.

나는을 사용 scipy.linalg.eigh했지만 너무 비싸서 이미 약간 잘못된 분해가 있다는 사실을 사용하지 않습니다.

누구 든지이 문제를 해결하는 더 나은 접근법을 제안 할 수 있습니까?


1
데이터가 얼마나 큽니까? 완전한 고유 시스템이 필요합니까, 아니면 가장 큰 고유 값만 필요합니까? 그것들이 정확히 필요합니까, 아니면 근사치입니까?
cfh

완전한 고유 시스템이 필요합니다. 공분산 행렬의 역의 회귀 해석을 사용하여 작은 규범 업데이트 후 행렬의 역을 업데이트하는 알고리즘을 찾았으므로 고유 벡터에 대해 비슷한 것이 있어야한다고 가정했습니다.
Yaroslav Bulatov

완전한 고유 분해로 무엇을합니까? 그것을 거치지 않는 더 좋은 지름길이있을 수 있습니다 ... 그리고 나는 cfh의 질문을 반복합니다 : "얼마나 큰"?
Federico Poloni

8k 기능과 수백만 개의 데이터 포인트가 있으므로 공분산은 근사치입니다. 이것은 알고리즘 을 구현 하는 것입니다. 그라디언트 업데이트는 특정 공분산 행렬의 고유 값에 따라 달라지며,이 공분산 행렬은 각 단계에서 변경됩니다
Yaroslav Bulatov

답변:


5

순진한 접근 방식은 행렬 의 고유 값 솔루션 을 행렬 에 대한 반복 고유 솔버의 초기 추측으로 사용하는 것 입니다. 전체 스펙트럼이 필요한 경우 QR을 사용하거나 그렇지 않으면 전원 방법을 사용할 수 있습니다. 그러나, 행렬의 고유 값이 특히 인접한 행렬에 반드시 근접 할 필요는 없기 때문에 (1) 특히 조건이 좋지 않은 경우 (2) 완전히 강력한 접근 방식은 아닙니다 .( t + δ t )()(+δ)

부분 공간 추적 방법이 더 유용합니다 (3) . (4) 에서 발췌 :

극한 (최대 또는 최소) 고유 쌍 (고유 값 및 고유 벡터)의 반복 계산은 1966 년으로 거슬러 올라갑니다 [72]. 1980 년에 Thompson은 표본 공분산 행렬의 가장 작은 고유 값에 해당하는 고유 벡터 추정을위한 LMS 유형 적응 알고리즘을 제안했으며 Pisarenko의 고조파 추정기와 결합 된 각도 / 주파수의 적응 추적 알고리즘을 제공했습니다 [14]. Sarkar et al. [73]은 켤레 기울기 알고리즘을 사용하여 느리게 변화하는 신호의 공분산 행렬의 가장 작은 고유 값에 해당하는 극한 고유 벡터의 변동을 추적했으며 Thompson의 LMS 유형 알고리즘보다 훨씬 빠른 수렴을 입증했습니다. 이 방법은 응용 프로그램이 제한된 단일 극단 값과 고유 벡터를 추적하는 데만 사용되었습니다. 그러나 나중에 고유-소 공간 추적 및 업데이트 방법으로 확장되었습니다. 1990 년에 Comon and Golub [6]은 극단적 인 특이 값과 특이 벡터를 추적하기위한 Lanczos 방법을 제안했는데, 이는 원래 크고 희박한 대칭 고유 문제를 결정하기 위해 설계된 일반적인 방법이다.엑스=케이엑스 [74].

[6] : Comon, P., & Golub, GH (1990). 신호 처리에서 극도의 특이 값과 벡터를 추적합니다. IEEE 처리 중 (pp. 1327–1343).

[14] : 톰슨, PA (1980). 바이어스되지 않은 주파수에 대한 적응 스펙트럼 분석 기술

[72] : Bradbury, WW, & Fletcher, R. (1966). 고유 문제 해결을위한 새로운 반복 방법. 수치 수학, 9 (9), 259–266.

[73] : Sarkar, TK, Dianat, SA, Chen, H. & Brule, JD (1986). 켤레 구배 법에 의한 적응 스펙트럼 추정. 음향, 음성 및 신호 처리에 대한 IEEE 트랜잭션, 34 (2), 272–284.

[74] : Golub, GH, & Van Load, CF (1989). 매트릭스 계산 (2 차 개정판). 볼티모어 : John Hopkins University Press.

또한를 사용하여 해결해야하는 것과 같은 대칭 행렬에 대한 솔루션 scipy.linalg.eigh은 다소 저렴 하다는 점도 언급해야합니다 . 몇 개의 고유 값에만 관심이있는 경우 분석법의 속도가 향상 될 수 있습니다. Arnoldi 방법은 종종 이러한 상황에서 사용됩니다.


1
포인터 덕분에 QR 알고리즘은 좋은 출발점처럼 보입니다
Yaroslav Bulatov

+λ나는

추신 : 4k x 4k 행렬의 linalg.eigh는 약 20 초가 걸립니다 (어떤 이유로 단일 코어 만 사용함). 나는 갱신 당 0.25에 대한 두 번째 필요
야로 슬라브 Bulatov

7

0영형()영형(케이2)케이

다음은 몇 가지 관련 참조 사항입니다.

1 차 섭동에 기초한 데이터 공분산 행렬의 적응 고유 분해 (Champagne, IEEE TSP 42 (10) 1994)

공분산 행렬의 고유 값 분해 재귀 업데이트 (Yu, IEEE TSP, 39 (5) 1991)

높은 차원의 온라인 주성분 분석 : 어떤 알고리즘을 선택해야합니까? (Cardot and Degras)

특이 값 분해 업데이트를위한 안정적이고 빠른 알고리즘 (Gu and Eisenstadt, 1994)


불행히도 나는 작은 순위 업데이트가 없습니다, 나는 전체 순위의 작은 표준 업데이트가 있습니다
Yaroslav Bulatov

@YaroslavBulatov 나는 작은 규범의 전체 순위 업데이트를 처리 할 수있는 효율적인 알고리즘을 알지 못합니다. 이 참조 가장 좋았지 만 매우 유망하지는 않습니다. 물론 고유 값 섭동에 대한 많은 문헌이 있습니다 (다른 답변 참조).
GoHokies
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.