ICA는 먼저 PCA를 실행해야합니까?


9

ICA (fastICA 패키지 사용)를 적용하기 전에 PCA를 적용한다고 말하는 응용 프로그램 기반 논문을 검토했습니다. 제 질문은 ICA (fastICA)가 PCA를 먼저 실행해야합니까?

이 논문

... 또한 PCA를 사전에 적용하면 (1) 미백 전에 작은 후행 고유 값을 버리고 (2) 페어 단위 종속성을 최소화하여 계산 복잡성을 줄임으로써 ICA 성능을 향상시킬 수 있다고 주장합니다. PCA는 입력 데이터를 장식합니다. 나머지 상위 종속 항목은 ICA로 구분됩니다.

또한 다른 논문 예를 들어, ICA, 전에 PCA를 적용하고 이것 .

ICA 이전에 PCA를 실행할 다른 장단점이 있습니까? 이론에 참고 문헌을 제공하십시오.


발표 된 논문은 PCA 기반 차원 축소가 ICA에 미치는 부정적인 영향을 발견했습니다.
bonobo

답변:


9

fastICA 접근법에는 사전 미백 단계가 필요합니다. 데이터는 먼저 PCA를 사용하여 변환되어 대각선 공분산 행렬로 이어지고, 공분산 행렬이 항등 행렬과 동일하도록 각 차원이 정규화됩니다 (미백).

동일 공분산 행렬을 초래하는 데이터의 무한한 변환이 있으며, 소스가 가우시안 인 경우 가우시안 다변량 분포의 경우 평균 및 공분산이 충분한 통계를 중지합니다. 비 가우시안 소스가 있으면 일부를 최소화 할 수 있습니다 미백 데이터에 대한 의존도를 측정하므로 독립성을 최대화하는 미백 데이터의 회전을 찾습니다. FastICA는 정보 이론적 조치와 고정 소수점 반복 체계를 사용하여이를 달성합니다.

나는 문제에 대해 더 깊이 이해하기 위해 Hyvärinen의 작업을 추천합니다.

  • A. Hyvärinen. 독립적 인 성분 분석을위한 빠르고 강력한 고정 소수점 알고리즘. 신경망에서의 IEEE 트랜잭션 10 (3) : 626-634, 1999.
  • A. Hyvärinen, J. Karhunen, E. Oja, 독립 성분 분석, Wiley & Sons. 2001 년

PCA와 치수 축소는 정확히 같은 것은 아닙니다. 신호보다 더 많은 관측치 (신호 당)가있는 경우 설명 된 분산의 100 %를 유지하면서 PCA를 수행 한 다음 미백 및 고정 소수점 반복을 계속할 수 있습니다 독립 성분의 추정치를 구합니다. 차원 축소를 수행해야하는지 여부는 상황에 따라 달라지며 모델링 가정 및 데이터 배포를 기반으로합니다.


2
이것은 좋은 대답이지만, 마지막 요점을 훨씬 더 강력하게 알 수 있다면 PCA 단계를 사용하여 차원을 줄이십시오 (데이터 미백 외에도). 실제로 차원이 너무 높으면 ICA가 쉽게 과적 합하여 의미없는 구성 요소를 생성 할 수 있습니다. PCA를 사용한 전처리는 종종이 문제를 해결합니다 (OP의 인용문에서 언급).
amoeba

4

데이터에 PCA를 적용하면 원래 좌표축을 회전시키는 유일한 효과가 있습니다. 예를 들어 푸리에 변환과 같은 선형 변환입니다. 따라서 실제로는 데이터에 아무것도 할 수 없습니다.

그러나 새로운 PCA 공간에 표현 된 데이터에는 흥미로운 특성이 있습니다. PCA를 사용한 좌표 회전 후에는 새 축으로 설명 된 총 분산의 백분율과 같은 확립 된 기준에 따라 일부 치수를 버릴 수 있습니다. 신호에 따라이 방법으로 상당한 양의 치수 감소를 달성 할 수 있으며 이는 다음 ICA의 성능을 확실히 향상시킵니다. PCA 구성 요소를 버리지 않고 ICA를 수행해도 다음 ICA의 결과에는 영향을 미치지 않습니다.

또한, 좌표축의 직교성으로 인해 PCA 공간의 데이터를 쉽게 희게 할 수 있습니다. 미백은 모든 차원에서 분산을 균등화하는 효과가 있습니다. ICA가 제대로 작동하려면 이것이 필요하다고 주장합니다. 그렇지 않으면 분산이 가장 큰 PCA 구성 요소 만 ICA 결과를 지배합니다.

ICA 이전의 PCA 기반 전처리에 대한 단점은 실제로 없습니다.

지안카를로 (Giancarlo)는 이미 ICA를위한 최고의 참고 문헌을 인용했다.


당신의 답은 PCA를 적용하는 것이 단순히 좌표축을 회전시키는 것이라는 전제에 기초하지만, 실제로 "PCA를 적용"하는 사람들은 일반적으로 차원 축소 (즉, PC의 일부만 유지하고 나머지는 삭제)를 의미합니다.
amoeba

PCA를 사용하면 폐기 할 차원을 찾을 수 있습니다. 이것이 어떻게 내 대답을 미세 조정하는지 알 수 없습니다.
bonobo

한편이 연구 는 PCA 기반 차원 축소가 후속 ICA의 품질에 부정적인 영향을 미친다고 주장했다.
bonobo

링크 주셔서 감사합니다. 나는 초록을 읽고 솔직하게 회의적이다. 그러나 저는 ICA 전문가가 아니며이 백서를 자세히 연구하지 않을 것입니다.
amoeba

2

fastICA 알고리즘의 파생은 단일 단계에 대한 미백 만 필요합니다. 먼저 단계 방향 (예 : 경사 하강)을 선택하면 희게 된 데이터가 필요하지 않습니다. 그런 다음 Hessian의 역수에 따라 걸음 수를 선택해야합니다. 데이터가 희게되면이 Hessian은 대각선이며 뒤집을 수 없습니다.

필요한가요? 단계 크기를 일정하게 고정한 경우 (따라서 미백이 필요하지 않음) 표준 그래디언트 디센트가 나타납니다. 작은 스텝 크기가 고정 된 그라디언트 디센트는 일반적으로 수렴하지만 원래 방법보다 훨씬 느립니다. 반면에 큰 데이터 매트릭스를 사용하면 미백이 상당히 비쌀 수 있습니다. 미백없이 느린 수렴으로도 더 나아질 수 있습니다.

나는 어떤 문헌에서도 이것을 언급하지 않은 것에 놀랐다. 한 논문은 문제를 논의한다 : 지민 예 (Jimin Ye)와 팅 황 (Ting Huang)의 사전 미백없이 맹검 분리를위한 새로운 고속 ICA 알고리즘 .

그들은 미백보다 다소 저렴한 옵션을 제안합니다. 나는 그들이 기준선으로 미백하지 않고 ICA를 실행하는 것에 대한 명확한 비교를 포함하기를 원했지만 그렇지 않았습니다. 하나의 추가 데이터 포인트로 장난감 문제를 미백하지 않고 fastICA를 실행하려고 시도했지만 정상적으로 작동했습니다.

업데이트 : 미백을 다루는 또 다른 좋은 참고 자료 가 있습니다 : 강력한 독립 구성 요소 분석, Zaroso 및 Comon . 미백이 필요없는 알고리즘을 제공합니다.

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