ZCA 미백과 PCA 미백의 차이점은 무엇입니까?


59

ZCA 미백과 일반 미백 (주요 구성 요소를 PCA 고유 값의 제곱근으로 나눔)에 대해 혼란 스럽습니다. 내가 아는 한,

xZCAwhite=UxPCAwhite,
여기서 는 PCA 고유 벡터입니다.U

ZCA 미백의 용도는 무엇입니까? 일반 미백과 ZCA 미백의 차이점은 무엇입니까?


2
"신경망 : 거래의 비법"에 따르면 PCA와 ZCA는 회전에 의해서만 다릅니다.
Martin Thoma

답변:


80

(중심) 데이터 를 열에 피처 (변수)와 행에 데이터 포인트를 갖는 matrix 에 저장하십시오. 공분산 행렬 이 열에 고유 벡터를 갖고 의 대각선에 고유 값을 갖도록하여 입니다.n×dXdnC=XX/nEDC=EDE

그런 다음 "정상"PCA 미백 변환은 에 의해 제공됩니다. 주요 구성 요소 분석?WPCA=D1/2E

그러나이 미백 변형은 고유하지 않습니다. 실제로 미백 데이터는 회전 후에도 미백 상태를 유지합니다. 즉, 직교 행렬 이 있는 모든 도 미백 변환이됩니다. 소위 ZCA 미백에서는 받아 이 직교 행렬, 예로서 (공분산 행렬의 고유 벡터들을 함께 적층)W=RWPCARE

WZCA=ED1/2E=C1/2.

ZCA 변환 ( 종종 "마할 라 노비스 변환"이라고도 함) 의 정의 속성 중 하나 는 원본 데이터에 가능한 한 가까운 희게 된 데이터 (최소 제곱의 의미)를 초래한다는 것입니다. 즉, 를 최소화 하려면 이 희게되는 경우 . 다음은 2D 일러스트레이션입니다.XXA2XAA=WZCA

PCA 및 ZCA 미백

왼쪽 서브 플롯은 데이터와 그 주축을 보여줍니다. 분포의 오른쪽 상단 모서리에 어두운 음영이 나타납니다. 방향을 나타냅니다. 행은 두 번째 서브 플롯에 표시됩니다. 이들은 데이터가 투영되는 벡터입니다. 미백 후 (아래) 분포는 둥글게 보이지만 회전 된 것처럼 보입니다. 어두운 구석은 이제 북동쪽이 아니라 동쪽에 있습니다. 행은 세 번째 서브 플롯에 표시됩니다 (직교가 아님). (아래) 미백 후 분포는 둥근 모양 그것으로 원래 같은 방법으로 지향합니다. 물론, 로 회전하여 PCA 미백 데이터에서 ZCA 미백 데이터로 얻을 수 있습니다 .WPCAWZCAE

"ZCA"라는 용어는 1996 년 Bell과 Sejnowski 에서 소개 된 것으로 보인다독립 성분 분석의 맥락에서 "제로 위상 성분 분석"을 나타냅니다. 자세한 내용은 거기를 참조하십시오. 아마도 이미지 처리의 맥락에서이 용어를 접했을 것입니다. 여러 자연 이미지 (피처로 픽셀, 각 데이터 포인트로 각 이미지)에 적용될 때 주축은 주파수가 증가하는 푸리에 구성 요소처럼 보입니다 (아래 그림 1의 첫 번째 열 참조). 그래서 그들은 매우 "글로벌"입니다. 반면에, ZCA 변환 행은 매우 "로컬"로 보입니다. 두 번째 열을 참조하십시오. ZCA는 데이터를 가능한 한 적게 변환하려고하기 때문에 각 행은 원래의 기본 함수 (활성 픽셀이 하나만있는 이미지)에 더 근접해야합니다. 그리고 이것이 가능합니다.

Bell과 Sejnowski 1996의 PCA와 ZCA

최신 정보

ZCA 필터 및 ZCA로 변환 된 이미지의 더 많은 예는 Krizhevsky, 2009, Tiny Images의 다중 레이어 피처 학습에 나와 있습니다 (@bayerj의 답변 (+1) 참조).

ZCA 미백이 언제 PCA보다 선호 될 수 있는지에 대한 아이디어를 제공한다고 생각합니다. 즉, ZCA 백색 화 이미지는 여전히 일반 이미지와 유사 하지만 PCA 백색 화 이미지는 일반 이미지와 유사 하지 않습니다. 이것은 주변 픽셀을 함께 처리하고 자연 이미지의 로컬 속성에 크게 의존하는 컨볼 루션 신경망 (예 : Krizhevsky 논문에서 사용) 과 같은 알고리즘에 중요합니다 . 대부분의 다른 기계 학습 알고리즘의 경우 데이터가 PCA 또는 ZCA로 희게되는지 여부는 절대적으로 관련이 없습니다 .


감사! 질문이 있습니다. 즉, ZCA가 기본적으로 액세스를 변경하지만 데이터의 위치를 ​​많이 변경하지 않는다는 의미입니까? (음영 영역을 기준으로). 또한 미백을 할 때마다 ZCA 미백을해야합니까? PCAwhitening 또는 ZCA whitening을 어떻게 사용하기로 결정 했습니까?
RockTheStar

4
(1) 나는 당신이 무엇을 의미하는지 확실하지 않지만, 그렇게 말하고 싶습니다 : ZCA는 데이터 세트를 구형으로 만들기 위해 회전 하지만 회전 시키지는 않습니다 (PCA는 상당히 많이 회전합니다). (2) 실제로 대부분의 경우 PCA 또는 ZCA 미백을 사용하는 것은 중요하지 않다고 생각합니다. ZCA가 더 좋은 곳을 상상할 수있는 유일한 상황은 컨볼 루션 신경망을위한 전처리입니다. 내 답변에 대한 업데이트를 참조하십시오.
아메바는

5
PCA는 푸리에 변환을 수행하는 것과 같으며 ZCA는 변환, 곱셈 및 역변환과 같으며 (제로 위상) 선형 필터를 적용합니다. 우리가 보는 것은 각 픽셀에 필터 임펄스 응답이 있습니다. 작업에 포함 된 "구성 요소"는 "주 구성 요소"인 E의 열과 동일합니다. 즉, W 구성 요소의 행도 호출 할 수 있지만 동일한 "주요 구성 요소"가 포함되며 ZCA를 적용하면 원래 도메인으로 돌아 오는 반면 PCA를 사용하면 신호를 "재구성"해야합니다.
splitbyzero

1
마지막 의견에 @dividebyzero +1, 이것이 귀중한 관점이라고 생각합니다. 어쨌든, 나는 마지막 그림의 의미 (연결 된 종이에서 가져온 것)가 지금 분명해지기를 바랍니다.
amoeba는

1
@learning 해당 페이지에 PCA 미백 이미지가 보이지 않습니다! "PCA 차원 축소 이미지", 즉 PCA를 통한 재구성 이지만 PCA 투영 자체는 보여주지 않습니다.
amoeba는

23

공분산 행렬의 고유 분해가 주어지면 여기서 은 고유 값의 대각선 행렬입니다 , 일반 미백은 데이터를 공분산 행렬이 대각선 인 공간으로 변환하는 것입니다. (일부 표기법 남용) 이는 에 따라 데이터를 변환하여 공분산을 대각선화할 수 있음을 의미

X¯X¯T=LDLT
D=diag(λ1,λ2,,λn)
D1L1X¯X¯TLTD1=D1L1LDLTLTD1=I
X~=D1L1X.

이것은 PCA의 일반적인 미백입니다. 이제 ZCA는 다른 작업을 수행합니다. 즉, 고유 값에 작은 엡실론을 추가하고 데이터를 다시 변환합니다. 다음은 ZCA 전후에 CIFAR 데이터 세트의 일부 그림입니다.

X~=L(D+ϵ)1L1X.

ZCA 이전 :

ZCA 이전

ZCA 후ϵ=0.0001

ZCA 1e-4 이후

ZCA 후ϵ=0.1

ZCA 이후 .1

비전 데이터의 경우, 고주파 데이터는 일반적으로 낮은 고유 값으로 확장 된 공간에 상주합니다. 따라서 ZCA는 이러한 기능을 강화하여보다 가시적 인 가장자리 등을 생성하는 방법입니다.


1
반대로 복용하기 전에 엡실론을 추가해서는 안됩니까? 제로에 가까운 고유 값의 경우 반전을 안정화시키기 위해 단순히 추가 된 것 같습니다. 따라서 실제로 ZCA 미백에 추가하는 것이 합리적이라면 PCA 미백에도 추가하는 것이 좋습니다.
amoeba는 Reinstate Monica가

그렇습니다. 이것은 일반적으로 실제로 SVD로 수행되기 때문에 반전을 안정화시키는 것이 필요한지 전혀 모르겠습니다.
bayerj

효과를 보여주기 위해 다른 그림을 추가했습니다.
bayerj

2
+1이지만, 더 많은 이명과 질문이 있습니다. (1) 엡실론에 대한 의미는 ZCA에만 국한되지 않으며 PCA 미백에도 사용될 수 있다는 것입니다. (2) SVD에 대한 귀하의 의견을 이해하지 못합니다 .SVD는 단일 값을 반전해야하므로 엡실론이 필요합니다. (3) PCA 미백 변환은 이며, 다른 방법으로 작성하면 두 번째 공식의 계산이 잘못됩니다 ... (4) 멋진 인물 에서? (5) 어떤 상황에서 ZCA 미백이 PCA 미백보다 선호되는지, 왜 그 이유를 알고 있습니까? D1/2L
amoeba는

(1) 동의했다. 그래도 그 의미에 대해서는 직관이 없습니다. (2) 내 분해 지식은 여기에서 불완전하지만 단일 공분산 행렬의 고전 역행렬 행렬은 실패하지만 단수 공분산을 일으키는 데이터 행렬의 SVD는 실패한다고 가정했습니다. (3) 감사합니다. (4) 내 코드에서 :) (5) 나는 과잉 표현을 제공하는 많은 알고리즘 (예 : GainShape K-Means, Auto encoders, RICA) 및 / 또는 PCA 대수적 기능과 같은 유사한 작업을 수행한다고 가정합니다. 나는 이것에 대한 확실한 지식이 없다.
bayerj
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.