주성분 분석 기법
1. 개요
1. 개요
주성분 분석은 다변량 데이터의 차원을 축소하고 주요 변동 패턴을 추출하는 통계학적 기법이다. 이 방법은 데이터의 분산을 최대한 보존하면서 서로 상관관계가 있는 많은 변수들을 소수의 새로운 변수, 즉 주성분으로 변환한다. 각 주성분은 원래 변수들의 선형 결합으로 구성되며, 서로 직교하는 특성을 가진다.
주성분 분석은 공분산 행렬 또는 상관 행렬의 고유값 분해를 기반으로 한다. 첫 번째 주성분은 데이터의 분산을 가장 크게 설명하는 방향을 나타내며, 두 번째 주성분은 첫 번째와 직교하는 방향 중에서 남은 분산을 가장 많이 설명하는 방향을 나타낸다. 이 과정은 순차적으로 진행된다. 결과적으로, 고차원의 데이터를 정보 손실을 최소화하면서 저차원 공간에 투영할 수 있게 된다.
이 기법은 1901년 칼 피어슨에 의해 소개되었으며, 이후 해럴드 호텔링에 의해 발전되었다[1]. 초기에는 심리 측정학과 기상학 분야에서 활용되었으나, 현재는 기계 학습, 패턴 인식, 생물정보학, 금융, 이미지 처리 등 다양한 분야에서 널리 사용되는 핵심적인 탐색적 자료 분석 도구가 되었다.
주성분 분석의 주요 목적은 다음과 같이 요약할 수 있다.
2. 수학적 배경 및 원리
2. 수학적 배경 및 원리
주성분 분석의 핵심 수학적 원리는 데이터의 공분산 구조를 분석하여 새로운 좌표축을 찾는 것이다. 이 새로운 축인 주성분은 원본 데이터의 분산을 최대한 보존하는 방향으로 정의된다.
데이터 행렬 \( X \)가 \( n \)개의 샘플과 \( p \)개의 변수를 가질 때, 첫 번째 단계는 공분산 행렬 \( \Sigma \)를 계산하는 것이다. 이 행렬은 변수들 간의 선형 관계를 나타낸다. 주성분 분석은 이 공분산 행렬에 대한 고유값 분해를 수행하여 해를 구한다. 고유값 분해 결과, 고유벡터는 주성분의 방향을, 대응하는 고유값은 그 주성분 축 상의 데이터 분산 크기를 나타낸다. 첫 번째 주성분은 가장 큰 고유값에 해당하는 고유벡터 방향이며, 이는 데이터의 분산을 최대화하는 축이다.
개념 | 수학적 의미 | 주성분 분석에서의 역할 |
|---|---|---|
공분산 행렬 | 변수 간의 선형적 상관 관계를 나타내는 행렬 | 주성분의 방향을 찾기 위한 분석 대상 |
고유벡터 | 행렬을 곱해도 방향이 변하지 않는 벡터 | 주성분 축의 방향을 정의함 |
고유값 | 고유벡터 방향으로의 변환 크기 | 해당 주성분이 설명하는 분산의 양 |
분산 최대화 관점에서 보면, 주성분 분석은 원본 데이터를 새로운 직교 좌표계로 선형 변환하는 과정이다. 이 변환의 목표는 프로젝션된 데이터의 분산을 순차적으로 최대화하는 것이다. 두 번째 주성분은 첫 번째 주성분과 직교하는 조건 하에서 남은 분산을 최대화하는 방향으로 찾아지며, 이 과정이 변수의 개수만큼 반복된다. 결과적으로, 각 주성분은 서로 직교하며, 전체 분산은 모든 고유값의 합과 같다.
2.1. 공분산 행렬과 고유값 분해
2.1. 공분산 행렬과 고유값 분해
주성분 분석의 핵심 수학적 원리는 데이터의 공분산 구조를 분석하는 데 있다. 데이터 행렬의 공분산 행렬을 계산하고, 이를 고유값 분해하여 주성분을 도출하는 과정이 이에 해당한다.
p개의 변수를 가진 n개의 관측치로 구성된 데이터 행렬 X가 있을 때, 먼저 각 변수의 평균을 0으로 조정한다(중심화). 이 조정된 데이터의 공분산 행렬 C는 C = (1/(n-1)) * X^T * X로 계산된다[2]. 이 행렬은 p x p 크기의 대칭 행렬이며, 대각선 요소는 각 변수의 분산을, 비대각선 요소는 변수 쌍 간의 공분산을 나타낸다.
다음 단계는 이 공분산 행렬 C를 고유값 분해하는 것이다. 고유값 분해는 C = V Λ V^T 형태로 표현된다. 여기서 Λ는 고유값 λ₁, λ₂, ..., λ_p를 대각선에 가지는 대각 행렬이다. 고유값은 각 주성분 방향의 분산 크기를 의미하며, 일반적으로 내림차순(λ₁ ≥ λ₂ ≥ ... ≥ λ_p)으로 정렬된다. 행렬 V의 각 열 벡터 v₁, v₂, ..., v_p는 대응하는 고유값의 고유벡터이며, 이들이 바로 찾고자 하는 주성분의 축 방향을 정의한다. 고유벡터들은 서로 직교하며 단위 길이를 가진다.
개념 | 수학적 의미 | 주성분 분석에서의 역할 |
|---|---|---|
공분산 행렬 C | 변수들 간의 선형 관계 구조를 요약한 행렬 | 주성분을 찾기 위한 분석의 출발점 |
고유값 λ_i | 대각 행렬 Λ의 요소 | i번째 주성분이 설명하는 데이터 분산의 양 |
고유벡터 v_i | 행렬 V의 열 벡터 | i번째 주성분의 방향(새로운 좌표축) |
이 분해를 통해 원본 데이터를 새로운 좌표계로 변환할 수 있다. 변환은 Z = X V 공식으로 이루어지며, 결과 행렬 Z의 각 열이 하나의 주성분 점수에 해당한다. 첫 번째 주성분(Z의 첫 번째 열)은 가장 큰 분산(λ₁)을 가지는 방향의 투영이며, 두 번째 주성분은 첫 번째와 직교하면서 남은 분산 중 가장 큰 부분(λ₂)을 설명하는 방향이다. 이 과정은 데이터의 변동성을 최대한 보존하는 새로운 직교 기저를 구성하는 것과 같다.
2.2. 분산 최대화 관점
2.2. 분산 최대화 관점
주성분 분석의 핵심 목표는 원본 데이터의 분산을 최대한 보존하는 새로운 좌표축, 즉 주성분을 찾는 것이다. 이 관점에서는 첫 번째 주성분이 데이터의 분산을 가장 크게 설명하는 방향으로 정의된다. 수학적으로 이는 원본 데이터의 공분산 행렬을 사용하여 표현되며, 각 주성분은 해당 공분산 행렬의 고유벡터에 해당한다. 고유벡터의 방향이 데이터가 가장 크게 퍼져 있는 방향이며, 해당 고유값은 그 방향의 분산 크기를 나타낸다.
첫 번째 주성분을 찾은 후, 두 번째 주성분은 첫 번째 주성분과 직교하는 제약 조건 하에서 남은 분산을 최대화하는 방향으로 선택된다. 이 과정은 순차적으로 반복되어 원본 변수의 개수만큼의 주성분이 생성된다. 결과적으로, 각 주성분은 서로 직교하며, 전체 원본 분산을 설명하는 비율은 해당 고유값의 크기에 비례한다.
주성분 순서 | 설명 | 수학적 조건 |
|---|---|---|
제1 주성분 | 데이터 분산을 최대화하는 단위 벡터 방향 | \(\mathbf{w}_1 = \operatorname{arg\,max}\{\mathbf{w}^T \mathbf{\Sigma} \mathbf{w} \mid \ |
제2 주성분 | 제1 주성분과 직교하며 남은 분산을 최대화하는 방향 | \(\mathbf{w}_2 = \operatorname{arg\,max}\{\mathbf{w}^T \mathbf{\Sigma} \mathbf{w} \mid \ |
제k 주성분 | 이전 모든 (k-1)개 주성분과 직교하며 남은 분산을 최대화 | \(\mathbf{w}_k = \operatorname{arg\,max}\{\mathbf{w}^T \mathbf{\Sigma} \mathbf{w} \mid \ |
이러한 분산 최대화 관점은 주성분 분석을 최적화 문제로 해석할 수 있게 한다. 최종적으로 선택된 상위 몇 개의 주성분은 원본 데이터의 대부분의 변동성을 적은 수의 새로운 변수로 요약하여 나타낸다. 이는 고차원 데이터에서 차원의 저주를 완화하고 데이터의 본질적인 구조를 파악하는 데 기여한다.
3. 주성분 분석 수행 단계
3. 주성분 분석 수행 단계
주성분 분석 수행의 첫 단계는 데이터 표준화이다. 원본 데이터의 각 변수는 서로 다른 척도와 단위를 가질 수 있으며, 이는 분산에 큰 영향을 미친다. 분산이 큰 변수가 주성분의 방향을 지배하는 것을 방지하기 위해, 각 변수에서 평균을 빼고 표준편차로 나누어 평균이 0이고 분산이 1이 되도록 조정한다. 이 과정은 모든 변수가 동등한 가중치로 분석에 기여하도록 보장한다.
표준화된 데이터 행렬에 대해 공분산 행렬을 계산한 후, 고유값 분해를 수행하여 주성분을 추출한다. 공분산 행렬의 고유벡터는 새로운 좌표축인 주성분의 방향을 나타내며, 대응하는 고유값은 각 주성분이 설명하는 데이터 분산의 양을 의미한다. 고유값이 큰 순서대로 고유벡터를 정렬하면, 첫 번째 주성분이 가장 큰 분산을 설명하고, 두 번째 주성분은 첫 번째와 직교하는 조건 하에 나머지 분산 중 가장 큰 부분을 설명하는 방식으로 진행된다.
추출된 주성분 중 유의미한 개수를 선택하는 것이 다음 단계이다. 일반적으로 누적 설명 분산 비율을 기준으로 결정한다. 각 주성분의 설명 분산 비율과 그 누적값은 다음 표와 같이 정리할 수 있다.
주성분 | 고유값 | 설명 분산 비율 | 누적 설명 분산 비율 |
|---|---|---|---|
PC1 | λ₁ | λ₁/Σλ | λ₁/Σλ |
PC2 | λ₂ | λ₂/Σλ | (λ₁+λ₂)/Σλ |
... | ... | ... | ... |
예를 들어, 처음 k개의 주성분이 전체 분산의 80~95%를 설명한다면, 나머지 주성분은 버리고 k차원으로 차원 축소를 수행한다. 다른 결정 방법으로는 스크리 그림을 보고 고유값이 급격히 감소하는 지점의 이전 성분만 선택하는 방법이 있다.
최종적으로 선택된 k개의 주성분 방향(고유벡터)으로 표준화된 원본 데이터를 선형 변환한다. 이 변환된 새로운 좌표계상의 값이 바로 주성분 점수이며, 이 축소된 k차원 데이터를 이후 분석에 활용한다.
3.1. 데이터 표준화
3.1. 데이터 표준화
데이터 표준화는 주성분 분석을 수행하기 전에 거치는 필수적인 전처리 단계이다. 이 과정은 각 변수(특징)의 척도 차이로 인해 발생할 수 있는 분석 결과의 왜곡을 방지하는 데 목적이 있다.
표준화는 일반적으로 각 변수에서 그 변수의 평균을 빼고, 표준편차로 나누는 Z-점수 정규화를 의미한다. 이렇게 처리하면 모든 변수의 평균은 0이 되고, 표준편차(및 분산)는 1이 된다. 변수 간 척도가 다를 때 표준화를 생략하면, 절대적인 값의 크기가 큰 변수가 분산을 지나치게 많이 설명하게 되어 주성분이 왜곡될 수 있다. 예를 들어, '연간 소득'(단위: 만원)과 '학점'(범위: 0~4.5)이라는 두 변수가 있을 때, 표준화 없이는 학점의 영향이 소득에 비해 거의 무시될 수 있다.
표준화의 필요성은 데이터의 특성에 따라 달라진다. 모든 변수가 동일한 단위(예: 픽셀 강도)를 가지거나 척도가 유사한 경우에는 생략할 수도 있다. 그러나 일반적으로는 표준화를 적용하는 것이 안전한 관행으로 여겨진다. 일부 경우에는 평균 중심화(평균을 0으로 조정)만 수행하거나, 최소-최대 정규화를 사용하기도 하지만, 주성분 분석의 수학적 기반인 공분산 행렬과 고유값 계산에는 Z-점수 표준화가 가장 일반적으로 사용된다.
3.2. 주성분 추출 및 선택
3.2. 주성분 추출 및 선택
주성분 추출은 공분산 행렬 또는 상관계수 행렬의 고유값 분해를 통해 이루어진다. 이 과정에서 계산된 고유벡터는 각 주성분의 방향을 정의하며, 대응되는 고유값은 그 주성분이 설명하는 데이터 분산의 양을 나타낸다. 일반적으로 고유값이 큰 순서대로 주성분을 정렬하며, 첫 번째 주성분이 가장 큰 분산을 설명한다.
주성분 선택은 분석 목표에 따라 결정된다. 가장 일반적인 방법은 설명된 분산의 누적 비율을 기준으로 하는 것이다. 분석자는 보통 70%에서 95% 사이의 누적 설명 분산을 목표로 주성분 개수를 선택한다. 또 다른 방법은 스크리 그림을 사용하여 고유값의 감소 추세가 완만해지는 지점, 즉 '팔꿈치' 지점을 찾는 것이다.
선택 기준 | 설명 | 장점 |
|---|---|---|
누적 설명 분산 비율 | 미리 설정한 임계값(예: 80%, 95%)을 달성하는 데 필요한 최소 개수의 주성분을 선택한다. | 해석이 직관적이며, 보존할 정보량을 명확히 통제할 수 있다. |
스크리 그림 | 고유값을 크기순으로 그래프로 그려 기울기가 급격히 줄어드는 지점(팔꿈치) 이전의 주성분을 선택한다. | 통계적 경험칙에 기반하며, 시각적으로 판단하기 쉽다. |
카이저 기준 | 고유값이 1 이상인 주성분만을 선택한다. 이 기준은 표준화된 데이터(평균 0, 분산 1)에 적용할 때 의미가 있다. | 구현이 간단하고 명확한 절단점을 제공한다. |
선택된 k개의 주성분으로 구성된 행렬을 사용하여 원본 데이터를 변환하면, n차원의 데이터는 k차원의 새로운 특징 공간으로 투영된다. 이 변환된 데이터는 원래 변수들의 선형 결합인 주성분 점수이다. 선택 과정은 정보 손실과 모델 복잡도 사이의 절충을 수반한다. 너무 적은 주성분을 선택하면 유용한 정보가 손실될 수 있고, 너무 많은 주성분을 선택하면 차원 축소의 효과가 감소한다.
4. 주성분 분석의 주요 응용 분야
4. 주성분 분석의 주요 응용 분야
주성분 분석은 차원 축소를 통한 데이터 압축, 다변량 데이터의 시각화, 그리고 데이터에서의 노이즈 제거 등 다양한 분야에서 핵심적인 도구로 활용된다.
차원 축소는 주성분 분석의 가장 기본적인 응용이다. 수백 또는 수천 개의 변수를 가진 고차원 데이터에서, 변수들 간의 상관관계를 분석하여 정보의 대부분을 보존하는 소수의 주성분으로 데이터를 변환한다. 이는 기계 학습 모델의 계산 비용을 줄이고 과적합 위험을 낮추는 데 기여한다. 또한, 축소된 차원의 데이터는 저장 및 전송 효율성을 높인다.
시각화 목적으로는 주로 첫 번째와 두 번째 주성분을 사용한다. 이 두 성분이 데이터 전체 분산의 가장 큰 부분을 설명하기 때문에, 2차원 산점도로 표현하면 고차원 데이터의 전체적인 구조와 패턴, 군집을 직관적으로 관찰할 수 있다. 이는 탐색적 자료 분석 단계에서 데이터에 대한 초기 이해를 얻는 데 필수적이다.
노이즈 제거 응용은 주성분 분석이 데이터의 분산이 큰 방향(신호)과 작은 방향(노이즈)을 구분한다는 원리에 기반한다. 분산이 매우 작은 마지막 몇 개의 주성분은 대체로 측정 오차나 무작위 변동을 담고 있을 가능성이 높다. 따라서 이러한 성분들을 제거한 후 원래의 변수 공간으로 데이터를 재구성하면, 상대적으로 신호 성분이 강화된 데이터를 얻을 수 있다. 이 기법은 이미지 처리나 신호 처리 분야에서 널리 사용된다.
응용 분야 | 주요 목적 | 활용 예시 |
|---|---|---|
차원 축소 | 데이터 압축, 계산 효율성 향상, 과적합 방지 | 유전자 발현 데이터 분석, 문서-단어 행렬 처리 |
시각화 | 고차원 데이터의 2/3차원 투영 | 고객 세분화 결과 도식화, 다변량 품질 데이터 탐색 |
노이즈 제거 | 신호 대 잡음비 개선 | 얼굴 인식에서의 이미지 전처리, 금융 시계열 데이터 스무딩 |
4.1. 차원 축소
4.1. 차원 축소
주성분 분석의 가장 기본적이고 널리 알려진 응용은 차원 축소이다. 고차원 데이터는 계산 비용이 크고 차원의 저주 문제를 야기할 수 있으며, 많은 기계 학습 알고리즘의 성능을 저하시킨다. 주성분 분석은 원본 데이터의 분산을 최대한 보존하면서 변수의 수를 줄이는 선형 변환을 제공한다. 이는 데이터의 본질적인 구조를 간결하게 표현하는 데 목적이 있다.
차원 축소 과정은 선택한 주성분의 개수 k(k < p, p는 원본 변수 개수)에 따라 결정된다. 예를 들어, 처음 k개의 주성분으로 구성된 새로운 좌표계에 원본 데이터를 투영하면, 데이터는 k개의 새로운 변수(주성분 점수)로 표현된다. 이 k차원 공간은 원본 p차원 공간에서 분산이 가장 큰 방향으로 펼쳐진 부분 공간에 해당한다. 결과적으로 데이터셋의 크기는 n × p에서 n × k로 줄어들며, 상당한 저장 공간과 계산 자원을 절약할 수 있다.
축소된 데이터는 이후 분석의 입력으로 사용된다. 회귀 분석이나 분류 모델을 구축할 때, 고차원의 원본 변수 대신 주요 주성분을 예측 변수로 사용하면 모델의 복잡도를 낮추고 과적합 위험을 줄일 수 있다. 또한, 상관관계가 높은 변수들로 인한 다중공선성 문제를 근본적으로 해결한다. 데이터 압축 측면에서도 유용하여, 정보 손실을 최소화하면서 대용량 데이터를 효율적으로 전송하거나 저장하는 데 활용된다.
응용 분야 | 설명 | 기대 효과 |
|---|---|---|
특성 추출 | 원본 변수를 주성분이라는 새로운 독립적인 특성 집합으로 변환 | 모델 복잡도 감소, 계산 효율성 향상 |
전처리 단계 | 기계 학습 알고리즘 적용 전 차원을 축소 | 과적합 방지, 다중공선성 제거 |
데이터 압축 | 주요 정보(분산)를 보존하며 데이터 크기 감소 | 저장 공간 및 대역폭 절약 |
차원 축소 시 고려해야 할 핵심은 정보 손실의 정도이다. 얼마나 많은 분산을 유지할지, 즉 k값을 어떻게 선택할지는 분석 목적과 허용 가능한 손실 수준에 따라 달라진다. 일반적으로 누적 설명 분산 비율이 70~90%에 도달하는 지점의 주성분 개수를 선택하는 것이 관례이다.
4.2. 시각화
4.2. 시각화
주성분 분석은 고차원 데이터를 저차원 공간에 투영하여 직관적인 시각화를 가능하게 하는 강력한 도구이다. 일반적으로 2차원 또는 3차원 플롯은 인간이 인지하고 패턴을 발견하기에 가장 적합한 형태이다. 주성분 분석을 통해 추출된 첫 번째 주성분과 두 번째 주성분은 데이터의 분산을 가장 많이 보존하는 새로운 축이므로, 이들 축으로 데이터를 투영한 산점도를 그리면 고차원 데이터의 구조를 효과적으로 살펴볼 수 있다.
이러한 시각화는 데이터의 군집 구조, 이상치, 또는 변수 간의 관계를 탐색하는 데 널리 활용된다. 예를 들어, 여러 개의 특성을 가진 샘플 데이터를 2차원 산점도로 표현하면, 서로 가까이 모여 있는 데이터 포인트들은 유사한 특성을 가진 군집을 형성할 가능성이 높다. 또한, 다른 데이터 포인트들과 멀리 떨어진 점은 이상치로 의심해 볼 수 있다. 시각화는 복잡한 다변량 데이터에서 숨겨진 인사이트를 발견하는 첫 번째 단계로서 중요한 역할을 한다.
시각화 유형 | 주요 목적 | 활용 예시 |
|---|---|---|
2D 산점도 | 군집 구조 및 이상치 탐색 | 고객 세분화, 생물학적 표본 분류 |
3D 산점도 | 더 복잡한 공간 구조 확인 | 의료 영상 데이터 분석, 재질 특성 분석 |
바이플롯 | 주성분과 원본 변수의 관계 동시 확인 | 변수 간 상관 관계 해석, 주성분의 의미 부여 |
바이플롯은 데이터 포인트의 투영과 함께 원본 변수의 방향을 화살표로 표시하여, 각 주성분이 어떤 원본 변수들의 조합으로 이루어져 있는지 직관적으로 이해하도록 돕는다. 이는 주성분의 해석 가능성을 크게 높인다. 그러나 시각화는 정보 손실을 동반한다는 점을 명심해야 한다. 처음 두세 개의 주성분만으로는 설명되지 않는 분산이 존재할 수 있으며, 이는 시각화된 플롯에 나타나지 않는 중요한 패턴이 있을 수 있음을 의미한다.
4.3. 노이즈 제거
4.3. 노이즈 제거
주성분 분석은 데이터에서 가장 큰 분산을 가지는 방향, 즉 주요 패턴을 추출하는 동시에 상대적으로 작은 분산을 가지는 방향을 노이즈로 간주하여 제거하는 데 활용된다. 이는 고유값이 큰 몇 개의 주요 주성분이 신호를, 고유값이 매우 작은 나머지 주성분이 무작위 변동이나 측정 오차를 담당한다는 가정에 기반한다. 따라서 후자의 성분들을 제거함으로써 데이터의 본질적인 구조는 유지한 채 불필요한 변동을 걸러낼 수 있다.
노이즈 제거 과정은 일반적으로 다음과 같다. 먼저 전체 데이터에 대해 주성분 분석을 수행하여 모든 주성분을 구한다. 그런 다음, 누적 설명 분산 비율이나 스크리 플롯 등을 기준으로 유의미한 주성분의 개수 k를 선택한다. 이후 원본 데이터를 선택된 k개의 주성분으로 재구성한다. 이 재구성된 데이터는 원본 데이터의 차원은 그대로 유지하지만, 버려진 (n-k)개의 주성분에 해당하는 변동, 즉 노이즈 성분이 제거된 상태가 된다.
이 기법은 이미지 처리나 신호 처리 분야에서 널리 사용된다. 예를 들어, 흑백 얼굴 이미지 데이터셋에 주성분 분석을 적용하면 주요 주성분들은 얼굴의 전체적인 윤곽과 특징(얼굴형, 눈, 코, 입의 위치 등)을 설명하는 반면, 고유값이 매우 작은 주성분들은 개별 이미지의 미세한 조명 차이나 픽셀 수준의 무작위 노이즈에 해당한다. 후자를 제거하고 재구성하면 원본보다 선명하고 일반화된 얼굴 이미지를 얻을 수 있다.
적용 분야 | 노이즈의 예시 | 주성분 분석의 역할 |
|---|---|---|
배경 소음, 녹음 장비의 히스 노이즈 | 주요 주성분으로 음성 특징을 강화하고 노이즈 성분을 억제 | |
시장의 일일 무작위 변동(마이크로 구조 노이즈) | 장기적인 추세나 주요 위험 요인(주성분)을 추출하여 단기 변동 필터링 | |
실험 과정에서 발생하는 기술적 변동 | 생물학적 의미가 큰 유전자 발현 패턴(주성분)을 분리 |
그러나 이 방법은 모든 작은 분산이 무의미한 노이즈라는 가정이 항상 성립하지는 않는다는 점에 유의해야 한다. 데이터에 포함된 미세하지만 중요한 정보가 작은 분산을 가진 주성분에 담겨 있을 경우, 이 정보까지 함께 제거될 위험이 있다. 따라서 노이즈 제거 적용 후에는 도메인 지식을 활용해 정보 손실 여부를 반드시 점검해야 한다.
5. 주성분 분석의 장단점
5. 주성분 분석의 장단점
주성분 분석은 데이터의 차원 축소와 특징 추출에 널리 사용되는 기법으로, 몇 가지 명확한 장점과 함께 고려해야 할 단점 및 제한점을 가지고 있다.
주성분 분석의 주요 장점은 다음과 같다. 첫째, 고차원 데이터의 정보를 최대한 보존하면서 차원을 효과적으로 줄일 수 있다. 이는 계산 효율성을 높이고 과적합 위험을 줄인다. 둘째, 생성된 주성분들은 서로 직교하므로 상관관계가 없어, 다중공선성 문제를 해결하는 데 유용하다. 셋째, 알고리즘이 직관적이고 해석이 비교적 용이하여 다양한 분야에 적용하기 쉽다. 넷째, 데이터의 분산 구조를 기반으로 하므로 노이즈를 제거하고 데이터의 주요 패턴을 강조하는 효과가 있다.
반면, 주성분 분석에는 몇 가지 단점과 주의사항이 존재한다. 가장 큰 단점은 선형 변환에 기반하므로 데이터 내 존재할 수 있는 비선형 관계를 포착하지 못한다는 점이다. 또한, 분석 결과인 주성분은 원본 변수들의 선형 결합으로, 그 의미를 해석하는 것이 항상 명확하지는 않다. 분석 전 데이터의 표준화 여부가 결과에 큰 영향을 미치므로, 스케일이 다른 변수들을 처리할 때는 주의가 필요하다. 마지막으로, 주성분 분석은 분산을 최대화하는 방향으로 축을 찾기 때문에, 분산이 크지 않지만 중요한 의미를 가진 정보가 손실될 가능성이 있다.
5.1. 장점
5.1. 장점
주성분 분석의 가장 큰 장점은 고차원 데이터의 차원을 효과적으로 줄일 수 있다는 점이다. 많은 변수를 가진 데이터셋에서 정보 손실을 최소화하면서 주요 변수들만 선택하여 분석 효율성을 높인다. 이는 계산 비용을 절감하고, 이후의 기계 학습 모델 성능을 개선하며, 과적합 위험을 줄이는 데 기여한다.
데이터의 시각화에도 매우 유용하다. 3차원 이상의 데이터는 직접 시각화하기 어렵지만, 주성분 분석을 통해 첫 번째와 두 번째 주성분으로 데이터를 투영하면 2차원 산점도로 표현할 수 있다. 이를 통해 데이터의 군집 구조나 이상치를 직관적으로 파악하는 데 도움을 준다.
또한, 서로 상관관계가 있는 원본 변수들을 선형 결합하여 새로운 변수(주성분)를 생성한다. 이 새 변수들은 서로 직교하므로 상관관계가 없어 다중공선성 문제를 해결한다. 이는 회귀 분석 등 다양한 통계 모델링에서 변수 선택의 어려움을 덜어준다.
마지막으로, 데이터의 노이즈를 제거하는 효과도 있다. 분산이 작은 후반부 주성분은 주로 측정 오차나 작은 변동을 담고 있을 가능성이 높다. 따라서 이러한 성분들을 제거함으로써 데이터의 주요 신호만을 강화할 수 있다.
5.2. 단점 및 주의사항
5.2. 단점 및 주의사항
주성분 분석은 데이터의 선형 구조에 의존한다. 비선형 관계를 가진 데이터에는 효과적이지 않을 수 있으며, 커널 주성분 분석과 같은 비선형 변형 기법을 고려해야 한다. 또한 주성분은 원본 변수들의 선형 결합으로 생성되기 때문에, 결과인 주성분의 해석이 어려울 수 있다. 각 주성분이 어떤 원본 변수들의 조합인지 이해하기 힘들어, 도메인 지식과의 연결이 쉽지 않다.
주성분 분석은 분산이 큰 방향을 우선적으로 추출한다. 이는 분산이 반드시 중요한 정보만을 의미하지는 않는다는 점에서 주의가 필요하다. 유용한 신호보다 노이즈의 분산이 더 클 경우, 주성분 분석은 노이즈를 주성분으로 선정할 위험이 있다. 또한 분석 전 데이터 표준화를 수행하지 않으면, 단위가 크거나 분산이 큰 변수가 결과를 지배적으로 이끌 수 있다.
주성분 분석은 데이터의 전체 구조를 요약하는 데 초점을 맞추므로, 일부 세부적이거나 지역적인 구조는 손실될 수 있다. 이상치에 매우 민감한 편이며, 소수의 극단적인 값이 공분산 행렬 추정에 큰 영향을 미쳐 주성분 방향을 왜곡시킬 수 있다. 따라서 분석 전 이상치 탐지 및 처리 과정이 권장된다.
마지막으로, 주성분 분석은 순수한 기술적 절차이며, 인과 관계를 추론하는 도구가 아니다. 주성분과 결과 변수 사이에 상관관계가 발견되더라도, 이는 인과성을 의미하지 않는다. 도메인 지식 없이 통계적 결과만으로 결론을 도출하는 것은 오해의 소지가 있다.
6. 주성분 분석의 변형 및 확장 기법
6. 주성분 분석의 변형 및 확장 기법
주성분 분석은 선형 변환에 기반한 기법으로, 비선형 데이터나 특정 제약 조건이 필요한 경우에는 한계를 보일 수 있다. 이를 극복하기 위해 다양한 변형 및 확장 기법이 개발되었다.
대표적인 변형 기법으로는 희소 주성분 분석이 있다. 기존 주성분 분석에서 도출된 주성분은 대부분의 원본 변수에 0이 아닌 가중치를 부여하여 모든 변수가 결과에 영향을 미친다. 이는 해석을 어렵게 만들 수 있다. 희소 주성분 분석은 주성분 벡터의 가중치에 희소성 제약을 가하여, 일부 변수의 가중치만 0이 아니도록 강제한다. 그 결과, 각 주성분이 소수의 핵심 변수만으로 구성되어 모델의 해석 가능성이 크게 향상된다. 이 기법은 유전체학이나 영상 처리처럼 변수 수가 매우 많고 의미 있는 부분 집합을 찾아야 하는 분야에서 유용하게 적용된다.
또 다른 중요한 확장 기법은 커널 주성분 분석이다. 주성분 분석은 데이터가 선형적으로 구분 가능한 구조를 가정한다. 커널 주성분 분석은 커널 트릭을 활용하여 원본 데이터를 고차원 특성 공간으로 비선형 매핑한 후, 그 공간에서 선형 주성분 분석을 수행한다. 이 과정은 실제 고차원 변환을 계산하지 않고 커널 함수만으로 수행 가능하다. 이를 통해 표면적으로는 비선형인 데이터의 구조도 효과적으로 포착할 수 있어, 패턴 인식이나 기계 학습 분야에서 널리 사용된다. 다음은 주요 변형 기법을 비교한 표이다.
기법 | 핵심 아이디어 | 주요 목적/장점 |
|---|---|---|
주성분 로딩 벡터에 희소성 제약 도입 | 해석 가능성 향상, 변수 선택 효과 | |
커널 함수를 이용한 비선형 매핑 후 분석 | 비선형 데이터 구조 포착 | |
로버스트 주성분 분석 | 이상치에 덜 민감한 손실 함수 사용 | 이상치가 있는 데이터의 견고한 분석 |
주성분 회귀 | 추출된 주성분을 독립변수로 사용한 회귀 | 다중공선성 문제 해결 |
이외에도 이상치의 영향을 최소화하는 로버스트 주성분 분석, 시계열 데이터의 동적 구조를 분석하는 동적 주성분 분석, 여러 데이터 집합 간 관계를 분석하는 다중 집합 주성분 분석 등 다양한 확장 기법이 존재한다. 이러한 변형들은 원래 주성분 분석의 핵심 아이디어를 유지하면서 특정 문제나 데이터 유형에 더 적합하도록 조정한다는 공통점을 가진다.
6.1. 희소 주성분 분석
6.1. 희소 주성분 분석
희소 주성분 분석은 기존 주성분 분석의 주요 한계 중 하나를 해결하기 위해 개발된 변형 기법이다. 전통적인 주성분 분석에서 도출된 주성분은 일반적으로 원본 모든 변수에 대한 0이 아닌 가중치(로딩)를 가지며, 이는 해석의 어려움을 초래한다. 희소 주성분 분석은 이러한 주성분에 희소성, 즉 많은 수의 0을 포함하는 가중치 벡터를 부과함으로써 해석 가능성을 극대화한다.
기본 원리는 목표 함수에 희소성 제약 조건 또는 페널티 항을 추가하는 것이다. 가장 일반적인 방법은 Lasso 페널티를 적용하여 로딩 벡터의 L1 노름을 제한하는 것이다. 이는 최적화 문제를 통해 분산을 최대화하면서도 가중치의 절대값 합을 작게 유지하도록 강제한다. 그 결과, 각 주성분은 소수의 원본 변수에만 의존하게 되고, 나머지 변수에 대한 가중치는 정확히 0이 된다. 이는 특성 선택 효과를 동시에 제공하여 모델을 단순화한다.
희소 주성분 분석의 계산은 전통적인 방법보다 복잡하며, 일반적으로 좌표 하강법이나 교대 최소화와 같은 반복적 알고리즘을 사용하여 근사해를 구한다. 주요 하이퍼파라미터는 희소성의 정도를 조절하는 페널티 매개변수이다. 이 매개변수가 클수록 더 많은 가중치가 0이 되어 성분이 더 희소해지지만, 설명되는 분산은 감소하는 절충 관계가 존재한다.
이 기법은 유전체학, 영상 처리, 금융 등 고차원 데이터에서 의미 있는 패턴을 발견하고 해석해야 하는 분야에서 특히 유용하다. 예를 들어, 수천 개의 유전자 발현 데이터에서 소수의 핵심 유전자만으로 구성된 주성분을 찾아 생물학적 메커니즘을 추론하는 데 적용된다. 그러나 희소성을 부과하는 과정에서 설명 분산의 일부 손실이 발생하며, 계산 비용이 높고 해가 국소 최적점에 머무를 수 있다는 점은 고려해야 할 단점이다.
6.2. 커널 주성분 분석
6.2. 커널 주성분 분석
커널 주성분 분석은 주성분 분석을 비선형적으로 확장한 기법이다. 표준 주성분 분석은 데이터의 선형 상관관계를 기반으로 주성분을 찾지만, 복잡한 비선형 구조를 가진 데이터에는 한계가 있다. 커널 주성분 분석은 커널 트릭을 적용하여 원본 데이터를 고차원의 특성 공간으로 비선형 매핑한 후, 그 공간에서 선형 주성분 분석을 수행하는 방식으로 이 문제를 해결한다.
이 기법의 핵심은 데이터 포인트들 간의 내적 계산만으로 고차원 변환을 암묵적으로 처리하는 것이다. 사용자는 적절한 커널 함수를 선택하기만 하면 되며, 실제 고차원 좌표를 계산할 필요가 없다. 널리 사용되는 커널 함수에는 다항식 커널, 방사 기저 함수 커널, 시그모이드 커널 등이 있다. 이 과정은 커널 행렬의 고유값 분해를 통해 수행된다.
커널 함수 종류 | 수식 (예시) | 주요 특징 |
|---|---|---|
선형 커널 | $K(\mathbf{x}_i, \mathbf{x}_j) = \mathbf{x}_i^T \mathbf{x}_j$ | 표준 선형 PCA와 동일 |
다항식 커널 | $K(\mathbf{x}_i, \mathbf{x}_j) = (\mathbf{x}_i^T \mathbf{x}_j + c)^d$ | $d$차 다항식 결정 경계 표현 |
RBF 커널 (가우시안) | $K(\mathbf{x}_i, \mathbf{x}_j) = \exp(-\gamma \ | \mathbf{x}_i - \mathbf{x}_j\ |
커널 주성분 분석의 주요 응용 분야는 패턴 인식, 이미지 처리, 유전체학 등 복잡한 비선형 구조를 분석해야 하는 분야이다. 예를 들어, 서로 얽혀 있는 두 개의 원형 데이터 군집을 구분할 때 선형 주성분 분석은 효과적이지 않지만, 적절한 커널을 사용한 커널 주성분 분석은 데이터를 잘 분리하는 새로운 축을 찾을 수 있다. 그러나 커널 함수와 그 매개변수 선택에 성능이 크게 의존하며, 계산 복잡도가 $O(n^3)$에 달할 수 있어 대규모 데이터셋에는 적용이 어려운 단점도 있다[3].
7. 실무 적용 시 고려사항
7. 실무 적용 시 고려사항
실무에서 주성분 분석을 적용할 때는 데이터의 특성과 분석 목적에 맞는 전처리 과정이 필수적이다. 가장 일반적인 전처리는 표준화이다. 변수들의 측정 단위가 다르거나 스케일 차이가 크면 분산이 큰 변수가 주성분을 지배적으로 이끌게 되어 왜곡된 결과를 초래할 수 있다. 따라서 각 변수에서 평균을 빼고 표준편차로 나누어 평균 0, 분산 1을 갖도록 조정하는 Z-점수 표준화가 흔히 선행된다. 범주형 변수가 포함된 경우에는 적절한 인코딩(예: 원-핫 인코딩)을 수행한 후 표준화를 적용해야 한다. 또한, 데이터에 결측치가 존재하면 주성분 분석 알고리즘을 적용하기 전에 대체 또는 제거 작업을 완료해야 한다.
주성분 개수를 결정하는 것은 모델의 복잡성과 설명력을 절충하는 핵심 단계이다. 가장 널리 사용되는 방법은 스크리 그림을 통해 고유값의 크기를 눈으로 확인하는 것이다. 그래프에서 고유값이 급격히 감소하다가 완만해지는 지점, 즉 '팔꿈치'가 나타나는 부분의 성분 개수를 선택한다. 또 다른 객관적인 기준은 누적 설명 분산 비율을 사용하는 것이다. 분석 목적에 따라(예: 시각화는 2-3개, 노이즈 제거는 높은 비율 유지) 총 분산의 70-95%를 설명하는 수준의 주성분 개수를 선택한다. 교차 검증을 활용하여 재구성 오차를 최소화하는 성분 수를 찾거나, 병렬 분석 기법을 통해 무작위 데이터에서 나올 수 있는 고유값보다 큰 고유값을 갖는 성분만을 선택하는 방법도 있다.
최종적으로 선택된 주성분의 해석 가능성도 실무에서 중요한 고려사항이다. 각 주성분은 원본 변수들의 선형 결합으로 이루어지는데, 주성분 행렬의 계수(로딩)를 검토하여 어떤 변수들이 큰 가중치를 가지는지 분석한다. 이를 통해 해당 주성분이 의미하는 잠재적인 개념이나 요인을 유추할 수 있다. 그러나 주성분은 수학적 최적화의 산물이므로 반드시 직관적인 의미를 갖는다고 보장할 수 없다는 점을 인지해야 한다.
7.1. 데이터 전처리
7.1. 데이터 전처리
주성분 분석을 적용하기 전에 적절한 데이터 전처리를 수행하는 것은 결과의 신뢰성과 해석 가능성에 결정적인 영향을 미친다. 가장 기본적이면서도 중요한 전처리 단계는 데이터 표준화이다. 주성분 분석은 입력 변수의 분산을 기반으로 주성분을 구성하기 때문에, 측정 단위가 다른 변수들(예: 키(cm)와 몸무게(kg))이 함께 분석될 경우, 단위의 크기에 따라 분산이 크게 달라져 특정 변수가 주성분을 지배하는 문제가 발생할 수 있다[4]. 이를 방지하기 위해 각 변수에서 평균을 빼고 표준편차로 나누는 Z-점수 표준화를 적용하여 모든 변수의 평균을 0, 분산을 1로 맞추는 작업이 일반적이다.
결측값 처리도 중요한 고려사항이다. 주성분 분석 알고리즘은 일반적으로 완전한 데이터 행렬을 요구한다. 따라서 결측값이 존재할 경우, 해당 관측치를 완전히 제거하거나, 평균값이나 중앙값으로 대체하는 방법, 또는 다중 대체법과 같은 보다 정교한 기법을 사용하여 처리해야 한다. 특히 관측치 제거는 데이터 손실을 초래할 수 있으므로 신중히 결정해야 한다.
데이터의 선형성 가정과 이상치의 영향을 점검하는 것도 필요하다. 주성분 분석은 변수 간 선형 관계를 통해 주성분을 찾는 기법이므로, 변수 간 관계가 강하게 비선형일 경우 적절한 결과를 제공하지 못할 수 있다. 또한, 이상치는 공분산 행렬의 추정에 큰 영향을 미쳐 주성분의 방향을 왜곡시킬 수 있다. 따라서 상자 그림이나 마할라노비스 거리 등을 활용한 이상치 탐지 및 적절한 조치(제거, 변환, robust 방법 적용 등)가 선행되어야 한다.
전처리 단계 | 주요 목적 | 일반적인 방법 | 주의사항 |
|---|---|---|---|
변수 간 척도 차이 해소 | Z-점수 표준화, 최소-최대 정규화 | 분석 목적에 따라 정규화 대신 표준화가 더 권장됨 | |
결측값 처리 | 알고리즘 적용 가능한 데이터셋 생성 | 관측치 제거, 평균/중앙값 대체, 다중 대체법 | 대체 방법 선택에 따라 결과가 달라질 수 있음 |
이상치 처리 | 공분산 행렬 추정의 견고성 확보 | 시각적 탐지, 통계적 거리 기반 탐지, 변환 | 데이터의 자연스러운 변동을 이상치로 오판하지 않도록 주의 |
선형성 검토 | 방법론의 가정 충족 확인 | 산점도 행렬 확인, 상관관계 분석 | 강한 비선형 패턴이 있으면 커널 주성분 분석 등 대안 고려 |
7.2. 주성분 개수 결정 방법
7.2. 주성분 개수 결정 방법
주성분 분석에서 적절한 주성분 개수를 결정하는 것은 모델의 복잡성과 설명력을 균형 있게 맞추는 중요한 단계이다. 너무 적은 주성분을 선택하면 정보 손실이 크고, 너무 많은 주성분을 선택하면 차원 축소의 의미가 퇴색하고 과적합의 위험이 있다. 이를 결정하는 데는 여러 경험적 기준과 통계적 방법이 활용된다.
가장 일반적인 방법은 설명된 분산의 누적 비율을 기준으로 설정하는 것이다. 분석가는 보통 전체 분산의 70%에서 95%를 설명하는 수준의 주성분 개수를 선택한다. 이는 응용 분야와 목적에 따라 달라지며, 시각화를 위해서는 2개 또는 3개의 주성분으로 제한하는 경우가 많다. 또 다른 직관적인 방법은 스크리 그림을 이용하는 것이다. 이는 각 주성분의 고유값을 내림차순으로 그래프로 나타낸 것으로, 고유값이 급격히 감소하다가 완만해지는 지점, 즉 '팔꿈치'가 나타나는 부분까지의 주성분을 선택한다.
보다 정량적인 기준으로는 평균 고유값 기준이 있다. 표준화된 데이터의 경우 고유값이 1 이상인 주성분을 유의미한 것으로 간주하는 카이저 기준이 널리 사용된다. 또한, 병렬 분석은 실제 데이터의 고유값과 무작위 데이터로 생성한 고유값 평균을 비교하여, 실제 고유값이 무작위 고유값 평균보다 큰 주성분만을 선택하는 방법이다. 교차검증 기반 방법은 모델의 예측 오차를 최소화하는 주성분 개수를 찾는 보다 엄밀한 접근법이다.
방법 | 설명 | 주요 기준/특징 |
|---|---|---|
누적 설명 분산 비율 | 선택한 주성분이 설명하는 전체 분산의 비율 | 일반적으로 70-95% 수준 달성 |
스크리 그림 | 고유값의 감소 곡선 시각화 | 그래프상 '팔꿈치' 지점 |
카이저 기준 | 고유값 크기 기준 | 고유값 ≥ 1 (표준화 데이터 기준) |
병렬 분석 | 무작위 데이터 고유값과 비교 | 실제 고유값 > 무작위 평균 고유값 |
최종적인 주성분 개수는 이러한 객관적 지표와 함께 분석의 실질적 목적, 해석 가능성, 후속 분석 단계의 요구사항을 종합적으로 고려하여 결정된다. 단순히 통계적 기준만 따르기보다는, 선택된 주성분이 현실 세계의 현상을 얼마나 잘 설명하는지에 대한 주관적 판단도 중요하게 작용한다.
