이 글에서 다룰 내용은 주성분 분석(principal component analysis, PCA) 기법입니다. 주성분 분석이란 간단히 말해
주성분 분석
고차원의 데이터를 저 차원의 데이터로 축소시켜 분석하기 위해 쓰는 기법
무슨 뜻일까요? 예를 들어 "명덕초등학교 1학년 학생들의 실태"를 조사하기 위해 학생들이 가지고 있을 만한 성질(데이터 분석에서는 이를 features 라 합니다.)을 모아본다고 가정합시다.

여러 가지가 있겠죠. 예를 들어
키 | 몸무게 | 시력 | 한글습득 여부 |
부모의 나이 | 충치 여부 | 머리둘레 | 국적 |
거주하는 구 | 성 씨 | 나이 | 등 등 등... |
<명덕초등학교 1학년 학생들의 특징을 조사하기 위한 feature들>
와 같은 특색들이 있겠죠. 그런데 가만히 보면, 별로 중요하지 않은 변별력 없는 특징이 있습니다. 애들 국적은 거의 대부분 우리나라일 것이고, 거주하는 구도 저 명덕초등학교에 위치한 강동구일 것입니다. 나이는 어떨까요? 1학년을 조사했으니 모두 8살 꼬맹이 들일 것입니다. ① 따라서 저렇게 변별력 없는 특징들은 지워도 무방합니다.
키 | 몸무게 | 시력 | 한글습득 여부 |
부모의 나이 | 충치 여부 | 머리둘레 | |
성 씨 | 등 등 등... |
<국적, 거주하는 구, 나이는 안 중요해요~>
그런데 특이하게도 명덕초등학교 1학년 애들의 키,몸무게 조사를 해봤더니 "6* 몸무게 = 키"가 얼추 성립한다라고 하면 향후 분석에서 '몸무게'는 제외 가능하겠죠. 키만 알면 몸무게가 나오니깐요. 따라서 ② 어떤 관계식이 성립하는 두 데이터 feature에 대해서는 가볍게 하나의 데이터만 가져 갈 수 있습니다.
이처럼, 변별력이 없거나, 관계식으로 표현되는 것들을 제거하면 우리가 가지고 있는 features의 개수가 확 줄어들죠. 줄어든 만큼 어떤 정보의 손실은 있을 수 있지만, 효율성이 아주 좋아지요.
따라서 데이터 분석시 효율적인 분석을 위해 feture의 개수, 즉 feature의 차원을 줄이는 것이 필요한데요. 그때 쓰는 주요 방법이 바로 주성분 분석입니다. 어떤 식으로 할까요?
① 변별력이 없다 : 즉 데이터가 거의 똑같다는 겁니다. 명덕초 1학년의 국적은 거의 모두 대한민국, 사는 구는 강동구 이렇게요. 수학적으로 말하면 분산이 아주 작다라는 겁니다. 분산이 작은 방향으로는 데이터를 쪼그려 트릴 수 있겠죠.
② 모종의 관계가 있을 때 차원이 축소된다 : 이 얘기는 데이터 분석을 할 때 각 데이터 사이에 상관관계(또는 공분산)가 영향을 미친다는 얘깁니다.
다른 예제를 볼까요? 두 종류의 feature를 가진 데이터를 그래프로 그려봤더니 다음과 같았다고 합시다.

데이터의 2개의 feature는 각각 x좌표 y좌표인데 모아봤더니 타원형태를 이루고 있습니다. 이것은 분명히 2차원의 feature를 가진 데이터인데요.

이렇게 빨간 선을 그려놓고 보니, 데이터들은 저 빨간 선 위에 있는 것으로 간주할 수 있겠구나 하는 것입니다. 직선은 1차원이므로 파란 데이터들은 직선 하나로 표시될 수 있다는 뜻입니다. 물론 빨간색 위아래로 데이터가 삐져나와있지만, 경향성 자체는 직선 위에 올라간 점으로 볼 수 있다는 것이죠. 이것이 바로 차원 축소입니다.
그런데 뭔가 좀 불안할 수 있습니다. missing 되는 정보가 많아보일 수 있죠. 그럴 때는

위 그림처럼 빨간 선과 수직이며 missing되는 데이터를 설명할 수 있는 녹색 직선을 그려보는 것입니다. 그러면 파란 점 데이터들은 빨간색 축과 녹색 축 두 축에 의해 설명이 모두 가능해지죠. 잘 모르겠으면, 우리가 익숙한 직교 좌표계로 보기 위해 위 그림을 살짝 회전해보면 됩니다.

이렇게 회전하여 보면, 빨간선과 녹색선은 직교좌표를 이루고, 파란 데이터들은 모두 이 두 축에 의해 설명이 가능해집니다.
이렇게, 데이터를 잘 설명할 수 있는 축들을 찾아내는 것, 또 이 축들 중에 좀 영향력이 작은 축들은 과감히 버리는 것, 이게 바로 주성분 분석입니다. 또 위에서 말했듯이
○ 데이터를 잘 설명할 수 있는 방향 : 데이터가 아주 넓게 분산되어 있는 방향의 축
○ 영향력 작은 축 : 데이터 분산이 작은 방향의 축
을 찾는 것으로 생각할 수 있습니다.
다음 글에서 주성분 분석을 수학적으로 얘기해 볼 텐데, 요지는 이렇습니다.
주성분 분석의 방법
1. 첫번째 축을 찾는다.
어떻게 찾냐면, 데이터들을 이 축에 떨어뜨려(사영, projection) 봤을 때 분산이 가장 커지는 방향의 축을 찾는다.
2. 두 번째 축을 찾는다.
첫 번째 축과 수직인 축들 중에서, 데이터들을 이 축에 떨어뜨려 봤을 때 분산이 가장 커지는 방향 축을 찾는다.
3. 이런식으로 원하는 만큼의 축을 찾는다.
'수학의 재미 > 아름다운 이론' 카테고리의 다른 글
주성분 분석(PCA)의 수학적 접근 #2 (2) | 2022.09.06 |
---|---|
주성분 분석(PCA)의 수학적 접근 (0) | 2022.09.05 |
FDM #7, Heat Equation의 풀이(3) (0) | 2022.08.01 |
FDM #6, Heat Equation의 풀이(2) (0) | 2022.08.01 |
FDM #5, Heat Equation의 풀이(1) (0) | 2022.07.30 |
댓글