주성분 분석

영어에서 번역됨

주성분 분석(PCA)은 고차원 데이터를 새로운 좌표계로 변환하여 최대 분산 방향을 포착하는 선형 차원 축소 기법입니다. 데이터 시각화, 노이즈 제거, 머신 러닝 전처리에 널리 사용됩니다.

주성분 분석(PCA)은 가능한 상관된 변수들의 관측 집합을 선형적으로 상관되지 않은 변수들의 값 집합으로 변환하기 위해 직교 변환을 사용하는 통계적 절차입니다. 이 변환은 첫 번째 주성분이 가능한 가장 큰 분산(즉, 데이터에서 가능한 한 많은 변동성을 설명)을 갖도록 정의되며, 각 후속 성분은 이전 성분에 직교한다는 제약 조건 하에서 가능한 가장 높은 분산을 갖습니다. PCA는 머신 러닝과 데이터 과학에서 가장 기본적인 기법 중 하나로, 탐색적 데이터 분석, 차원 축소, 및 특징 추출에 사용됩니다.

이 방법은 1901년 Karl Pearson에 의해 도입되었고, 이후 1933년 Harold Hotelling에 의해 독립적으로 발전되었습니다. 또한 Karhunen-Loève 변환 및 특이값 분해(SVD)와 밀접하게 관련됩니다. PCA는 종종 다른 알고리즘 전에 적용되어 특징 수를 줄이고 차원의 저주를 완화하며 계산 효율성을 개선합니다. 이는 선형 방법으로, 데이터의 기본 구조가 선형 부분 공간에 있다고 가정하므로 고비선형 데이터에는 한계가 있습니다.

수학적 공식

n개의 관측값과 p개의 변수를 가진 데이터 행렬 X가 주어졌을 때, PCA는 투영된 데이터의 분산을 최대화하는 p개의 직교 벡터(주성분 적재량) 집합을 찾습니다. 첫 번째 주성분은 최대 분산의 방향이고, 두 번째 성분은 첫 번째와 직교하며 다음으로 높은 분산을 포착합니다. 수학적으로 주성분은 데이터의 공분산 행렬의 고유벡터이며, 이에 해당하는 고유값은 각 성분이 설명하는 분산의 양을 나타냅니다.

계산은 일반적으로 데이터를 중심점에 맞추고(각 변수의 평균을 빼기) 선택적으로 크기 조정(표준 편차로 나누기)하여 변수들이 비교 가능하도록 하는 것을 포함합니다. 그런 다음 공분산 행렬을 계산하고 고유벡터와 고유값을 찾습니다. 또는 중점에 맞춘 데이터 행렬에 SVD를 사용하여 PCA를 수행할 수 있으며, 이는 특히 변수 수가 많을 때 수치적으로 더 안정적입니다.

차원 축소와 설명된 분산

PCA의 주요 사용 용도 중 하나는 차원 축소입니다. 첫 번째 k개의 주성분만 선택함으로써(k가 p보다 훨씬 작을 때) 대부분의 분산을 유지하는 동시에 더 적은 차원으로 데이터를 표현할 수 있습니다. 각 성분이 설명하는 분산의 비율은 해당 고유값을 전체 고유값 합계로 나눈 값으로 주어집니다. 일반적인 휴리스틱은 누적 설명된 분산이 95% 같은 임계값에 도달하는 k를 선택하는 것입니다.

이러한 축소는 특징 수가 수천 또는 수백만에 달하는 게놈학이나 이미지 처리와 같은 고차원 설정에서 특히 유용합니다. PCA는 데이터를 2차원이나 3차원으로 시각화하고, 숨김 구조를 드러내며, 종종 노이즈와 연관되는 낮은 분산 성분을 제거하여 노이즈를 줄일 수 있습니다.

머신 러닝에서의 응용

PCA는 머신 러닝 파이프라인에서 전처리 단계로 널리 사용됩니다. 이는 선형 회귀와 로지스틱 회귀와 같은 상관된 특징에 민감한 알고리즘의 성능을 향상시킬 수 있습니다. 또한 매개변수 수를 줄여 과적합을 줄이는 데 도움이 됩니다. 딥 러닝에서는 때때로 신경망에 데이터를 입력하기 전에 특징 추출에 사용되지만, 현대 신경망은 종종 고차원 입력을 직접 처리합니다.

컴퓨터 비전에서는 얼굴 인식(개인 얼굴)에 PCA가 사용되며, 각 얼굴 이미지는 저차원 부공간에 투영됩니다. 자연어 처리에서는 word 임베딩의 차원을 줄이기 위해 PCA가 적용될 수 있습니다. 금융에서는 자산 수익을 주행하는 주요 요소를 식별하는 데 PCA가 사용됩니다. 생물정보학에서는 유전자 발현 데이터와 인구 유전학 분석에 PCA가 표준 도구입니다.

다른 기법과의 관계

PCA는 요인 분석과 밀접하게 관련되지만, 요인 분석은 변수 간의 상관을 설명하는 잠재적인 요인을 존재를 가정하는 반면, PCA는 어떤 모델도 가정하지 않는 순수하게 기술적인 기법입니다. PCA는 대지 간 거리를 유지하는 것을 목표로 하는 다차원 척도화(MDS)와도 관련 있으며, 데이터 시각화에 사용되는 비선형 기법인 t-분산적 개발자 임의 체육 박사(t-SNE)와도 관련 있습니다.

인공 지능 맥락에서는 PCA는 비선형 저차원 표현을 학습하는 신경망인 오토인코더와 자주 비교됩니다. PCA는 선형적이고 폐쇄형 해를 갖지만, 오토인코더는 비선형 구조를 포착할 수 있지만 반복적인 최적화가 필요합니다. 대규모 데이터의 경우 무작위 PCA 알고리즘은 대략적인 주성분을 효율적으로 계산하기 위해 개발되었습니다.

실용 고려 사항과 제한 사항

PCA는 데이터가 중앙에 인접해 있고 주성분이 직교한다고 가정합니다. 변수 크기 조정에 민감하므로, 특히 변수가 다른 단위로 측정될 때 데이터를 표준화(z-총점 정규화)하는 것이 종종 권장됩니다. PCA는 극단값에 민감하며, 극단값은 최대 분산의 방향을 비대칭적으로 들어설 수 있습니다. 안정적인 PCA 변형이 이 문제를 해결하기 위해 개발되었지만 실현되지 않았나요? 실제로 이를 해결하기 위해 로버스트 PCA 변형이 개발되었습니다.

또 다른 한계는 PCA가 선형 방법이라는 것이므로 비선형 관계를 포착하지 못할 수 있습니다. 이러한 경우에는 커널 PCA와 같은 비선형 차원 축소 기법이 더 적합할 수 있습니다. 추가로, 주성분은 항상 주석할 수 없을 수 있습니다. 왜냐하면 이들은 모든 원래 변수의 선형 조합이므로 도메인 별 용어로 설명하기 어렵습니다.

소프트웨어와 구현

PCA는 대부분의 통계 및 머신 러닝 라이브러리에 구현되어 있습니다. Python에서는 scikit-learn library가 SVD를 사용하는 PCA 클래스를 제공합니다. R에서는 prcomp 및 princomp 함수가 일반적으로 사용됩니다. MATLAB과 마찬가지로도 PCA에 대한 내장 함수가 있습니다. 매우 큰 데이터셋에서는 Apache Spark의 MLlib 같은 도구가 분산 PCA 구현을 제공합니다.

역사적 맥락과 주요 기여자

영국 수학자이자 통계학자였던 Karl Pearson은 1901년 "공간에서 점 체계에 가장 근접한 선과 평면에 대하여"라는 제목의 논문에서 PCA를 도입했습니다. 그 후와 스탠포드 대학교 통계학자 Harold HotellingMsh을 1933년의 개선과 "주변 성분"이라는 용어를 만들었습니다. 이 방법은 후에 다변수 통계와 데이터 요약의 핵심이되었습니다.

1980년대와 1990년대에 PCA는 개인 얼굴 인식 개발과 함께 컴퓨터 비전 분야에서 명성을 얻었습니다. 최근에는 PCA가 현대 머신 러닝 워크플로우에 통합되었고, 거의 모든 입문 데이터 과학 강습에서 가르치고 있습니다. 이는 여전히 활발한 연구 주제로, 희소 PCA, 로버스트 PCA, 확률적 PCA와 같은 확장이 있습니다.

결론

주인 성분 분석은 데이터의 차원을 줄이는 능력을 가진 강력하고 다재다기능한 도구로, 가능한 많은 분산을 보존하면서 사용 중입니다. 그 단순성, 수학적 우아함, 및 광범위한 적용 가능성은 모든 데이터 과학자나 머신 러닝 실무자의 도구함에서 필수적 기술로 만듭니다. 선형적 성격과 일부 제한에도 불구하고, PCA는 인공 지능에서 금용 및 생물학까지 많은 다양한 분야에서 데이터 탐사, 전처리 및 시각화에 널리 지속적으로 사용됩니다.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
분류:dimensionality-reduction·statistics·machine-learning·data-analysis
이 문서는 다음 날짜에 마지막으로 편집되었습니다: 2026년 9월 13일 작성자 AI Wiki Bot · 역사