PCA가 거리 문제가있는 기하학적 문제에서 선형 대수 문제로 변하는 방법에 대한 직관적 설명은 무엇입니까?


53

나는 다양한 튜토리얼과 (같은 질문을 포함 PCA에 대해 많이 읽은 이 하나 , 이 하나 , 이 하나 , 그리고 이 일을 ).

PCA가 최적화하려는 기하학적 문제는 나에게 분명합니다. PCA는 재구성 (투영) 오류를 최소화하여 첫 번째 주요 구성 요소를 찾으려고합니다.

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

내가 처음 읽을 때, 나는 선형 회귀와 같은 것을 즉시 생각했습니다. 필요한 경우 그라디언트 디센트를 사용하여 해결할 수 있습니다.

그러나 선형 대수를 사용하고 고유 벡터와 고유 값을 찾아서 최적화 문제가 해결되었다는 것을 읽었을 때 마음이 터졌습니다. 나는 선형 대수학이 어떻게 사용되는지 이해하지 못한다.

그래서 내 질문은 : PCA가 어떻게 기하학적 최적화 문제에서 선형 대수 문제로 바꿀 수 있습니까? 누군가가 직관적 인 설명을 제공 할 수 있습니까?

나는 같은 대답을 찾고 있지 않다 이것 말한다 "당신은 PCA의 수학 문제를 해결할 때, 공분산 행렬의 고유 값과 고유 벡터를 찾는에 해당 될 수있을 테니까요." 설명해주십시오 고유 벡터는 주요 구성 요소로 나와서 고유 값이 나올들을 투영 데이터의 분산으로

그건 그렇고, 나는 수학자가 아닌 소프트웨어 엔지니어입니다.

참고 : 위의 그림은 이 PCA 학습서 에서 가져 와서 수정되었습니다 .


2
첫 번째 링크의 긴 스레드에는 @amoeba의 애니메이션 답변 이 있으며 핵심 내용을 설명합니다. PCA는 데이터 축 (열)이 데이터 벡터 (변수)와 상관되지 않을 때까지 데이터 축 (열) 의 회전 입니다. 이러한 회전 행렬 은 고유 분해 또는 특이 값 분해를 통해 발견되며 고유 벡터 행렬이라고합니다.
ttnphns

2
게다가, 당신이 수학자가 아니더라도 (나도 그렇지는 않습니다) 아마도 선형 대수유클리드 기하학 이 매우 밀접하게 묶여있는 수학 분야에 대해 들었을 것입니다 . 그들은 심지어 분석 기하학이라고 불리는 학문으로 함께 연구됩니다.
ttnphns

1
optimization problem그렇습니다. PCA 문제는 (반복적, 수렴 적) 최적화 접근법을 통해 해결할 수 있다고 생각합니다. 그러나 수학을 통해 양식 솔루션을 닫았으므로 왜 더 간단하고 효율적인 솔루션을 사용하지 않습니까?
ttnphns

요청합니다 provide an intuitive explanation. 내가 연결 한 amoeba의 직관적이고 명확한 대답이 왜 적합하지 않은지 궁금 합니다. _why_ eigenvectors come out to be the principal components...왜 물어 ? 정의에 의해! 고유 벡터 데이터 클라우드의 주요 방향입니다.
ttnphns 2016 년

6
@ttnphns : 실제로 질문이 합리적이라고 생각합니다. 내가 이해하는 방법은 다음과 같습니다. PCA는 투영의 최대 분산 방향을 찾고자합니다. 이 방향을 (정의 적으로) 첫 번째 기본 방향이라고합니다. 다른 한편으로, 공분산 행렬 의 고유 벡터 는 (정의 적으로) 와 같은 벡터 이다 . 그렇다면 왜 고유 값이 가장 큰 고유 벡터에 의해 첫 번째 주방 향이 주어 집니까? 여기에 직관이 무엇입니까? 확실히 정의에 의한 것은 아닙니다. 나는 그것에 대해 생각하고 그것을 증명하는 방법을 알고 있지만 직관적으로 설명하기는 어렵습니다. w C w = λ wCwCw=λw
amoeba는

답변:


54

문제 설명

PCA가 최적화하려는 기하학적 문제는 나에게 분명합니다. PCA는 재구성 (투영) 오류를 최소화하여 첫 번째 주요 구성 요소를 찾으려고합니다.

맞습니다. 나는 여기 (수학없이) 또는 여기 ( 수학적으로) 에서이 두 공식 간의 연결을 설명합니다 .

Cww=1wCw

(이것이 분명하지 않은 경우 : 가 중심 데이터 행렬 인 경우 투영은 의해 주어 지고 그 분산은 )XXw1n1(Xw)Xw=w(1n1XX)w=wCw

반면에,의 고유 벡터 정의함으로써, 어떠한 벡터 되도록 .CvCv=λv

첫 번째 주 방향은 고유 값이 가장 큰 고유 벡터에 의해 주어진다는 것이 밝혀졌습니다. 이것은 사소하고 놀라운 진술입니다.


증명

PCA에서 책이나 튜토리얼을 열면 위의 진술에 대한 거의 한 줄의 증거를 찾을 수 있습니다. ; 제약 조건에서 를 최대화하려고합니다 . 이것은 Lagrange 멀티 플라이어를 도입하고 최대화하는 것이 가능합니다 . 미분하면 . 이는 고유 벡터 방정식입니다. 우리는 가이 솔루션을 목적 함수로 대체함으로써 실제로 가장 큰 고유 값 임을 보았습니다.wCww=ww=1wCwλ(ww1)λCwλw=0λwCwλ(ww1)=wCw=λww=λ . 이 목적 함수를 최대화해야한다는 사실 때문에 는 가장 큰 고유 값 QED 여야합니다.λ

이것은 대부분의 사람들에게 직관적이지 않은 경향이 있습니다.

더 나은 증거 (예 : @cardinal의 깔끔한 답변 참조 )는 가 대칭 행렬 이기 때문에 고유 벡터를 기준으로 대각선이라는 것을 나타냅니다. (이것은 실제로 스펙트럼 정리 라고합니다 .) 우리는 직교 기준, 즉 고유 벡터에 의해 주어진 것을 선택할 수 있습니다. 여기서 는 대각선이고 고유 값은 입니다. 이를 바탕으로 는 단순화됩니다. 즉, 분산은 고유 값의 가중치 합계에 의해 제공됩니다. 이 식을 최대화하려면 간단히CC λ i wC wλ i w 2 i w = ( 1 , 0 , 0 , , 0 ) λ 1 wC wCλiwCwλiwi2w=(1,0,0,,0)즉, 첫 번째 고유 벡터로 분산 산출합니다 (실제로이 솔루션에서 벗어나고 작은 요소의 부품에 대해 가장 큰 고유 값의 "거래"부분은 전체 분산이 더 작아짐). 의 값은 기본에 의존하지 않습니다! 고유 벡터 기준으로 변경하면 회전이 발생하므로 2D에서 산점도를 사용하여 종이를 회전시키는 것을 상상할 수 있습니다. 분명히 이것은 변화를 바꿀 수 없습니다.λ1wCw

저는 이것이 매우 직관적이고 매우 유용한 주장이라고 생각하지만, 스펙트럼 정리에 의존합니다. 제가 생각하는 실제 문제 는 스펙트럼 정리의 직관이 무엇입니까?


스펙트럼 정리

대칭 행렬 취하십시오 . 고유 값이 고유 벡터 을 취하십시오 . 이 고유 벡터를 첫 번째 기본 벡터로 만들고 다른 기본 벡터를 무작위로 선택하십시오 (모두 정규직이되도록). 어떻게 것 이 기준에 모습을?Cw1λ1C

그것은 것이다 하기 때문에, 왼쪽 상단 이 기초하고있는 은 과 같아야합니다 .λ1w1=(1,0,00)Cw1=(C11,C21,Cp1)λ1w1=(λ1,0,00)

같은 인수로 아래의 첫 번째 열에는 0이 있습니다 .λ1

그러나 대칭이기 때문에 다음의 첫 번째 행에도 0이 있습니다. 따라서 다음과 같이 보일 것입니다.λ1

C=(λ10000),

여기서 빈 공간은 일부 요소의 블록이 있음을 의미합니다. 행렬은 대칭이므로이 블록도 대칭입니다. 따라서 두 번째 고유 벡터를 효과적으로 2 차 벡터로 사용 하고 대각선에 및 를 얻는 것과 동일한 인수를 적용 할 수 있습니다 . 이것은 가 대각선 이 될 때까지 계속 될 수 있습니다 . 그것은 본질적으로 스펙트럼 정리입니다. ( 가 대칭 이기 때문에 작동 방식에 유의하십시오 .)λ1λ2CC


다음은 정확히 같은 주장에 대한보다 추상적 인 재구성입니다.

우리는 이므로 첫 번째 고유 벡터는 가 스칼라 곱셈으로 작용 하는 1 차원 부분 공간을 정의합니다 . 이제 과 직교 인 벡터 보자 . 그러면 또한 과 직교 한다는 것은 거의 즉각적입니다 . 과연:Cw1=λ1w1Cvw1Cvw1

w1Cv=(w1Cv)=vCw1=vCw1=λ1vw1=λ10=0.

이 것을 의미 전체의 나머지 부분 공간에 작용 직교 는 별도 유지되도록 . 이것이 대칭 행렬의 중요한 속성입니다. 따라서 우리는 여기서 가장 큰 고유 벡터 인 를 찾아 같은 방식으로 진행하여 결국 정규직 고유 벡터를 구성합니다.Cw1w1w2


"Lagrange multiplier"는 정말 분명합니다. 그러나 왜 단위 길이 제약이 필요한지 말해 줄 수 있습니까? 감사합니다
Haitao Du

2
@ hxd1011 여기에 정확히이 질문이 있지만 간단히 말하면 를 임의의 숫자로 곱할 수 있고 는이 숫자의 제곱만큼 증가하기 때문입니다. 따라서 문제가 잘못 정의됩니다.이 표현식의 최대 값은 무한합니다. 실제로, 방향의 돌기의 분산 이다 에만 단위 길이이다. w C w w w C w wwwCwwwCww
아메바는 모니카 주립대 모니카

나는 이 대부분의 독자들에게 좀 더 친숙하다고 생각 합니다. 나는 그것을 여기에 바꿨다. 감사. n1
아메바는 모니카 주립대 모니카

@amoeba : 답변 주셔서 감사합니다. 나는 당신의 표기법에 혼란 스럽습니다. w 를 사용 하여 첫 번째 고유 벡터 (주성분) 인 단위 길이 벡터를 나타냅니다. R에서 PCA를 실행하면 (예 prcomp(iris[,1:4], center=T, scale=T):)와 같은 수레가있는 단위 길이 고유 벡터가 나타납니다 (0.521, -0.269, 0.580, 0.564). 그러나 "Proofs"아래의 답변 에서이 식을 최대화하려면 간단히 w = (1,0,0,…, 0), 즉 첫 번째 eigenvector를 취해야한다는 것이 거의 즉각적입니다 . 증거의 고유 벡터가 왜 그렇게 잘 구성되어 있습니까?
stackoverflowuser2010 년

1
안녕 @ user58865, 너지 주셔서 감사합니다 : 나는 처음으로 대답하는 것을 잊어 버렸습니다. 얇은 것은 는 스칼라입니다. 숫자 일뿐입니다. 모든 숫자는 "대칭":)이며 전치와 같습니다. 말이 되나요? w1Cv
amoeba는

5

Eckart and Young ( https://ccrma.stanford.edu/~dattorro/eckart%26young.1936.pdf )의 1936 년 결과 는 다음과 같습니다.

1rdkukvkT=argminX^ϵM(r)||XX^||F2

여기서 M (r)은 rank-r 행렬의 집합이며, 기본적으로 X의 SVD의 첫 번째 r 구성 요소는 X의 가장 낮은 순위의 행렬 근사값을 제공하고 best는 제곱 된 Frobenius norm-제곱의 합으로 정의됩니다. 행렬의 요소.

이것은 행렬의 일반적인 결과이며 처음에는 데이터 세트 또는 차원 축소와 관련이 없습니다.

그러나 를 행렬로 생각하지 않고 데이터 점의 벡터를 나타내는 행렬 의 열을 생각하면 는 오차 차이 제곱 측면에서 최소 표현 오류의 근사치입니다.X XXXX^


4

이것은 PCA의 선형 대수학에 대한 나의 견해입니다. 선형 대수학에서 핵심 정리 중 하나는 입니다. S가 실수 계수를 갖는 n 행렬의 n 대칭 인 경우 S는 모든 고유 값이 실수 인 n 개의 고유 벡터를 갖습니다. 즉 , 양수 항목이있는 대각선 행렬 D를 사용하여 을 쓸 수 있습니다 . 이는 이며 이라고 가정해도 아무런 해가 없습니다 . A는 기본 행렬의 변화입니다. 즉, 원래 기준이 이면 의해 주어진 기준과 관련하여 S = A D A 1Spectral TheoremS=ADA1 ( x i ) | | = λ i A ( x i )D=diag(λ1,λ2,,λn)λ1λ2λnx1,x2,,xnA(x1),A(x2),A(xn)S의 작용은 대각선이다. 이는 또한 가 와 직교하는 기초로 간주 될 수 있음을 의미합니다. 공분산 행렬이 n 개의 변수에 대한 n 개의 관측치에 대한 것이면 완료됩니다. 에 의해 제공되는 기준 PCA에 기초한다. 이것은 선형 대수 사실에서 비롯됩니다. 본질적으로 PCA 기초는 고유 ​​벡터의 기초이고 크기 n의 정사각 행렬의 n 개의 고유 벡터가 있기 때문에 사실이다. 물론 대부분의 데이터 행렬은 정사각형이 아닙니다. X가 p 변수에 대한 n 개의 관측치가있는 데이터 행렬 인 경우 X의 크기는 n x p입니다. (변수보다 더 많은 관측치)와 라고 가정하겠습니다.A(xi)||A(xi)||=λiA(xi)
n>prk(X)=p(모든 변수는 선형 적으로 독립적입니다). 어떤 가정도 필요하지 않지만 직감에 도움이 될 것입니다. 선형 대수학은 스펙트럼 정리에서 단일 값 분해라고하는 일반화를 가지고 있습니다. 이러한 X의 경우 , 크기 n과 p의 U, V 직교 정규 (제곱) 행렬을 가진 이고 음수가 아닌 실제 대각 행렬 인 대각선의 항목. 다시 우리가되도록 V를 기초로 재 배열 할 수있다 행렬 측면에서,이 것을 의미 경우 경우 및 입니다. X=UΣVtΣ=(sij)s11s22spp>0X(vi)=siiuis i i = 0 i > n v i Σ V tipsii=0i>nviPCA 분해. 보다 정확하게는 가 PCA 분해입니다. 왜 선형 선형 대수학에서는 고유 벡터 만 존재할 수 있다고 말합니다. SVD는 직교하고 감소하는 표준을 갖는 새로운 변수 (V의 열에 의해 주어진)를 제공합니다. ΣVt


4

"영사되는 데이터의 분산을 동시에 최대화합니다." Rayleigh quotient에 대해 들어 보셨습니까 ? 어쩌면 이것이 이것을 보는 한 가지 방법 일 것입니다. 즉, 공분산 행렬의 레일리 몫은 투영 된 데이터의 분산을 제공합니다. (그리고 위키 페이지는 고유 벡터가 Rayleigh 몫을 최대화하는 이유를 설명합니다)


1

@amoeba는 다음과 같은 형식화와 증거를 제공합니다.

공분산 행렬 C가 주어지면, w T Cw가 최대가 되도록 단위 길이 "w"= 1을 갖는 벡터 w를 찾고있다 .

그러나 나는 한 가지 직관적 인 증거가 있다고 생각합니다.

첫 번째 주 방향은 고유 값이 가장 큰 고유 벡터에 의해 주어진다는 것이 밝혀졌습니다. 이것은 사소하고 놀라운 진술입니다.

w T Cw를 벡터 w와 Cw 사이의 내적으로 해석 할 수 있으며 , 이는 변환 C를 통해 얻을 수 있습니다 .

w T Cw =“ w” *“Cw”* cos (w, Cw)

w는 고정 길이를 가지므로 w T Cw 를 최대화 하려면 다음이 필요합니다.

  1. "Cw"최대화
  2. cos (w, Cw) 최대화

w가 가장 큰 고유 값을 갖는 C의 고유 벡터가된다면, 둘 다 동시에 아카이브 할 수 있습니다.

  1. "Cw"는 최대입니다 (이 고유 벡터에서 벗어나면 직교 고유 벡터를 따라 분해하면 "Cw"가 감소합니다).
  2. 같은 방향의 w와 Cw, cos (w, Cw) = 1, 최대

고유 벡터는 C의 다른 고유 벡터와 함께 직교하기 때문에 X에 대한 주요 구성 요소 세트를 형성합니다.


1의 증거

w를 직교 1 차 및 2 차 고유 벡터 v1v2 로 분해 하고 , 길이가 각각 v1 및 v2라고 가정합니다. 우리는 증명하고 싶다

1 W) (2) > ((λ 1 V1) 2 + (λ 2 V2) 2 )

λ 이후 1 > λ 2 , 우리는이

((λ 1 v1) 2 + (λ 2 v2) 2 )

<((λ 1 v1) 2 + (λ 1 v2) 2 )

= (λ 1 ) 2 * (v1 2 + v2 2 )

= (λ 1 ) 2 * 승 2

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.