2014-06-18 1 views
2

PCA는 SVD 및 EIG를 사용하여 계산할 수 있지만 SVD는 더 안정적이라고 간주됩니다 (성숙한 기계 학습 프로젝트에서는 더 자주 사용되는 것 같습니다).SVD 대 EIG를 사용한 PCA 계산

그래서 메모리 사용 및 성능 측면에서이 두 가지 방법을 비교해야하며 왜 그 중 하나가 더 안정적인지 증명해야합니다.

여기 QR 방법과 자코비 회전 방법에 관한 SVD 계산 방법에 대해서는 나와 있지만 그 속성에 대해서는 알지 못합니다.

답변

3

나는 당신에게 답을 갖고 있지는 않지만, 이것에 대해 조사하고 싶다면 슈어 분해와 SVD (예를 들어, http://www.ijcaonline.org/icvci/number14/icvci1529.pdf)의 비교를 요구한다. Schur 분해는 대부분의 사람들이 Eigenvalues를 계산하는 방법입니다.

필자는 일반적으로 고유 값이 항상 실수 인 반면 고유 값은 복소수가 될 수 있다는 사실 이외의 다른 이유가 없다면 일반적으로 단일 값 분해를 사용하는 것을 선호합니다. 물론 SVD에는 계산상의 복잡성이 더 높습니다.

SVD가 더 정확하다고 들었지만 그 이유는 알 수 없습니다. 사람들이 SVD가 더 정확하다고 말하면 svd (A)가 eig (A^T * A)보다 더 정확한 특이 값을 산출한다는 것을 의미합니다. 이는 분명 사실입니다. A^T는 행렬 A의 전치를 나타냅니다.