PCA의 목적 기능은 무엇입니까?


42

주성분 분석 매트릭스 분해를 사용할 수 있지만, 이는 단지 도달하기위한 도구 일뿐입니다.

행렬 대수를 사용하지 않고 주성분을 어떻게 찾을 수 있습니까?

목적 함수 (목표)는 무엇이며 제약 조건은 무엇입니까?


1
어쩌면 내가 누락 된 것이기 때문에 내가 틀렸다면 수정하십시오. (적어도 원칙적으로) (복잡한) 선형 프로그래밍 문제로 행렬을 사용하여 PCA에서 수행되는 작업을 구성하는 것이 가능해야합니다. 필요한 모든 제약 조건을 설명하는 방법을 알고 있어야합니다. 또한 PCA를 사용하는 것과 비교하여 매우 간단하다는 것을 확신하지 못합니다. 왜 행렬을 피하려고합니까?
Chris Simokat

@Chris 선형 프로그래밍 문제를 어떻게 해결할 수 있는지 모르겠습니다. 계산 에서 행렬을 피해야한다는 것을 이해하지 못했습니다 . 문제는 PCA에 의해 어떤 종류의 문제가 해결 되었는가 (SVD를 계산하는 등의) 방식이 아닙니다. 추기경의 해결책은 최대 분산 의 연속 직교 방향을 찾는다고 말합니다 . 내가 제시 한 솔루션에 따르면 재구성 오류가 최소화 된 초평면을 찾을 수 있습니다.
NRH

@ chris 매트릭스 대수없이 PCA를 볼 수있는 또 다른 방법을 찾고자합니다.
Neil McGuigan

1
@Chris, 당신은 2 차 목적 함수와 표준 평등 제약 조건을 가지고 있습니다. 또는 @NRH의 답변 공식에서 행렬 순위 제약 조건이 있습니다. 그것은 선형 프로그래밍 문제로 넘어 가지 않을 것입니다. @NRH는 약간의 직관력을 제공하며 실제로 PCA의 두 가지 관점 사이에는 밀접한 관련이 있습니다. @NRH와 협력하여 전체 답변을 더 완벽하게 만들기 위해 게시물에 추가 할 수 있습니다. 2
추기경

1
@NRH, 사실 ESL 을 많이 좋아 하지만이 주제에 대한 치료는 책의 많은 주제에서와 같이 매우 피상적이라고 생각합니다. 특히, 그들은 당신이주는 최적화 문제에 대한 솔루션의 중요한 부분을 입증하지 못하거나 연습으로 할당하지도 않습니다.
추기경

답변:


41

최적화 관점에서 PCA에 대한 완전한 입문서를 제공하지 않고 기본 목표 함수Rayleigh quotient 입니다. 몫에 나타난 행렬은 표본 공분산 행렬 여기서 각 는 피처 의 벡터 이고 는 번째 행이 가되도록 행렬 입니다.

S=1ni=1nxixiT=XTX/n
p X i x T ixipXixiT

PCA는 일련 의 최적화 문제 를 해결하려고합니다 . 순서의 첫 번째는 제한되지 않은 문제

maximizeuTSuuTu,uRp.

이후위의 제한되지 않은 문제는 제한된 문제 u T S u를 최대화 하도록 u T u = 1을 적용합니다uTu=u22=uu

maximizeuTSusubject touTu=1.

여기에 행렬 대수가 나오는 곳이 있습니다. 는 (양식 별) 대칭 양의 반 정규 행렬이므로 형식의 고유 값 분해를 갖습니다. 여기서 는 직교 행렬 (따라서 )이고 은 음수가 아닌 와 함께 과 같은 음수가 아닌 대각 행렬입니다 .S

S=QΛQT,
QQQT=IΛλiλ1λ2λp0

그러므로, . 이후 하나의 표준을 갖는 것이 문제로 구속하고 그렇다 보낸 , 덕분에 직교.uTSu=uTQΛQTu=wTΛw=i=1pλiwi2uww2=QTu2=u2=1Q

그러나 제약 조건에서 수량을 최대화하려는 경우 최선을 다하는 것이 세트 ,이라고 및 에 대한 .i=1pλiwi2i=1pwi2=1w=e1w1=1wi=0i>1

이제 우리가 먼저 찾은 해당 제거하면 여기서 는 의 첫 번째 열 , 즉 의 가장 큰 고유 값에 해당하는 고유 벡터를 나타냅니다 . 목적 함수의 값은 것으로 쉽게 볼 수 있습니다 .u

u=Qe1=q1
q1QSλ1

나머지 주성분 벡터는 최적화 문제 의 시퀀스 ( 색인화 됨 )를 해결하여 따라서 문제가 동일하지만 솔루션이 시퀀스의 모든 이전 솔루션에 직교해야한다는 추가 제약 조건을 추가한다는 점이 다릅니다 . 번째 문제의 해가 실제로 의 번째 고유 벡터 인 임을 나타 내기 위해 위의 주장을 유도 적으로 확장하는 것은 어렵지 않습니다 .i

maximizeuiTSuisubject touiTui=1uiTuj=01j<i.
iqiiS

PCA 솔루션은 종종 의 특이 값 분해 로 표현됩니다 . 이유를 확인하려면 . 그런 다음 그래서 (엄밀히 말하면, 뒤집기 부호까지) 및 .XX=UDVTnS=XTX=VD2VTV=QΛ=D2/n

주성분 은 주성분 벡터에 투영하여 찾습니다. 방금 주어진 SVD 공식에서 X

XQ=XV=UDVTV=UD.

주요 구성 요소 벡터와 주요 구성 요소 자체를 피처 매트릭스의 SVD로 표현하는 단순성은 SVD 피처가 PCA의 일부 처리에서 두드러지게 나타나는 이유 중 하나입니다.


처음 몇 개의 특이 값 / 벡터 만 필요한 경우 Nash와 Shlien은 지배적 고유 값 계산을위한 일반적인 전력 방법을 연상시키는 알고리즘을 제공 합니다 . OP에 관심이있을 수 있습니다.
JM은 통계학자가 아닙니다.

@NRH, 오타를 확인하기 전에 오타를 잡아서 수정 해 주셔서 감사합니다!
추기경

1
안녕 @ 추기경, 답변 주셔서 감사합니다. 그러나 순차 최적화가 글로벌 최적으로 이어지는 이유를 입증하는 단계를 제공하지 않은 것 같습니다. 좀 더 자세히 설명해 주시겠습니까? 감사!
Lifu Huang

21

추기경으로 제시된 솔루션 은 샘플 공분산 매트릭스에 중점을 둡니다. 또 다른 시작점은 q 차원 초평면에 의한 데이터 의 재구성 오류 입니다 . 경우] P 차원 데이터 포인트는 대물 해결하는x1,,xn

minμ,λ1,,λn,Vqi=1n||xiμVqλi||2

A에 대한 행렬 직교 열과 함께 . 이것은 유클리드 규범에 의해 측정 된 최고 순위 q 재구성을 제공하며 , 솔루션 의 열은 첫 번째 q 주성분 벡터입니다.p×qVqλiRqVq

고정 의 경우 및 (회귀)에 대한 솔루션 은 Vqμλi

μ=x¯=1ni=1nxiλi=VqT(xix¯)

표기법을 쉽게하기 위해 가 다음 계산의 중심에 있다고 가정합니다 . 그런 다음 최소화해야합니다 xi

i=1n||xiVqVqTxi||2

정규 직교 열을 사용하여 이상 . 참고 는 IS 투영Q 차원 열 공간. 따라서 문제는 을 최소화하는 것과 같습니다. 랭크 이상 q 개의 돌기 . 우리가 필요하다 최대화 랭크 q 투영 , 여기서 는 샘플 공분산 행렬입니다. 지금VqP=VqVqT

i=1n||xiPxi||2=i=1n||xi||2i=1n||Pxi||2
P
i=1n||Pxi||2=i=1nxiTPxi=tr(Pi=1nxixiT)=ntr(PS)
PS
tr(PS)=tr(VqTSVq)=i=1quiTSui
여기서 는 의 (정규) 열 이며 @ cardinal 's answer에 표시된 인수는 ' 들 수하는 대한 고유 벡터 와 가장 큰 고유 값.u1,,uqqVquiqSq

재구성 오류는 다수의 유용한 일반화, 예를 들어 희소 주성분 또는 초평면 대신 저 차원 매니 폴드에 의한 재구성을 암시합니다. 자세한 내용 은 통계 학습 요소 14.5 단원을 참조하십시오 .


(+1) 좋은 점. 몇 가지 제안 : 그것은 정의하는 것이 좋은 것 하고있을 것이다 정말 결과의 짧은 증거를 제공하기 위해 좋은. 또는 Rayleight 몫과 관련된 최적화 문제에 연결할 수도 있습니다. 나는 이것이이 질문에 대한 답변을 매우 완전하게 만들 것이라고 생각합니다! λi
추기경

@ cardinal, 나는 재구성 공식에서 당신이 해결하는 문제에 이르기까지 누락 된 단계를 완료했다고 생각합니다.
NRH

잘 했어. 남은 유일한 차이는 마지막 진술에 있다고 생각합니다. 합계를 최적화하는 것이 내 답변에서 일련의 최적화를 수행하는 것과 동일하다는 것은 즉시 명백하지 않습니다. 사실, 나는 그것이 일반적으로 직접적으로 따르는 것으로 생각하지 않습니다. 그러나 여기서도 다루지 않아도됩니다.
추기경

@ 추기경, 유도가 뒤 따른다. 유도 시작을 제공하고 유도 단계 에서 합계를 최대화하는 직교 정규 벡터 를 선택하고 가 직교하는 단위 벡터가 되도록 정렬하십시오 . 그런 다음 결과로 및 유도 가정 . 물론, 기초는 차원 공간에 대한 고유 한 기초가 아니다 . 직접 증명을하기 위해 사용하는 "볼록 조합 인수"를 일반화 할 수도 있습니다. w1,,wqwqu1,,uq1wqTSwquqTSuqi=1q1wiTSwii=1q1uiTSuiq
NRH

1
@ cardinal, 나는 차원 고려를 사용하여 중첩을 강요하지 않습니다. 차원 부분 공간 이있는 경우 차원 부분 공간과 직교하도록 해당 공간에서 항상 를 선택할 수 있습니다 . 그런 다음 원하는 방식으로 기준 을 채 웁니다 . qwq(q1)w
NRH

4

행렬 분해를 명시 적으로 사용하지 않는 하나의 알고리즘에 대해서는 NIPALS ( wiki )를 참조하십시오 . 나는 당신이 여기에 행렬 대수를 피할 수 없기 때문에 행렬 대수를 피하고 싶다고 말할 때 당신이 의미하는 것으로 생각합니다 :)

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