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


19

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

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

샘플 공간의 PCA

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

주제 공간 1의 PCA

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


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

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

주제 공간 2의 PCA

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

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

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

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

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

그러나 중심으로 x 1 과 x 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 의 특성을 보존 할 수 있습니다 .XX′XXXX′X

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

X′X=(UX)′UX=X′(U′U)X.

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

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

구체적으로, 및 ( x j , y j ) 는 클라우드에서 X의 행 i 및 j 를 구성하는 두 개의 별개의 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 ' j ≥ 0 으로 만들 부호를 선택하십시오 . 이 연산을 호출 하여 X , γ ( i , j )로 표시되는 구름에서 점 i 와 j 를 변경 합니다.xj′=0yj′≥0ijXγ(i,j)

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

X=(x1′y1′0z),

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

X′X=((x1′)2x1′y1′x1′y1′(y1′)2+||z||2).

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

X=(x1′y1′0||z||00⋮⋮00).

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

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

X=(0.090.12−0.31−0.630.74−0.23−1.8−0.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)QXRD⋅V′X=UDV′U 우연히 해당 게시물의 마지막 그림에 표시된 점 구름을 형성합니다.

p≠2


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

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

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

1
XX′XX′엑스

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