본문 바로가기
모두를 위한 데이터과학

주성분 분석(Principal Component Analysis)

by 석사만세 2023. 2. 16.

주성분 분석(Principal Component Analysis, PCA)란 데이터 포인트를 가장 잘 구별해주는 숨겨진 변수(주성분)을 찾는 기법입니다. 주성분은 데이터 포인트가 가장 넓게 분포하는 차원을 말합니다. 예를 들어 식품을 구별하기 위해 비타민 C라는 변수 하나를 사용할 수 있습니다. 비타민 C는 채소에는 포함되어 있지만 육류에는 들어있지 않으므로 채소와 육류를 확실하게 구별할 수 있습니다. 그렇지만 육류는 비타민 C로 구분하기가 어렵게 되겠죠. 이럴 때는 육류에 포함되어 있는 지방이라는 성분을 이용합니다. 그러면 지방이 많이 포함된 육류와 그렇지 않은 육류가 넓게 분포될 것입니다. 비타민 C와 지방이라는 2가지의 성분으로 식품을 구분할 때 두 성분의 측정 단위가 다르므로 그 둘을 통합하기 이전에 표준화 과정을 거쳐야 합니다. 표준화는 각 변수를 백분율로 나타내는 것과 비슷하다고 생각하시면 됩니다. 만약 채소를 더 넓게 분포시키기를 원한다면 섬유소 등과 같은 성분을 더하면 됩니다.

 

식품을 지방, 단백질, 섬유소, 비타민 C 이렇게 4개를 기준으로 구분할 때 네 가지 변수를 따로 분석하는 대신 상관도가 높은 변수를 통합해서 2개 차원만 사용할 수 있습니다. 그래서 PCA를 차원 축소 기법(Demension Reduction)이라고도 합니다. 주성분은 존재하는 변수에서 파생되므로 데이터 포인트를 나누는데 사용할 수 있는 정보도 원래 변수의 개수로 제한됩니다. 단순하고 일반화 가능한 결과를 유지하려면 시각화와 이후의 분석 과정에서 사용할 상위 주성분 몇 개만 골라야 합니다. 주성분은 데이터 포인트를 구분하는 효과에 따라 정렬되므로 제1 주성분이 가장 데이터를 효과적으로 구별합니다. 주성분의 개수는 스크리 도표로 정할 수 있습니다. 현재 데이터 샘플을 설명하기 위해 사용하는 주성분의 개수가 적을수록 해당 주성분이 미래의 샘플을 일반화하기 쉽습니다.

 

PCA는 데이터 포인트의 분포가 가장 넓은 차원이 가장 유용하다는 가정을 전제로 하는데 실제로는 그렇지 않을 수도 있습니다. 예를 들어 팬케이크가 쌓여 있을 경우 팬케이크를 세기 위해서는 세로축(쌓여 있는 높이)을 따라 팬케이크를 구분해야 하는데 팬케이크가 얇을 경우 PCA는 분포가 가장 큰 차원인 팬케이크의 지름을 주성분으로 잘못 선택할 수도 있기 때문입니다. PCA는 항상 각 성분이 서로에 대해 90도의 각을 이루는 직교 주성분을 생성합니다. 하지만 유용한 정보를 담은 성분이 직교하지 않을 수도 있으므로 이런 문제를 해결하기 위해 독립 성분 분석(Independent Component Analysis, ICA)라는 기법을 사용할 수 있습니다. ICA는 직교하지 않는 성분을 허용하지만 각 성분이 포함하는 정보가 중복되지 않도록 해야 합니다. 결국 각 독립 성분이 데이터 세트에 존재하는 독특한 정보를 내포하게 됩니다. ICA가 좀더 뛰어나 보이지만 PCA는 여전히 중요한 차원 축소 기법입니다.

'모두를 위한 데이터과학' 카테고리의 다른 글

연관분석(연관 규칙 분석)-2  (0) 2023.02.16
연관분석(연관 규칙 분석)-1  (0) 2023.02.16
K평균 군집화  (0) 2023.02.16
과적합과 부적합  (0) 2023.02.16
튜닝 파라미터  (0) 2023.02.16