PCA 목적 함수 : 분산 최대화와 오류 최소화 간의 관계는 무엇입니까?


32

PCA 알고리즘은 상관 행렬의 관점에서 공식화 될 수 있습니다 (데이터 X 가 이미 정규화되었고 첫 번째 PC 로의 투영 만 고려하고 있다고 가정 ). 목적 함수는 다음과 같이 작성할 수 있습니다.

maxw(Xw)T(Xw)s.t.wTw=1.

이것은 괜찮습니다. 우리는 Lagrangian multipliers를 사용하여 문제를 해결합니다.

maxw[(Xw)T(Xw)λwTw],

어느 것이

maxw(Xw)T(Xw)wTw,

따라서 ( Mathworld에서 여기 참조 )는

maxwi=1n(distance from point xi to line w)2.

그러나 이것은 점과 선 사이의 거리를 최대화하기 위해 말하는 것이며 여기서 읽은 내용 에서 이것은 잘못 입니다. \ max가 아니라 \ min 이어야합니다 . 내 오류는 어디에 있습니까?minmax

또는 누군가 투사 공간의 편차를 극대화하고 점과 선 사이의 거리를 최소화하는 것 사이의 연결을 보여줄있습니까?


구성 요소의 직교성 기준을 충족시키기 위해 최소 거리가 사용된다고 생각합니다. 점은 서로 직교하는 PC에 투영되지만 각 연속 구성 요소에서 나머지 분산이 최대화됩니다.
Michael R. Chernick

힌트 : 가장 큰 고유 값이 아닌 가장 작은 고유 값을 먼저 고려하면 어떻게됩니까 ?
whuber

@whuber 가장 작은 고유 값은 최종 목적 함수에 대한 솔루션 인 PC를 가지고있을 것입니다. 그러나이 PC는 원래 목적 함수를 최대화하지 않습니다.
Cam.Davidson.Pilon

2
"최종"과 "원래"객관적인 기능, Cam의 의미를 잘 모르겠습니다. PCA는 (개념적으로) 최적화 프로그램이 아닙니다. 출력은 단지 하나의 방향이 아닌 주요 방향의 집합입니다. 일련의 제약 된 2 차 프로그램을 풀어서 이러한 방향을 찾을 수 있다는 것은 (흥미로운) 수학적 이론이지만 PCA의 개념이나 실천의 기본은 아닙니다. 나는 가장 큰 고유 값보다는 가장 작은 고유 값에 초점을 두어 (1) 거리를 최소화하고 (2) PCA의 최적화 관점을 취하는 두 가지 아이디어를 조정할 수 있다고 제안합니다.
whuber

1
괜찮습니다-당신의 대답은 내가하려고하는 일의 실수가 아닌 버전이었습니다.
Cam.Davidson.Pilon

답변:


42

하자 와를 중심으로 데이터 행렬 N 행 관찰. 하자 Σ = XX / ( N - 1 ) 수의 공분산 행렬. 변수 공간에서 축을 지정하는 단위 벡터를 w 로 하자 . 우리는 w 가 첫 번째 주축이 되기를 원합니다 .엑스Σ=엑스엑스/(1)

첫 번째 방법에 따르면, 우선 주축 투영의 분산을 극대화 (제 주성분의 분산). 이 분산은 V a r ( X w ) = wXX w / ( n - 1 ) = w Σ w로 나타 냅니다.엑스

V에이아르 자형(엑스)=엑스엑스/(1)=Σ.

엑스엑스

XXww2=tr((XXww)(XXww))=tr((XXww)(XwwX))=tr(XX)2tr(XwwX)+tr(XwwwwX)=consttr(XwwX)=con에스아르 자형(엑스엑스)=기음영형에스기음영형에스Σ.

주항 앞에 빼기 부호가 있습니다. 따라서 재구성 오류를 최소화 하는 것은 분산 인 를 최대화 하는 것입니다. 따라서 재구성 오류를 최소화하는 것은 분산을 최대화하는 것과 같습니다. 두 공식 모두 동일한 산출합니다 .Σ


내가 눈치 뭔가 아니다 에 대하여 볼록 기능 ( 으로 ? PSD 얼마나 와서 우리가 그것을 극대화하려고wΣΣ
Royi

@amoeba 마지막 단계에서 tr ()에서 const로가는 방법을 설명 할 수 있습니까?
alberto

1
@alberto 트레이스 안에있는 것은 숫자 (1x1 행렬)입니다. 숫자의 추적은이 숫자 자체이므로 추적을 제거 할 수 있습니다. 때문에 나타나는 상수 같다 그래서가이 계수. Σ엑스엑스/1/
amoeba는 Reinstate Monica

1
@Leullame 직교 열이있는 행렬 인 경우 대한 축약어가 계산에 포함됩니다 . 3 번 줄에서 4 번 줄로 가려면 이 필요합니다 . 행렬 에 직교 정규 열이있는 경우 실제로 은 의 열로 확장 된 부분 공간에 대한 의 투영입니다 (여기서 는 행 벡터 임). =나는엑스엑스엑스
amoeba는

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