수학 개념 지도
확률과 통계(Probability and statistics)

주성분 분석(Principal component analysis)

데이터가 가장 넓게 퍼진 방향을 찾는 방법. 그 방향들은 공분산 행렬⁠(covariance matrix)⁠의 고유벡터⁠(eigenvector)⁠이고, 퍼진 정도(분산⁠, variance⁠)는 고유값⁠(eigenvalue)⁠이다.

Σv⃗=λv⃗,Var⁡(u⃗⋅X)=u⃗⊤Σ u⃗\Sigma \vec v = \lambda \vec v, \qquad \operatorname{Var}(\vec u \cdot X) = \vec u^{\top}\Sigma\,\vec u

두 값이 함께 움직이는 데이터(키와 몸무게, 두 과목 점수)를 점으로 찍으면 비스듬한 타원⁠(ellipse)⁠ 모양 구름이 됩니다. 상관계수⁠(correlation coefficient)⁠ ρ=\rho = 를 바꿔 보세요. 다시 뽑기

노란 손잡이로 방향을 돌리면 점들이 그 직선 위로 투영됩니다(주황). 파랑과 빨강 화살표가 주성분입니다.

어떤 방향 u⃗\vec u를 골라 모든 점을 그 직선에 정사영⁠(orthogonal projection)⁠하면, 투영된 값들의 분산은 입니다. 방향을 돌리면 이 값이 바뀌고, 가장 커지는 방향()이 제1 주성분, 그와 수직인 방향()이 제2 주성분입니다.

방향 각도에 따른 투영 분산. 최댓값과 최솟값이 공분산 행렬의 두 고유값입니다.

이 방향을 계산으로 찾는 방법은 이렇습니다. 먼저 공분산 행렬 Σ\Sigma를 만듭니다. 변수가 둘이면 2×2 표로, 대각선 두 칸에 각 변수의 분산을, 나머지 두 칸에 두 변수의 공분산(함께 평균⁠(mean)⁠ 위아래로 움직이는 정도)을 적은 것입니다. 점의 좌표를 X라 하면 방향 u⃗\vec u로 투영한 값은 내적⁠(dot product)⁠ u⃗⋅X\vec u \cdot X이고, 그 분산은 u⃗⊤Σu⃗\vec u^\top \Sigma \vec u로 계산됩니다.

길이 1인 방향 u⃗\vec u 가운데 이 값을 가장 크게 만드는 것은 Σ\Sigma의 가장 큰 고유값에 대응하는 고유벡터이고, 그때의 분산이 바로 그 고유값입니다. 공분산 행렬은 대각선을 기준으로 대칭입니다. 대칭 행렬⁠(symmetric matrix)⁠은 서로 수직인 고유벡터들을 늘 좌표축 개수만큼 가집니다(스펙트럼 정리⁠, spectral theorem⁠). 그 고유벡터들을 새 좌표축으로 삼도록 좌표를 회전⁠(rotation)⁠하면 공분산 행렬의 대각선 밖 칸이 모두 0인 대각 행렬⁠(matrix)⁠이 됩니다(대각화⁠, diagonalization⁠). 대각선 밖 칸이 공분산⁠(covariance)⁠이었으니, 새 좌표에서는 두 값 사이의 상관이 사라집니다. 실제 계산에서는 공분산 행렬을 따로 만들지 않고, 평균을 뺀 자료 행렬의 특잇값 분해⁠(singular value decomposition)⁠로 같은 축을 얻습니다. 축은 그 분해의 입력 쪽 축이고, 각 축의 분산은 특잇값⁠(singular value)⁠의 제곱에 비례합니다.

점들의 평균을 지나는 제1 주성분 직선은, 점에서 직선에 수직으로 잰 거리의 제곱 합이 최소인 직선이기도 합니다. 투영된 값의 분산과 수직 거리의 제곱 합을 더하면 늘 전체 분산으로 일정하니(피타고라스 정리⁠, Pythagorean theorem⁠), 한쪽을 최대로 하는 것이 다른 쪽을 최소로 하는 것입니다. 세로 거리를 줄이는 최소제곱 회귀⁠(least-squares regression)⁠ 직선과는 다릅니다. 회귀 직선의 기울기⁠(slope)⁠는 크기가 늘 주성분 직선의 기울기보다 작거나 같아서 더 누워 있고, 모든 점이 한 직선 위에 있으면(|ρ| = 1) 두 직선이 일치합니다.

이 방법의 쓸모는 차원 줄이기입니다. 변수가 수백 개인 데이터라도 퍼짐의 대부분이 몇 방향에 몰려 있는 경우가 많고, 그러면 분산이 큰 주성분 몇 개만 남겨도 전체 분산의 대부분을 지키면서 변수의 수를 크게 줄일 수 있습니다. 다만 분산은 단위에 따라 달라집니다. 키를 센티미터에서 밀리미터로 바꾸기만 해도 키 방향의 분산이 100배가 되어 주성분이 바뀌므로, 단위가 다른 변수를 섞을 때는 보통 각 변수를 표준편차⁠(standard deviation)⁠로 나누어 맞춘 다음 주성분을 구합니다.

사진은 이웃한 화소끼리 밝기가 비슷해서(상관이 강해서) 주성분 축이 코사인⁠(cosine)⁠ 물결 모양에 가깝게 나옵니다. 그래서 JPEG은 사진마다 주성분을 새로 구하는 대신, 미리 정해 둔 코사인 물결을 축으로 쓰는 이산 코사인 변환⁠(discrete cosine transform)⁠으로 거의 같은 효과를 얻습니다. 입력을 좁은 병목으로 압축했다가 되살리도록 학습하는 신경망⁠(neural network)⁠인 오토인코더⁠(autoencoder)⁠는, 선형이고 제곱 오차를 쓰면 주성분들이 펼치는 것과 같은 부분공간⁠(subspace)⁠을 찾습니다. 비선형으로 바꾸면 휘어진 구름도 줄일 수 있습니다.

주성분 좌표에서 각 축을 그 축의 표준편차로 나누면 타원 구름이 둥근 구름이 됩니다. 그 좌표에서 잰 보통의 거리가 마할라노비스 거리⁠(Mahalanobis distance)⁠입니다.

단어마다 수백 개의 수로 된 벡터⁠(vector)⁠를 붙여 뜻이 비슷한 단어끼리 가깝게 놓은 것을 단어 임베딩⁠(word embedding)⁠이라 합니다. 이런 수백 차원의 점들을 평면에 그려 볼 때 흔히 주성분 두 개를 가로축과 세로축으로 씁니다.

주성분 분석은 1901년 영국의 칼 피어슨이 점들에 가장 가까운 직선과 평면을 찾는 문제로 처음 내놓았고, 1933년 미국의 통계학자 해럴드 호텔링이 공분산 행렬의 고유벡터로 정리하며 '주성분'이라는 이름을 붙였습니다.

이 개념이 나오는 긴 글

미분에서 회전까지 · 5편 · 복소수와 행렬 곱셈은 회전이다 복소수를 곱하는 일과 행렬로 평면을 돌리는 일은 같은 일이다. 최소제곱과 선형대수 잃어버린 소행성 1801년, 발견 몇 주 만에 태양 뒤로 사라진 세레스. 스물네 살의 가우스는 흩어진 관측값에서 궤도를 되찾았다. 통계와 인과 담배와 폐암 상관관계는 인과관계가 아니라고들 한다. 그렇다면 담배가 폐암을 일으킨다는 것은 어떻게 알게 되었을까? 거리와 유사도 까마귀와 택시 까마귀는 곧장 날고 택시는 블록을 돌아간다. '얼마나 먼가'에는 답이 하나가 아니고, 어떤 거리를 고르느냐가 통계와 기계 학습의 답을 바꾼다. 신경망과 기계 학습 배우는 기계 예를 보여 주면 규칙을 스스로 찾는 기계. 1958년의 퍼셉트론에서 오늘의 심층 신경망까지, 그 밑바닥에는 미분과 연쇄법칙이 있다. 라플라시안 라플라시안, 가장 많이 재사용된 식 이웃의 평균에서 나를 뺀다. 이 한 줄이 열의 법칙이고, 도박꾼이 이길 확률이고, 전기 회로와 나무 세기이고, 북의 음색이고, 사진의 윤곽선이고, 그래프를 가르는 칼이고, 잡음에서 그림을 빚는 확산 모델의 밑그림이다. 측정의 수학 재는 순간 바뀐다 해안선의 길이는 자에 따라, 평균은 누구에게 묻느냐에 따라, 지표는 목표가 되는 순간 달라진다. 리처드슨의 국경과 프랙털 차원, 스티븐스의 척도, 버스 정류장과 타율의 역설, 스피어먼의 요인, 굿하트의 법칙과 보상 해킹을 한 줄로 꿴다.

이 개념 위에 세워진 것

이 개념을 언급하는 페이지

이 페이지가 가리키는 개념