PCA, ICA 및 라플라시안 고유 맵


11

질문

나는 Laplacian Eigenmaps 방법에 매우 관심이 있습니다. 현재 의료 데이터 세트에서 치수를 줄이는 데 사용하고 있습니다.

그러나 방법을 사용하여 문제가 발생했습니다.

예를 들어, 일부 데이터 (스펙트럼 신호)가 있고 PCA (또는 ICA)를 사용하여 일부 PC (또는 IC)를 가져올 수 있습니다. 문제는 LE를 사용하여 원본 데이터의 유사한 차원 축소 구성 요소를 얻는 방법입니다.

Laplacian 고유 맵 방법에 따르면 일반 고유 값 문제를 해결해야합니다.

Ly=λDy

여기서 y 는 고유 벡터입니다. 예를 들어 상위 3 개의 고유 벡터 (3 개의 고유 값에 따른 솔루션)를 플롯하면 결과를 해석 할 수 없습니다.

그러나 상위 3 개의 PC와 상위 3 개의 IC를 플로팅 할 때 결과는 항상 원래 데이터 를 명확하게 (시각적으로) 나타내는 것처럼 보입니다 .x

그 이유는 행렬 이 가중치 행렬 (인접 행렬 )에 의해 정의되고 데이터 에 지수 함수를 사용하는 를 만들기 위해 열 커널이 장착되어 있기 때문이라고 가정합니다 . 내 질문은 의 축소 된 구성 요소 ( 행렬 의 고유 벡터 가 아님) 를 검색하는 방법입니다 .LWxWxyL


데이터

내 데이터 세트가 제한되어 있으며 문제를 쉽게 설명 할 수 없습니다. 여기서 나는 장난감 문제를 만들어서 내가 의미하는 것과 요청하고 싶은 것을 보여주었습니다.

사진을 참조하십시오

먼저, 사인파 A, B, C를 빨간색 곡선 (그림의 첫 번째 열)으로 표시합니다. A, B 및 C는 1000 개의 샘플, 즉 1x1000 벡터에 저장된 샘플을 가지고 있습니다.

둘째, 무작위로 생성 된 선형 조합을 사용하여 소스 A, B, C를 혼합했습니다 (예 : ). 여기서 은 임의의 값입니다. 혼합 신호 은 매우 높은 차원 공간에 있으며, 예를 들어 이고, 1517은 임의로 높은 차원 공간으로 선택된다. 신호 M의 처음 세 행만 녹색 곡선으로 표시합니다 (그림의 두 번째 열).M=r1A+r2B+r3Cr1,r2,r3MMR1517×1000

다음으로 PCA, ICA 및 Laplacian 고유 맵을 실행하여 치수 축소 결과를 얻습니다. 공정한 비교를 위해 3 대의 PC, 3 개의 IC 및 3 개의 LE를 사용하기로 결정했습니다 (파란색 곡선은 각각 그림의 3, 4, 마지막 열로 나타남).

PCA와 ICA의 결과 (그림의 3 번째, 4 번째 열)에서 결과를 일부 차원 축소로 해석 할 수 있음을 알 수 있습니다. 즉, ICA 결과의 경우 ( PCA 결과로 을 얻을 수 있는지 확실하지 않지만 결과는 나에게 적합합니다).M=b1IC1+b2IC2+b3IC3M=a1PC1+a2PC2+a3PC3

그러나 LE의 결과를 살펴보십시오. 결과를 거의 이해할 수 없습니다 (그림의 마지막 열). 축소 된 구성 요소에 문제가있는 것 같습니다. 또한 마지막 열의 줄거리는 공식 의 고유 벡터 입니다.yLy=λDy

사람들에게 더 많은 아이디어가 있습니까?

가열 커널에서 12 개의 가장 가까운 이웃과 시그마를 사용하는 그림 1은 0.5입니다. 왼쪽에서 오른쪽으로 열 : 원래 신호, 혼합 신호, PC, IC, LE

가열 커널에서 1000 개의 가장 가까운 이웃과 시그마를 사용하는 그림 2는 0.5입니다. 왼쪽에서 오른쪽으로 열 : 원래 신호, 혼합 신호, PC, IC, LE

소스 코드 : 필수 패키지가 포함 된 Matlab 코드


2
x의 성분을 줄이면 무엇을 의미합니까? x의 저 차원 임베딩을 의미합니까?
hearse

이거 흥미로운 데 실제로 데이터가 어떻게 보이는지 더 자세히 설명해 주시겠습니까?
Placidia

답변:


4

귀하의 질문에 대한 답변은 원본 Laplacian Eigenmaps 논문 의 맨 아래에있는 매핑으로 제공됩니다 .

xi(f1(i),,fm(i))

예를 들어, 상위 2 개의 "구성 요소"에 점 를 포함시키는 것은 로 주어집니다. 여기서 과 는 0이 아닌 고유 값 두 개에 해당하는 고유 벡터입니다. 일반 고유 값 문제 에서x5(f1(5),f2(5))f1f2Lf=λDf

PCA와 달리 샘플 외부 임베딩을 얻는 것은 간단하지 않습니다. 다시 말해, 계산시 이미 고려 되었지만 새로운 포인트 인 경우 (쉽게) 포함되지 않은 포인트를 포함시킬 수 있습니다 . 후자를하는 데 관심이 있다면이 문서를 찾아보십시오 .L


나는 당신이 변수로 고려하고있는 것에 대해 약간 혼란 스럽습니다. 내가 이해 한 바에 따르면, 행렬 은 1000 차원 공간의 1517 샘플로 구성됩니다. 이 매트릭스에서 PCA (또는 ICA)를 수행하면 기본 변동 모드를 매우 잘 복구 할 수 있습니다. 예를 들어 그림의 3 열에서 1,2,3 행은 C, A, B에 해당합니다. 각기. 이것은 말이됩니다. 그러나 코드에서 LEM을 수행 할 때 위와 일치하지 않는 ( ) 에서 함수를 호출합니다 . MMTmixedSignal'
Shantanu

먼저 행렬 에서 변수는 무엇이며 관측 값은 무엇입니까? 둘째, 분석 결과 LEM을 사용하여 의 임베딩 뿐만 아니라 PCA와 같은 고유 벡터도 찾고 있습니까? 최소한 쉽게 LEM을 수행 할 수는 없습니다. 이유를 이해하려면 이 백서 를 읽으십시오 . MM
Shantanu

찾고있는 모든 것이 임베딩이면 매핑으로 쉽게 제공됩니다 . 자세한 내용은 내 대답을 찾으십시오. 코드에서 47 행을 변경하고 대신 조옮김을 사용하십시오. 결과 는 1517 포인트의 3 차원 임베딩을 제공합니다. xi(f1(i),,fm(i))mixedSignalmappedX
Shantanu

추신 : 위, 나는 " 적어도 쉽게 LEM을 사용 하여이 작업을 수행 할 수는 없습니다"를 의미했습니다 .
Shantanu


1

PCA-Laplacian 고유 맵과 달리 가장 작은 고유 값에 해당하는 일반 고유 벡터를 사용합니다. 가장 작은 고유 값 (0 일 수 있음)을 가진 고유 벡터를 건너 뛰고 다음 몇 개의 가장 작은 고유 값에 해당하는 고유 벡터를 사용합니다. PCA는 커널 / 그램 매트릭스를 사용하여 임베딩을 유지하는 최대 분산입니다. Laplacian Eigenmaps는 조합 그래프 laplacian (Trosset의 논문 참조)과 관련하여 최소화 문제로 더 제기됩니다.


관심이 있으신 분은 제 질문을 다시 한 번 살펴보십시오. 몇 가지 예를 들었습니다. 매우 감사합니다.
Samo Jerom
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.