다변량 데이터의 관계성을 조사할 때, 2차원이나 3차원 정도로 차원을 삭감하여 데이터의 관련성을 조사하는 방법으로서 주성분 분석(PCA)가 자주 사용됩니다.
그러나 최근 차원 삭감 방법으로서 UMAP, t-SNE 라는 수법이 각광을 받고 있습니다. 이들은 비선형 차원 삭감 기법이며, 선형 차원 삭감 방법인 주성분 분석에서는 데이터 구조를 잘 표현할 수 없는 경우에도 유효하다고 합니다.
이러한 방법도 차원 축소 방법이므로 다차원 데이터를 2차원이나 3차원으로 줄여 데이터의 패턴을 시각적으로 조사할 수 있습니다.
기계 학습 분야에서도 UMAP과 t-SNE는 차원을 줄이기 위해 널리 사용됩니다. 예를 들어 이미지 인식, 텍스트 분류, 유전자 분석 등 다양한 용도에 유효합니다.
그냥 JMP Pro는 "다변량 임베디드"라는 플랫폼이 있으며, UMAP, t-SNE의 방법을 탑재하고 있습니다.

t-SNE를 이용한 샘플 그룹화의 예
이 블로그에서는 스펙트럼 데이터를 사용하여 주성분 분석, UMAP, t-SNE 기술을 사용하여 차원을 줄이고 데이터 관련성을 시각화합니다. 그 때, 라벨을 가지고 있는 데이터를 잘 분리할 수 있을지 어떨지를 조사해 보겠습니다.
사용할 스펙트럼 데이터
이번에 사용하는 것은 올리브 오일의 중적외선 스펙트럼 데이터입니다. *
샘플링은 60가지 올리브 오일의 스펙트럼을 수집합니다. 각 샘플에는 원산지(Country)의 정보가 부가되어 있습니다. 이 다변량 스펙트럼의 데이터에서 원산지(Greece, Italy, Portugal, Spain)를 분류할 수 있는지를 조사합니다.
기계 학습에서 원산지 정보는 "라벨"에 해당하며 교사가있는 데이터가됩니다. 이 후의 분석에서는 라벨대로 분류할 수 있는지에 초점이 됩니다.

「그래프 빌더」를 사용해, 원산국마다 스펙트럼을 그래프화했습니다. 각 파수에 대한 강도를 나타내며, 특정 파수에서 피크가 보이는 것, 강도의 변동이 크거나 작은 것 등, 각국의 스펙트럼의 특징이나 타국과의 차이를 시각적으로 확인할 수 있습니다.

* 데이터 출처:
데이터: 커널 익스트림 학습을 통한 스펙트럼 데이터 분류 - Mendeley Data
주성분 분석을 통한 차원 감소
먼저 이 스펙트럼 데이터에 대해 주성분 분석(PCA)을 수행하고 처음 두 성분을 스코어 플롯으로 시각화합니다.
570의 파수에서의 강도를 측정하고 있으므로, 570차원을 2차원으로 삭감하고 있습니다.

점수 플롯을 보면 다른 플롯 포인트가 많이 겹치고 올리브 오일의 원산지를 잘 분리하지 못했음을 알 수 있습니다. 주성분 분석에서 수행하는 차원 축소는 선형 변환을 기반으로 하므로 데이터가 비선형으로 분포된 경우 데이터 구조를 잘 파악할 수 없습니다.
UMAP, t-SNE에 의한 차원 감소
이번에는 올리브 오일의 데이터에 대해 UMAP, t-SNE를 실시합니다.
JMP Pro에서는 분석 > 다변량 > 다변량 포함 을 선택합니다.
- 시작 대화 상자에서 연속 척도 열(이 예에서는 파수의 강도를 나타내는 570 열)을 [Y, 열]로 지정합니다.
- 옵션으로 기법, 차원 축소 후 차원 등을 선택할 수 있습니다.
- "기법"에서 [UMAP] 또는 [t-SNE]를 선택할 수 있습니다. 기본값은 [UMAP]입니다.
- 차원 축소 후 차원을 선택할 수 있습니다. 기본값은 "2"(2차원)입니다.

이러한 조작으로 UMAP, t-SNE의 양쪽을 실행했을 때의 플롯을 나타냅니다 (좌하: UMAP , 우하: t-SNE).

주성분 분석의 점수 플롯과 비교하면 올리브 오일의 원산지가 어느 정도 분리되어 있음을 알 수 있습니다. 특히 오렌지색 Spain 및 기타 원산지와 거의 명확하게 확인할 수 있습니다.
다음에 「차원 삭감 후의 차원」을 3으로 해, 3차원으로 시각화해 봅시다. 다변량 포함 보고서는 3차원 플롯을 표시합니다. 이 플롯에서 커서를 드래그하여 움직일 수 있으며, 3차원 눈도 포함하여 잘 분류되어 있는지를 고려할 수 있습니다.

t-SNE의 2차원 플롯에서는 오렌지색 스페인 이외의 분류가 잘 되지 않았지만, 3차원 플롯에서는 녹색(Italy), 적색(Greece), 청색(Portugal)을 어느 정도 분류할 수 있습니다. .
UMAP, t-SNE 모두 비선형의 차원 삭감 수법이며, 고차원 공간에서 가까운 데이터점끼리의 관계를 저차원에서도 유지할 수 있도록 차원을 삭감합니다. 따라서 데이터를 시각적으로 그룹화하는 방법으로 매우 좋습니다.
다만, 주성분 분석은 부하량 플롯 등의 리포트로부터 축의 해석을 실시합니다만, UMAP, t-SNE의 수법에서는 데이터(샘플)간의 관계나 그룹으로 나누는, 패턴을 찾아내는 것에 주안을 두어 따라서 축의 의미 해석은 어려울 수 있습니다.
예를 들어, 위의 UMAP 플롯에서 오렌지색 스페인 데이터는 오른쪽 하단에 많이 플롯되지만 2차원 좌표의 오른쪽 하단에 위치하는 것이 무엇을 나타내는지 지정하기가 어렵습니다.
UMAP과 t-SNE의 비교
UMAP은 t-SNE에 비해 계산 속도가 빠르다고 합니다. 또 파라미터의 조정도 UMAP 쪽이 간단하다고 말해지고 있습니다.
실제로 이번 스펙트럼 데이터의 예에서 t-SNE를 기본 파라미터 설정으로 실행하면 수렴 계산에 대한 경고가 표시되었습니다. 메시지에 설명된 대로 수렴 표준을 풀고(1e-8⇒1e-4) 최대 반복 횟수를 늘려(1000⇒10000)하여 해결했습니다.

UMAP과 t-SNE를 비교하면, 일반적으로 UMAP 쪽이 뛰어나다고 합니다만, 실무상은 UMAP와 t-SNE의 어느쪽이나 시험해 보고 결과를 비교하는 것이 좋을 것입니다. 그러나 t-SNE의 경우 대규모 데이터를 처리할 때 계산에 시간이 걸릴 수 있으며 경우에 따라 매개 변수 조정이 필요할 수 있습니다.
마스카와 나오유(JMP Japan)
마스카와 나오히로 - JMP 사용자 커뮤니티