PCA가 분류기의 결과를 악화시키는 원인은 무엇입니까?


27

교차 유효성 검사를 수행하는 분류 기가 있으며, 기능의 최적 조합을 찾기 위해 앞으로 선택하는 백여 가지 기능이 있습니다. 또한 PCA로 동일한 실험을 실행하는 것과 비교할 수 있는데, 여기서 잠재적 인 특징을 취하고 SVD를 적용하며 원래 신호를 새로운 좌표 공간으로 변환하고 앞으로 선택 프로세스에서 상위 기능을 사용합니다 .k

신호는 원래의 기능보다 "정보"가 많으므로 PCA가 결과를 개선 할 것이라는 직관이있었습니다. PCA에 대한 순진한 이해가 나를 문제로 이끌고 있습니까? PCA가 일부 상황에서 결과를 개선 할 수있는 일반적인 이유 중 일부를 제안 할 수는 있지만 다른 상황에서는 결과를 악화시킬 수 있습니까?


당신의 질문은 다음과 같이 요약 될 수 있습니까? : "무엇이 더 낫습니다-원래 변수 또는 그로부터 추출 된 몇 가지 주요 구성 요소를 기반으로 분류기를 작성하는 것이 좋습니까?"
ttnphns

1
"원본 변수를 사용하는 것이 더 좋은 경우와 그로부터 추출 된 몇 가지 기본 구성 요소가 더 나은 상황이 있습니까?"
Dolan Antenucci

1
많은 분류 기술이 있습니다. 예를 들어 판별 분석을 수행하는 경우이 게시물 (내 의견 포함) 을 읽는 것이 좋습니다 .
ttnphns 2015 년

1
'분류 자 결과'란 무엇을 의미합니까? 비율이 올바르게 분류 된 경우 불연속적인 부적절한 점수 규칙, 즉 가짜 모델에 의해 최적화 된 정확도 점수입니다. 우선 올바른 정확도 점수 규칙을 사용하는 것이 좋습니다.
Frank Harrell

1
파티에 늦었지만, 다시 한 번 확인해야 할 것은 앞으로 선택의 유효성 검사 결과가 실제로 독립적 인 사례로 얻은 것입니다. 그렇지 않으면 큰 낙관적 편견이 생길 수 있습니다.
cbeleites는 Monica를 지원합니다

답변:


29

훌륭하고 저평가 된 기사 "회귀에 주성분 사용에 대한 참고 사항" 에서 발췌 한 간단한 사례를 고려 하십시오 .

만 있다고 가정 두 (스케일링과 드 meaned), 그들이 나타내는 기능 X 2 정렬 0.5, 동일한 양의 상관 관계와 X , 제 3 응답 변수 Y는 당신이 분류하고 싶습니다. Y 의 분류 가 x 1 - x 2 의 부호로 완전히 결정 되었다고 가정하십시오 .x1x2XYYx1x2

에서 PCA를 수행 하면 Var ( x 1 + x 2 ) = 1 + 1 + 2 ρ > Var ( x 1) 이므로 새로운 (분산 순서대로) 기능 [ x 1 + x 2 , x 1x 2 ]이됩니다 . x 2 ) = 2 2 ρX[x1+엑스2,엑스1엑스2]바르(엑스1+엑스2)=1+1+2ρ>바르(엑스1엑스2)=22ρ. 따라서 치수를 1로 바꾸면 (즉, 첫 번째 주요 구성 요소) 분류에 대한 정확한 솔루션을 버리게됩니다!

PCA가 독립적이기 때문에 문제가 발생합니다 . 불행히도 PCA에 Y 를 포함시킬 수 없으므로 데이터 유출이 발생할 수 있습니다.와이와이


데이터 누출은 문제의 대상 예측 변수를 사용하여 행렬 를 구성하는 것이므로 샘플에서 벗어난 예측은 불가능합니다.엑스

예를 들어, 재무 시계열에서 EST 오전 11:00에 발생하는 유럽 EOL 종료를 예측하려고하면 EST 오후 4시 미국 종료 시점을 사용하여 미국 종료 이후 데이터 유출이 발생합니다. 몇 시간 후에 발생하는 유럽 종가의 가격을 통합했습니다.


2
"데이터 유출"이란 무엇입니까?
user603

@ 웨인 너무 비싸 너무 하하
Cam.Davidson.Pilon

(-1) 혼동을 유발 한 경우 : (1) PCA는 감독되지 않으므로 변환을 구성하는 데 Y가 포함되지 않습니다. 해당 감독 기술은 X와 Y를 모두 사용하는 PLS입니다. (2) 데이터 유출 (통계적으로 의존하는 데이터를 사용한 테스트)은 감독 방법을 사용하는 것 자체를 따르지 않습니다. 반대로 : 모든 계산에서 두 개 이상의 사례를 사용하는 첫 번째 분석 단계 (예 : 센터링, 스케일링, PCA / PLS 투영)에서 규칙을 준수하지 않으면 PLS와 동일하게 PCA에서 발생합니다. 전용 (예 : 요구 될 ... 학습 데이터에서 수행
cbeleites 지원 모니카

... 각 대리 모델에 대해 다시 계산되었습니다. 이러한 계산의 결과는 다음 학습 사례 등에 PCA으로 얻어진 회전에 의해 회전, 즉 학습 데이터에서 얻은 센터 빼기, 테스트 데이터에 적용 할 수 있습니다
cbeleites 모니카 지원

예를 들면 : 시계열은 특히 어려운데, 독립 사례를 구성하는 것은 응용에 따라 크게 달라지기 때문입니다. 예를 들어 stats.stackexchange.com/questions/76376/…
cbeleites는 Monica를 지원합니다 Monica

23

간단한 기하학적 설명이 있습니다. R에서 다음 예제를 시도하고 첫 번째 주성분이 분산을 최대화한다는 것을 상기하십시오.

library(ggplot2)

n <- 400
z <- matrix(rnorm(n * 2), nrow = n, ncol = 2)
y <- sample(c(-1,1), size = n, replace = TRUE)

# PCA helps
df.good <- data.frame(
    y = as.factor(y), 
    x = z + tcrossprod(y, c(10, 0))
)
qplot(x.1, x.2, data = df.good, color = y) + coord_equal()

# PCA hurts
df.bad <- data.frame(
    y = as.factor(y), 
    x = z %*% diag(c(10, 1), 2, 2) + tcrossprod(y, c(0, 8))
)
qplot(x.1, x.2, data = df.bad, color = y) + coord_equal()

PCA 도움 PCA 도움

최대 분산 방향은 수평이며 클래스는 수평으로 구분됩니다.

PCA 아파 PCA가 아프다

최대 분산의 방향은 수평이지만 클래스는 수직으로 분리됩니다


... 그리고 예제 2, 감독 아날로그, PLS가 실제로 도움이 될 것입니다.
cbeleites는 Monica를 지원합니다


3

나는 그 질문에 이미 답이 있지만, 분류하기 전에 피처 변환을 위해 PCA를 사용 하는 것에 관한 이 논문 을 공유하고 싶었다 .

테이크 홈 메시지 (@vqv의 답변에 아름답게 표시됨)는 다음과 같습니다.

PCA (Principal Component Analysis)는 데이터가 가장 높은 변동성을 나타내는 축을 추출하는 데 기반합니다. PCA는 새로운 방식으로 데이터를 "확산"하고 비지도 학습에 큰 도움이 될 수 있지만, 새로운 축이 (지도 된) 분류 문제의 차별적 특징과 일치한다는 보장은 없습니다.

섹션 4. 실험 결과 를 보면 관심있는 사람들 은 분류 정확도를 1) 원래 기능, 2) PCA 변환 기능 및 3) 두 가지의 조합과 비교할 수 있습니다.

내 결론 :

PCA 기반 기능 변환을 통해 많은 기능의 정보를 제한된 수의 구성 요소, 즉 원래 기능의 선형 조합으로 요약 할 수 있습니다. 그러나 주요 구성 요소는 종종 이해하기 어렵고 (직관적이지 않음)이 백서의 실험 결과에 따르면 일반적으로 분류 성능이 향상되지 않습니다.

추신 : 필자가 언급 한 논문의 한계 중 하나는 저자가 분류 자의 성능 평가를 '정확성'으로 제한한다는 사실에 주목했습니다. 이는 매우 편향 된 성과 지표 일 수 있습니다.


3

엑스1,엑스2,엑스와이엑스=와이

와이엑스

엑스1엑스2엑스와이

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