이 글에서 다룰 내용은 주성분 분석(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 |
댓글