t-SNE의 문제점은 거리 나 밀도를 유지하지 못한다는 것입니다. 그것은 가장 가까운 이웃을 보존합니다. 차이는 미묘하지만 밀도 또는 거리 기반 알고리즘에 영향을줍니다.
이 효과를 보려면 간단히 다변량 가우스 분포를 생성하십시오. 이것을 시각화하면 밀도가 높고 바깥쪽으로 훨씬 덜 밀집된 공이 생길 수 있습니다.
이제이 데이터에 대해 t-SNE를 실행하십시오. 보통 밀도가 다소 균일 한 원을 얻게됩니다. 난이도가 낮은 경우 약간 이상한 패턴이있을 수도 있습니다. 그러나 더 이상 특이점을 구분할 수는 없습니다.
이제 일을 더 복잡하게 만듭니다. 정규 분포에서 (-2,0)에 250 점을, 정규 분포에서 (+2,0)에 750 점을 사용합시다.
이것은 EM과 같은 쉬운 데이터 세트로 간주됩니다.
기본 복잡도 40으로 t-SNE를 실행하면 이상한 모양의 패턴이 나타납니다.
나쁘지 않지만 클러스터하기 쉽지 않은가? 여기서 원하는대로 정확하게 작동하는 클러스터링 알고리즘을 찾는 데 어려움을 겪을 것입니다. 그리고 사람에게이 데이터를 클러스터링하라고하더라도, 여기서는 2 개 이상의 클러스터를 찾을 것입니다.
20과 같이 너무 작은 난 반도로 t-SNE를 실행하면 존재하지 않는 패턴이 더 많이 나타납니다.
예를 들어 DBSCAN으로 클러스터링되지만 4 개의 클러스터가 생성됩니다. t-SNE는 "가짜"패턴을 생성 할 수 있습니다.
이 데이터 세트에 대한 최적의 난이도는 약 80 정도 인 것으로 보입니다. 그러나이 매개 변수가 다른 모든 데이터 세트에서 작동해야한다고 생각하지 않습니다.
이제 이것은 시각적으로 만족 스럽지만 분석에는 좋지 않습니다 . 인간 주석 자는 컷을 선택 하고 적절한 결과를 얻을 수 있습니다. 그러나이 매우 쉬운 시나리오에서도 k- 평균은 실패합니다 ! 밀도 정보가 손실 되었음을 알 수 있습니다 . 모든 데이터는 거의 동일한 밀도의 영역에있는 것으로 보입니다. 만약 우리가 대신에 당혹 성을 더 증가 시키면, 균일 성은 증가 할 것이고 분리는 다시 감소 할 것이다.
결론적으로, 시각화 에는 t-SNE를 사용 하고 시각적으로 좋은 것을 얻기 위해 다른 매개 변수를 사용해보십시오. 그러나 나중에 클러스터링을 실행하지 마십시오 . 특히 거리 또는 밀도 기반 알고리즘을 사용하지 마십시오.이 정보는 의도적으로 (!) 잃어버린. 이웃 그래프 기반 접근 방식은 괜찮을 수 있지만 먼저 t-SNE를 실행할 필요는 없습니다. t-SNE가이 nn- 그래프를 크게 유지하려고하기 때문에 이웃을 즉시 사용하십시오.
더 많은 예
이러한 예는 준비되었다 프리젠 테이션 (그러나 찾을 수없는 용지 에 나중에이 실험을했던 것처럼, 아직 용지)
에리히 슈베르트, 마이클 게르 츠
시각화 및 이상치 탐지를위한 본질적인 t-Stochastic Neighbor 임베딩 – 차원의 저주에 대한 해결책?
에서 : 독일 뮌헨에서 열린 유사성 검색 및 응용에 관한 제 10 차 국제 회의 (SISAP)의 절차. 2017 년
먼저이 입력 데이터가 있습니다.
당신이 짐작할 수 있듯이, 이것은 아이들을위한 "나를 컬러"이미지에서 파생됩니다.
SNE ( t-SNE 가 아니라 전임자)를 통해 이것을 실행하는 경우 :
와우, 우리 물고기는 꽤 바다 괴물이되었습니다! 커널 크기는 로컬에서 선택되므로 많은 밀도 정보가 손실됩니다.
그러나 t-SNE의 출력에 놀랄 것입니다.
실제로 두 가지 구현 (ELKI 및 sklearn 구현)을 시도했으며 둘 다 그러한 결과를 얻었습니다. 연결이 끊긴 일부 조각이지만 원래 데이터와 다소 일관성이있는 것으로 보입니다.
이것을 설명하는 두 가지 중요한 점 :
SGD는 반복적 개선 절차에 의존하며 지역 최적화에 갇힐 수 있습니다. 특히, 알고리즘이 미러 된 데이터의 일부를 "플립"하기가 어렵습니다. 분리해야하는 다른 지점을 통해 포인트를 이동해야하기 때문입니다. 따라서 물고기의 일부가 미러링되고 다른 부분이 미러링되지 않으면이 문제를 해결하지 못할 수 있습니다.
t-SNE는 투영 된 공간에서 t- 분포를 사용합니다. 정규 SNE에서 사용하는 가우시안 분포와 달리 입력 도메인에서는 0 선호도 (가우시안은 빠르게 0이 됨)이지만 출력 도메인에서는> 0 선호도가 있기 때문에 대부분의 점이 서로 격퇴 합니다. 때때로 (MNIST 에서처럼) 이것은 더 나은 시각화를 만듭니다. 특히, "분할"비트 데이터 세트 도움 이상의 입력 도메인을보다. 이러한 추가 반발은 또한 종종 포인트가 해당 영역을보다 고르게 사용하게하여 바람직 할 수도 있습니다. 그러나이 예에서는 반발 효과로 인해 실제로 물고기 조각이 분리됩니다.
우리는 (이 장난감 데이터 세트에서) 임의의 좌표 (일반적으로 t-SNE와 함께 사용) 대신 원래 좌표를 초기 배치로 사용하여 첫 번째 문제를 도울 수 있습니다 . 이번에는 sklearn 버전에 이미 초기 좌표를 전달하는 매개 변수가 있으므로 이미지가 ELKI 대신 sklearn입니다.
보시다시피, "완벽한"초기 배치에서도 t-SNE는 출력 도메인의 Student-t 반발이 입력의 가우스 친화력보다 강하기 때문에 원래 연결된 여러 위치에서 물고기를 "깨뜨립니다" 우주.
보시다시피, t-SNE (및 SNE도!)는 흥미로운 시각화 기술이지만 신중하게 처리해야합니다. 오히려 결과에 k- 평균을 적용하지 않을 것입니다! 결과가 심하게 왜곡되고 거리와 밀도가 잘 보존되지 않기 때문입니다. 대신 시각화에 사용하십시오.