차원 축소는 항상 일부 정보를 잃습니까?


10

제목에서 알 수 있듯이 치수 축소는 항상 일부 정보가 손실됩니까? 예를 들어 PCA를 고려하십시오. 내가 가진 데이터가 매우 드문 경우 "더 나은 인코딩"을 찾을 수 있다고 가정하고 (어쨌든 데이터의 순위와 관련이 있습니까?) 손실되지 않습니다.


7
물론 아닙니다. PCA의 일부 특이 값은 예를 들어 0이 될 수 있습니다. 이는 데이터를 기록하는 데 사용 된 차원을 "채우는 지"여부보다 데이터의 "스파 스 니스"와 관련이 적습니다.
whuber

1
알 겠어. 당신의 의견을 짧은 대답으로 쓸 수 있습니까 (시간이 있다면 작은 예 일지라도).
궁금

1
각 점의 y 값이 '0'인 2 차원 데이터가있는 경우를 고려하십시오. 첫 번째 기본 구성 요소는 X 축이되며 이미 1 차원이기 때문에 데이터를이 단일 차원으로 투영해도 아무런 손실이 없습니다.
David Marx

답변:


9

차원 축소가 항상 정보를 잃는 것은 아닙니다 . 경우에 따라 정보를 버리지 않고 저 차원 공간에서 데이터를 다시 나타낼 수 있습니다.

각 측정 값이 2 차 공변량과 연관된 데이터가 있다고 가정합니다. 예를 들어, 일부 이미 터를 기준으로 및 위치 의 조밀 한 격자에서 신호 품질 (컬러 화이트 = 양호, 블랙 = 불량으로 표시)를 측정 했다고 가정합니다. 이 경우 데이터는 왼쪽 그림 [* 1]과 유사 할 수 있습니다.x yQxy

방사형 평균화 데모

적어도 피상적으로 2 차원 데이터 인 입니다. 그러나, 우리 는 선험적 (기본 물리학에 기초한)을 알거나 그것이 원점으로부터의 거리에만 의존한다고 가정 할 수 있습니다 : r = . (일부 탐색 적 분석은 기본 현상조차도 잘 이해하지 못하는 경우이 결론으로 ​​이어질 수 있습니다). 그런 다음 대신 로 데이터를 다시 작성할 수있어 차원을 단일 차원으로 효과적으로 줄일 수 있습니다. 데이터가 방사형 대칭 인 경우에만 손실이 발생하지 않지만 이는 많은 물리적 현상에 대한 합리적인 가정입니다.Q(x,y) Q(r)Q(x,y)x2+y2Q(r)Q(x,y)

이 변환 은 비선형 (제곱근과 두 개의 제곱이 있습니다!)이므로 PCA에서 수행하는 차원 축소와는 약간 다릅니다. 정보를 잃지 않고 치수를 제거하는 방법에 대한 예입니다.Q(x,y)Q(r)

다른 예를 들어, 일부 데이터에 대해 단일 값 분해를 수행한다고 가정합니다 (SVD는 주요 구성 요소 분석의 근본 원인이며 종종 기본 구성 요소 분석). SVD는 데이터 행렬 가져 와서 되도록 3 개의 행렬로 인수 분해 합니다. U와 V의 열은 각각 왼쪽 및 오른쪽 특이 벡터로, 대한 직교 정규 염기 세트를 형성합니다 . 의 대각선 요소 (즉, 는 특이 값으로, 및 의 해당 열 ( 의 나머지 열에 의해 형성된 번째 기준 세트 에 효과적으로 가중치 가M = U S V T M S S i , i ) i U V S N x N N x N S U V M Q ( x , y )MM=USVTMSSi,i)iUVS0입니다). 자체로,이 (사실, 지금 3가 당신에게 어떤 차원 축소를 제공하지 않습니다 대신 하나의 행렬 당신이 시작 매트릭스). 그러나 때때로 일부 대각선 요소 는 0입니다. 이것은 와 의 해당 염기가 을 재구성하는 데 필요하지 않으므로 제거 할 수 있음을 의미합니다. 예를 들어NxNNxNSUVMQ(x,y)위의 행렬에는 10,000 개의 요소가 포함되어 있습니다 (즉, 100x100). SVD를 수행 할 때 한 쌍의 특이 벡터는 0이 아닌 값 [* 2]을 가지므로 원래 행렬을 두 개의 100 요소 벡터 (200 계수)의 곱으로 나타낼 수 있습니다. 실제로 조금 더 잘 할 수 있습니다 [* 3]).

일부 응용 프로그램의 경우 유용한 정보가 높은 특이 값 (SVD) 또는로드 (PCA)를 가진 주요 구성 요소에 의해 캡처된다는 것을 알고 있습니다. 이 경우 유용한 신호가 아닌 성가신 잡음을 포함한다는 이론에서 0이 아닌 경우에도 작은 로딩을 갖는 단일 벡터 /베이스 / 주성분을 버릴 수 있습니다. 때때로 사람들은 부하에 관계없이 모양에 따라 특정 구성 요소를 거부하는 것을 보았습니다 (예 : 알려진 추가 노이즈 소스와 유사). 당신이 이것을 정보의 상실이라고 생각하는지 확실하지 않습니다.

PCA의 정보 이론적 최적성에 대한 깔끔한 결과가 있습니다. 신호가 가우시안이고 가우시안 가산 노이즈로 손상된 경우 PCA는 신호와 차원 축소 버전 사이의 상호 정보를 최대화 할 수 있습니다 (잡음이 동일 유사 공분산 구조를 갖는다 고 가정).


각주 :

  1. 이것은 치즈가 아닌 완전히 비 물리적 인 모델입니다. 죄송합니다!
  2. 부동 소수점 부정확성으로 인해 이러한 값 중 일부는 0이 아닙니다.
  3. 추가 검사 에서이 특별한 경우 두 개의 특이 벡터는 중심에 대해 동일하고 대칭이므로 실제로 50 개의 계수로 전체 행렬을 나타낼 수 있습니다. 첫 번째 단계는 SVD 프로세스에서 자동으로 빠집니다. 두 번째는 약간의 검사와 믿음의 도약이 필요합니다. (PCA 점수와 관련하여이 점을 생각하려면 점수 행렬은 원래 SVD 분해에서 에 불과 하며 0에 대한 비슷한 주장은 전혀 기여하지 않습니다).US

나는 당신의 그래프가 옳다고 생각하지 않습니다. 1) 원이 아닌 타원이므로 축과의 각도에 따라 이 변경됩니다. 그러나 이것은 인공물 일 수 있습니다. 2) 고유 값 중 일부가 0 인 PCA는 데이터의 공선 성을 나타냅니다. 이것은 구형 범프가 아닌 직선 인 플롯입니다. 3) 실제 데이터는 절대 완벽하게 대칭이 아닙니다. I(r)
Hong Ooi

특히, 예제에서 에 유의하십시오. 이것은 변수 의 비선형 조합이므로 PCA ( 데이터에서 선형 조합을 감지하는)에 대해 이야기 할 때는 관련이 없습니다 . r=(x2+y2)
Hong Ooi

1
맷, 내 질문은 정말로 이것에 달렸다 : 당신은 어떤 설명이나 참조없이 우리에게 그림을 보여주고 그것을 "데이터"라고 언급한다 : 나는 당신이 어떤 의미에서 당신이 그것을 데이터라고 생각하는지 알고 싶다. 는 "열지도"표현이 일반적이기 때문에 귀하의 의견은이 문제를 혼동 하지 데이터 만 데이터 밖으로 만든 무언가이다. 예를 들어, 2D 포인트 데이터가 불규칙한 경우 방사상 대칭 밀도에 맞추면 그림 과 같이 1 차원으로 해석 할 수 있지만 데이터 의 무손실 차원 축소는 아닙니다 .
whuber

1
아마도 나는 대신 '그리드'또는 '래스터'라고 말했을 것입니다. 나는 그리드에서 데이터가 수집되고 각 그리드 점이 (스칼라) 값과 관련이 있지만 상황이 (사진) 이미지에서와 같이 반드시 빛의 강도가 아닌 상황을 상상하고있었습니다. 즉, 나는 분명히이 대답을 흔들지 않습니다. 좀 더 일관된 것으로 편집 해보십시오!
매트 크라우스

2
+1 : 수정 사항으로 인해 포인트가 더 명확 해집니다. 추가 노력에 감사드립니다!
whuber

4

귀하의 질문에 대한 질문은 "정보를 만드는 것"입니다. 좋은 질문입니다.

문법 기술 :

PCA는 항상 정보를 잃습니까? 아니. 그것은 않는다 때때로 정보가 손실? Youbetcha. 컴포넌트에서 원본 데이터를 재구성 할 수 있습니다. 항상 정보를 잃어버린 경우에는 불가능합니다.

데이터의 차원을 줄이는 데 사용할 때 중요한 정보를 잃지 않기 때문에 유용합니다. 데이터를 잃어 버리면 종종 더 높은 빈도의 데이터이며 덜 중요합니다. 대규모의 일반적인 추세는 더 큰 고유 값과 관련된 구성 요소에서 캡처됩니다.


4

n×p

가장 간단한 경우, 하나의 차원이 다른 차원의 선형 조합 인 경우 정보를 잃지 않고 차원을 한 차원 씩 줄일 수 있습니다. 필요한 경우 남겨진 차원에서 삭제 된 차원을 다시 만들 수 있기 때문입니다.

x3이 x1과 x2의 정확한 선형 조합 인이 3 차원 경우를 고려하십시오. x3이 다른 두 가지와 관련되어 있음은 분명하지만 원래 데이터를 눈으로 보는 것은 분명하지 않습니다.

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

그러나 주요 구성 요소를 보면 세 번째는 0입니다 (숫자 오류 이내).

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

처음 두 개의 주요 구성 요소의 줄거리는 X2에 대하여 X1의 줄거리와 같은, 그냥 회전 (확인, 분명 내가 의미하지, 나는 나중에 더 설명하려고합니다) :

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

우리는 차원을 하나 줄 였지만 모든 정보를 합리적인 정의로 유지했습니다.

이것은 자연스럽게 설명하기가 더 복잡해 지지만 선형 치수 축소를 넘어 확장됩니다. 요점은 일부 차원이 다른 차원의 조합의 함수가 아닌 전체적인 대답은 "아니오"입니다.

R 코드 :

library(GGally)


n <- 10^3
dat <- data.frame(x1=runif(n, 0, 3), x2=rnorm(n))
dat$x3 <- with(dat, x1 + x2)

ggpairs(dat)

pc <- princomp(dat)
plot(pc)

par(mfrow=c(1,2))
with(dat, plot(dat$x1, dat$x2, col="red", main="Original data", bty="l"))
with(pc, plot(scores[,1], scores[,2], col="blue", main="Scores from principal components(\n(rotated)", bty="l"))
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.