샘플 차원이 벡터 공간 차원보다 작 으면 특이 행렬이 발생할 수 있습니다. 보다 적은 샘플이있는 경우 ( 가 차원 인 경우)이 상황은 반드시 발생합니다. 샘플은 최대 차원 초평면에 걸쳐 있습니다. 이러한 작은 표본이 주어지면 직교 공간의 분산을 계산할 수 없습니다.d k + 1 d디+ 1디k + 1디
이것이 리터럴 PCA를 사용 하지 않는 대신 단일 값 분해 를 수행 하는 것이 일반적인 이유 인데, 이는 행렬 의 의사 역수 를 계산하는 데 사용할 수 있습니다 . 행렬이 뒤집을 수없는 경우, 의사 역수가 그 역수가됩니다.
그러나 돌이킬 수없는 행렬을 보는 경우 벡터가 직교 공간의 분산을 알지 못하기 때문에 벡터가 클러스터 평면에있는 초평면 바깥에 있으면 클러스터와의 거리가 의미가 없습니다. SVD는 의사 역수를 계산할 수 있지만 "분산"은 여전히 데이터에 의해 결정되지 않습니다.
이 경우 아마도 전체 차원 축소를 먼저 수행했을 것입니다. 표본 크기를 늘리면 실제로 중복되지 않는 치수가있는 경우에만 도움이됩니다. 분포에서 분포하는 표본 수에 관계없이 행렬은 항상 비가 역적이며 편차를 판단 할 수 없습니다 표준 편차 (0)에 대한x − y와이= xx - y
또한 공분산 행렬을 계산하는 방법에 따라 치명적인 취소로 인해 수치 문제가 발생할 수 있습니다. 가장 간단한 해결 방법은 항상 데이터를 먼저 중심에두고 평균을 0으로 만드는 것입니다.