AI

주성분 분석(principal component analysis, PCA)

땅콩새싹 2021. 8. 6. 14:27
반응형

 


 

차원과 차원 축소

우리는 데이터가 가진 속성을 특성이라고 불렀습니다. 전 글에서 다룬 과일 데이터의 경우 10,000개의 픽셀이 있기 때문에 10,000개의 특성이 있다고 할 수 있습니다. 머신러닝에서 이런 특성을 차원(dimension)이라고도 부릅니다. 실무에서 접하게 되는 데이터는 특성의 수가 대체로 큽니다. 데이터의 크기가 크다보니 학습 속도에도 영향을 미치고 다루기가 쉽지 않습니다. 이런 차원을 줄일 수 있다면 저장공간을 절약할 수 있고 학습 속도를 높힐 수 있을 것입니다.

특성이 많으면 선형 모델이 성능이 높아지고 훈련 데이터에 쉽게 과대적합될 수 있습니다. 차원 축소는 데이터를 가장 잘 나타내는 일부 특성을 선택해 데이터 크기를 줄이고 지도 학습 모델의 성능을 향상시킬 수 있는 방법입니다. 그 중에서 대표적인 차원 축소 알고리즘, PCA에 대해 알아보겠습니다.

 

주성분 분석(principal component analysis, PCA)

주성분 분석은 데이터에 있는 분산이 큰 방향을 찾는 것으로 이해할 수 있습니다. 분산이 큰 방향을 데이터로 잘 표현하는 벡터로 생각할 수 있습니다.

위의 그림과 같은 2차원 데이터를 생각해 봤을 때, 가장 분산이 많은 방향을 생각해 보면 직관적으로 대각선 방향이 분산이 가장 크다고 알 수 있습니다.

앞에서 찾은 직선이 원점에서 출발한다면 두 원소로 이루어진 벡터로 쓸 수 있습니다. 실제로 사이킷런의 PCA 모델을 훈련하면 자동으로 특성마다 평균값을 빼서 원점에 맞춰 줍니다.

이 벡터를 주성분(principal componet)라고 부릅니다. 이 주성분 벡터는 원본 데이터에 있는 어떤 방향입니다. 따라서 주성분 벡터의 원소 개수는 원본 데이터셋에 있는 특성 개수와 같습니다. 하지만 원본 데이터는 주성분을 사용해 차원을 줄일 수 있습니다. 위의 사진처럼 어떤 한 샘플 데이터를 각각 직각으로 투영하면 주성분에 대한 1차원 데이터를 만들 수 있습니다. 이 벡터가 두번째 주성분 입니다. 주성분이 가장 분산이 큰 방향이기 때문에 주성분에 투영하여 바꾼 데이터는 원본이 가지고 있는 특성을 가장 잘 나타내고 있고 주성분으로 바꾼 데이터는 차원이 줄어들게 됩니다. 더 자세한 내용은 선형대수학 주성분 분석에서 공부해보겠습니다.

반응형

'AI' 카테고리의 다른 글

인공 신경망(Artificial Neural Network) 실습  (0) 2021.08.09
PCA 실습  (0) 2021.08.06
Clustering 실습 2  (0) 2021.08.05
Clustering 실습 1  (0) 2021.08.03
Clustering (K-Means, DBSCAN)  (0) 2021.08.03