질문
나는 Laplacian Eigenmaps 방법에 매우 관심이 있습니다. 현재 의료 데이터 세트에서 치수를 줄이는 데 사용하고 있습니다.
그러나 방법을 사용하여 문제가 발생했습니다.
예를 들어, 일부 데이터 (스펙트럼 신호)가 있고 PCA (또는 ICA)를 사용하여 일부 PC (또는 IC)를 가져올 수 있습니다. 문제는 LE를 사용하여 원본 데이터의 유사한 차원 축소 구성 요소를 얻는 방법입니다.
Laplacian 고유 맵 방법에 따르면 일반 고유 값 문제를 해결해야합니다.
여기서 는 고유 벡터입니다. 예를 들어 상위 3 개의 고유 벡터 (3 개의 고유 값에 따른 솔루션)를 플롯하면 결과를 해석 할 수 없습니다.
그러나 상위 3 개의 PC와 상위 3 개의 IC를 플로팅 할 때 결과는 항상 원래 데이터 를 명확하게 (시각적으로) 나타내는 것처럼 보입니다 .
그 이유는 행렬 이 가중치 행렬 (인접 행렬 )에 의해 정의되고 데이터 에 지수 함수를 사용하는 를 만들기 위해 열 커널이 장착되어 있기 때문이라고 가정합니다 . 내 질문은 의 축소 된 구성 요소 ( 행렬 의 고유 벡터 가 아님) 를 검색하는 방법입니다 .
데이터
내 데이터 세트가 제한되어 있으며 문제를 쉽게 설명 할 수 없습니다. 여기서 나는 장난감 문제를 만들어서 내가 의미하는 것과 요청하고 싶은 것을 보여주었습니다.
사진을 참조하십시오
먼저, 사인파 A, B, C를 빨간색 곡선 (그림의 첫 번째 열)으로 표시합니다. A, B 및 C는 1000 개의 샘플, 즉 1x1000 벡터에 저장된 샘플을 가지고 있습니다.
둘째, 무작위로 생성 된 선형 조합을 사용하여 소스 A, B, C를 혼합했습니다 (예 : ). 여기서 은 임의의 값입니다. 혼합 신호 은 매우 높은 차원 공간에 있으며, 예를 들어 이고, 1517은 임의로 높은 차원 공간으로 선택된다. 신호 M의 처음 세 행만 녹색 곡선으로 표시합니다 (그림의 두 번째 열).
다음으로 PCA, ICA 및 Laplacian 고유 맵을 실행하여 치수 축소 결과를 얻습니다. 공정한 비교를 위해 3 대의 PC, 3 개의 IC 및 3 개의 LE를 사용하기로 결정했습니다 (파란색 곡선은 각각 그림의 3, 4, 마지막 열로 나타남).
PCA와 ICA의 결과 (그림의 3 번째, 4 번째 열)에서 결과를 일부 차원 축소로 해석 할 수 있음을 알 수 있습니다. 즉, ICA 결과의 경우 ( PCA 결과로 을 얻을 수 있는지 확실하지 않지만 결과는 나에게 적합합니다).
그러나 LE의 결과를 살펴보십시오. 결과를 거의 이해할 수 없습니다 (그림의 마지막 열). 축소 된 구성 요소에 문제가있는 것 같습니다. 또한 마지막 열의 줄거리는 공식 의 고유 벡터 입니다.
사람들에게 더 많은 아이디어가 있습니까?
가열 커널에서 12 개의 가장 가까운 이웃과 시그마를 사용하는 그림 1은 0.5입니다.
가열 커널에서 1000 개의 가장 가까운 이웃과 시그마를 사용하는 그림 2는 0.5입니다.
소스 코드 : 필수 패키지가 포함 된 Matlab 코드