주제 (이중) 공간에서 PCA의 기하학적 이해


19

주요 구성 요소 분석 (PCA) 이 주제 (이중) 공간에서 작동하는 방식을 직관적으로 이해하려고 합니다. .

두 개의 변수 x1x2n 데이터 포인트를 갖는 2D 데이터 세트를 고려하십시오 (데이터 매트릭스 Xn×2 이며 중앙에 있다고 가정). PCA의 일반적인 표현은 우리 가 R 2 에서 n 포인트를 고려 하고 2 × 2 공분산 행렬을 쓰고 고유 값과 고유 값을 찾는 것입니다. 첫 번째 PC는 최대 분산 방향 등에 해당합니다. 공분산 행렬 C = ( 4 2 2 2 )의 예R22×2C=(4222). 빨간색 선은 각 고유 값의 제곱근에 의해 스케일 된 고유 벡터를 나타냅니다.

샘플 공간의 PCA

이제 이중 공간 (머신 러닝에 사용되는 용어) 으로 알려진 주제 공간 (@ttnphns에서이 용어를 배웠습니다) 에서 발생하는 상황을 고려 하십시오. 이것은 두 개의 변수 ( X의 두 열)의 샘플이 두 개의 벡터 x 1x 2를 형성 하는 n 차원 공간 입니다. 각 가변 벡터의 제곱 길이는 분산과 같으며 두 벡터 사이의 각도 코사인은 이들 사이의 상관과 같습니다. 그건 그렇고,이 표현은 다중 회귀 치료에서 매우 표준입니다. 내 예에서 주제 공간은 다음과 같습니다 (두 개의 가변 벡터로 스팬 된 2D 평면 만 보여줍니다).nXx1x2

주제 공간 1의 PCA

두 변수의 선형 조합 인 주성분 은 동일한 평면에 두 개의 벡터 p 2 를 형성합니다. 내 질문은 : 그런 플롯에서 원래 변수 벡터를 사용하여 주요 구성 요소 변수 벡터 를 형성 하는 방법에 대한 기하학적 이해 / 직관은 무엇입니까? x 1x 2가 주어지면 , 어떤 기하학적 절차p 1을 산출 할까요?p1p2x1x2p1


아래는 나의 현재 부분 이해입니다.

우선, 표준 방법을 통해 주요 구성 요소 / 축을 계산하고 동일한 그림에 플롯 할 수 있습니다.

주제 공간 2의 PCA

또한, x i (파란색 벡터)와 p 1 에서의 투영 값 사이의 제곱 거리의 합 이 최소 가되도록 선택 됨을 알 수있다 . 이러한 거리는 재구성 오류이며 검은 색 점선으로 표시됩니다. 동등하게, p 1 은 두 투영의 제곱 길이의 합을 최대화합니다. 이것은 p 1을 완전히 지정 하고 물론 기본 공간의 유사한 설명과 완전히 유사합니다 ( 주성분 분석, 고유 벡터 및 고유 값 이해에 대한 내 대답의 애니메이션 참조 ). @ttnphns의 답변 의 첫 번째 부분도 참조 하십시오 .p1xip1p1p1

그러나 이것은 충분히 기하학적이지 않습니다! 그것은 그런 p 를 찾는 방법을 알려주지 않습니다 1p1 않고 길이를 지정하지 않습니다.

내 생각에 , x 2 , p 1p 2는 모두 0 을 중심으로 한 타원에 놓여 있고 p 1p 2 가 주축입니다. 다음은 내 예에서 어떻게 보이는지입니다.x1x2p1p20p1p2

여기에 이미지 설명을 입력하십시오

Q1 : 그것을 증명하는 방법? 직접적인 대수적 데모는 매우 지루한 것으로 보인다. 어떻게 확인 하는 ?

그러나 중심으로 x 1x 2를 통과하는 많은 다른 타원이 있습니다 .0x1x2

여기에 이미지 설명을 입력하십시오

Q2 : "올바른"타원은 무엇입니까?내 첫 번째 추측은 가능한 가장 긴 주축을 가진 타원이라는 것입니다. 그러나 그것은 잘못된 것 같습니다 (모든 길이의 주축이있는 타원이 있습니다).

Q1과 Q2에 대한 답변이 있다면, 둘 이상의 변수의 경우에 일반화되는지 알고 싶습니다.


원점 (x1과 x2가 교차하는 곳)을 중심으로하고 x1과 x2의 맨 끝과 접촉 할 수있는 타원이 많다는 것이 사실입니까? 나는 단지 하나만있을 것이라고 생각했을 것이다. 이러한 3 가지 기준 중 하나 (중심 및 2 개의 끝)를 이완하면 많은 사람들이있을 수 있습니다.
gung-모니 티 복원

두 벡터를 통과하는 원점을 중심으로 많은 타원이 있습니다. 그러나 비공 선형 벡터 ( c , d )의 경우 이중 기준으로 하나의 단위 원만 있습니다. 그것은의 궤적이고 , X ( , B ) + Y ( C , D를 ) 여기서 | ( a c b d )1 ( x y ) | 2 =(a,b)(c,d)x(a,b)+y(c,d)
|(acbd)1(xy)|2=1.
주요 축에서 많은 것을 배울 수 있습니다.
whuber

3
variable space (I borrowed this term from ttnphns)-@amoeba, 착각해야합니다. (원래의) n- 차원 공간에서 벡터로서의 변수는 주제 공간 (p- 변수가 그것을 "스팬"하는 동안 축으로 n 개의 주제는 공간을 "정의한")이라고한다. 반대로 가변 공간 은 반대로, 즉 일반적인 산점도입니다. 다변량 통계에서 용어가 설정되는 방식입니다. (머신 러닝에서 차이가 있다면 – 나는 그것을 모른다 – 학습자가 훨씬 더 나쁘다.)
ttnphns

둘 다 벡터 공간입니다. 벡터 (= 점)는 스팬이며, 축은 방향을 정의하고 측정 노치를 나타냅니다. 또한 변증법에 유의하십시오. 두 "공백"은 실제로 동일한 공간입니다 (현재 목적에 따라 다르게 공식화 됨). 예를 들어이 답변 의 마지막 그림에서 볼 수 있습니다. 두 공식을 오버레이하면 이중 플롯 또는 이중 공간이 생깁니다.
ttnphns

My guess is that x1, x2, p1, p2 all lie on one ellipse여기서 타원의 휴리스틱 지원은 무엇입니까? 나는 그것을 의심한다.
ttnphns

답변:


5

질문에 표시된 모든 요약은 두 번째 순간에만 의존합니다. 또는 동등하게 행렬 X ' X에서 . 우리는 X점 구름 으로 생각하고 있기 때문에 ( 각 점은 X 의 행) 이러한 점에 대한 간단한 조작으로 X ' X 의 특성을 보존 할 수 있습니다 .XXXXXXX

하나는 왼쪽 곱한다 하여 N × N 행렬 U 다른 생산할 것이다 N × 2 행렬 U X를 . 이것이 작동하기 위해서는Xn×nUn×2UX

XX=(UX)UX=X(UU)X.

n × n 항등 행렬 인 경우, 즉 U직교 하는 경우 동등성이 보장됩니다 .UUn×nU

직교 행렬은 유클리드 반사 및 회전 ( R n 에서 반사 그룹 을 형성 함)의 산물이라는 것이 잘 알려져 있으며 쉽게 설명 할 수있다 . 회전을 현명하게 선택하면 X를 극적으로 단순화 할 수 있습니다 . 한 가지 아이디어는 한 번에 구름의 두 점에만 영향을주는 회전에 초점을 맞추는 것입니다. 이것들은 특히 간단합니다.RnX그것들은 시각화 할 수 있기 때문에 합니다.

구체적으로, ( x j , y j ) 는 클라우드에서 X의ij 를 구성하는 두 개의 별개의 0이 아닌 점으로 둡니다 . 이 두 점에만 영향을주는 열 공간 R n 의 회전은(xi,yi)(xj,yj)ijXRn

{(xi,yi)=(cos(θ)xi+sin(θ)xj,cos(θ)yi+sin(θ)yj)(xj,yj)=(sin(θ)xi+cos(θ)xj,sin(θ)yi+cos(θ)yj).

이것이 중요한 것은 평면에서 벡터 ( y i , y j ) 를 그리고 각도 θ 만큼 회전시키는 것 입니다. (좌표가 어떻게 혼합되는지 주목하십시오! x 는 서로 가고 y 는 함께갑니다. 따라서 R n 에서의이 회전의 효과는 일반적으로 벡터의 회전처럼 보이지 않습니다 ( x i , y i )( x j , y j )(xi,xj)(yi,yj)θxyRn(xi,yi)(xj,yj) 그려진로서 R2 ).

올바른 각도를 선택하면 이러한 새로운 구성 요소 중 하나를 제로화 할 수 있습니다. 구체적으로 선택 하여θ

{cos(θ)=±xixi2+xj2sin(θ)=±xjxi2+xj2.

이것은 입니다. y ' j0 으로 만들 부호를 선택하십시오 . 이 연산을 호출 하여 X , γ ( i , j )로 표시되는 구름에서 점 ij 를 변경 합니다.xj=0yj0ijXγ(i,j)

재귀 적으로 적용 에 대한 X는 의 첫 번째 열 발생할 X를 첫 번째 행에 제로한다. 기하학적으로 구름의 한 점을 제외한 모든 점을 y 축으로옮겼습니다. 이제 R n의 좌표 2 , 3 , , n 을포함하는 단일 회전을 적용하여해당 n 을 압착 할 수 있습니다γ(1,2),γ(1,3),,γ(1,n)XXy2,3,,nRn 은 단일 지점으로 내려갑니다. 마찬가지로, X 는 블록 형태로 축소되었습니다n1X

X=(x1y10z),

함께 Z 와 두 열 벡터 N - 1 개 좌표, 이러한 방법이하여0zn1

XX=((x1)2x1y1x1y1(y1)2+||z||2).

이 최종 회전은 위쪽 삼각형 형태 로 더 줄입니다.X

X=(x1y10||z||0000).

사실상, 우리는 이제 이해할 수 있습니다훨씬 더 간단한 2 × 2 행렬 ( x 1 y 1 0 | | z | | )로 XX2×2(x1y10||z||) 서있는 마지막 두 개의 0이 아닌 점들에 의해 생성 된 .

예를 들어, 나는 이변 량 정규 분포에서 4 개의 iid 점을 그리고 값을 반올림했습니다.

X=(0.090.120.310.630.740.231.80.39)

이 초기 점 구름은 다음 그림의 왼쪽에 검은 색 점을 사용하여 표시되며, 화살표가 원점에서 각 점을 가리 키도록합니다 ( 벡터 로 시각화하는 데 도움이 됨 ).

그림

연산의 순서는 이러한 점에 영향을 γ(1,2),γ(1,3),γ(1,4)yX||z||(x1,y1)

X

(1)θ  (cos(θ)x1,cos(θ)y1+sin(θ)||z||)

두 번째 벡터는 다음과 같이 동일한 경로를 추적합니다.

(2)θ  (sin(θ)x1,sin(θ)y1+cos(θ)||z||).

이 곡선은 점 집합 의 이미지이므로 지루한 대수를 피할 수 있습니다.{(cos(θ),sin(θ)):0θ<2π}

(1,0)  (x1,0);(0,1)  (y1,||z||),

θ(1) (2)θ

그림 2

이들은 직교하고 타원의 축을 따라 향하기 때문에 주축 인 PCA 솔루션 을 정확하게 묘사합니다 . 질문 1에 답합니다.


R2p=2R2

γ(i,j)QXRDVX=UDVU 우연히 해당 게시물의 마지막 그림에 표시된 점 구름을 형성합니다.

p2


귀하의 답변은 그 자체로 모범이 될 수 있지만 그것이 질문과 어떻게 관련되어 있는지는 분명하지 않습니다. 데이터 클라우드 X 에 대해 말하고 있습니다. 회전하는 벡터는 데이터 포인트, X 행입니다. 그러나 문제는 축소 된 주제 공간 에 관한 것이었다 . 다시 말해, 우리는 데이터 X가 없으며 2x2 공분산 또는 산란 행렬 X'X 만 있습니다.
ttnphns

(계속) 우리는 길이 = sqrt (diagonal elements)와 angle = 그들의 상관 관계를 가진 2 개의 벡터로 요약 된 2 개의 변수를 나타냅니다. 그런 다음 OP 는 주요 구성 요소를 완전히 기하학적으로 해결할 수있는 방법을 묻습니다 . 다시 말해 OP는 2x2 대칭 공분산 행렬의 기하학적 고유 분해 (고유 값 및 고유 벡터 또는 더 나은 하중) 를 설명하려고합니다 .
ttnphns

(계속.) 두 번째 사진을 봐주세요 있다 . 현재 질문의 OP가 추구하는 것은 주어진 그림 X와 Y 만 가진 그림에 벡터 P1과 P2를 그리는 기하학적 (삼각 등의) 도구 또는 트릭을 찾는 것입니다.
ttnphns

1
XXXX엑스

1
고마워요, 당신의 생각을 이해하기 시작했습니다. (독자 용으로 구조화하기 위해 두 개의 "반쪽"에 대한 답변에 자막 / 시놉시스를 추가했으면합니다.)
ttnphns
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.