아닙니다. 이것이 사실 일 필요는 없지만, 이것은 T-SNE의 목표입니다.
답의 핵심에 들어가기 전에 수학적으로나 직관적으로 몇 가지 기본 정의를 살펴 보겠습니다.
가장 가까운 이웃 : 새로운 벡터 주어지면 미터법 공간 와 벡터 집합 를 고려하십시오 우리는. 직관적으로, 에 적합한 norm 정의를 사용하면 거리의 최소값 일뿐 입니다.아르 자형디엑스1, . . . ,엑스엔∈아르 자형디x ∈아르 자형디| |엑스1− x | | ≤ . . . ≤ | |엑스엔− x | |아르 자형디
이제 차원 축소를 적용하면서 가장 가까운 이웃이 실제로 중요한지 여부를 알 수 있습니다. 보통 내 대답에서 나는 수학, 코드 및 직감을 가진 것을 합리화하려고합니다. 먼저 직관적 인 측면을 살펴 보겠습니다. t-sne 알고리즘에 대한 이해를 통해 다른 점에서 떨어진 점이있는 경우 더 높은 차원으로 전환 할 때이 거리가 유지됩니다. 점 가 어떤 차원 에서 의 가장 가까운 이웃 이라고 가정하자 . 정의에 따르면 와 의 거리 사이에는 관계가 있습니다디와이엑스디디디+ k. 따라서 우리는 거리가 다른 차원에서 유지되거나 최소한 우리가 목표로하는 직관을 가지고 있습니다. 일부 수학으로 그것을 정당화하려고 노력합시다.
이 답변에서는 t-sne에 관련된 수학에 대해 자세히 설명하지는 않지만 이야기합니다 ( t-SNE : 왜 동일한 데이터 값이 시각적으로 가깝지 않습니까? ). 여기서 수학은 기본적으로 점의 분포가 지수 적이라고 가정 할 때 원래 공간에서와 같이 투영 된 공간에서 두 점이 가깝게 유지 될 확률을 최대화하는 것입니다. 따라서이 방정식을 보면 . 확률은 두 점 사이의 거리에 따라 달라 지므로 더 멀어 질수록 더 낮은 치수로 투사 될 때 더 멀어집니다. 에서 멀리 떨어져 있으면피j | 나는=e x p (− | |엑스제이−엑스나는||22σ2)∑k ≠ ie x p (− | |엑스제이−엑스나는||22σ2)아르 자형케이예상 치수에 가깝지 않을 가능성이 높습니다. 이제 우리는 왜 포인트가 "가까워 야"하는가에 대한 수학적 타당성을 가지게되었습니다. 그러나 이것은 지수 분포이기 때문에 이러한 점이 크게 떨어져 있으면 가장 가까운 이웃 속성이 유지된다고 보장 할 수는 없지만 이것이 목표입니다.
이제 마지막으로이 개념도 보여주는 깔끔한 코딩 예제입니다.
from sklearn.manifold import TSNE
from sklearn.neighbors import KNeighborsClassifier
X = [[0],[1],[2],[3],[4],[5],[6],[7],[8],[9]]
y = [0,1,2,3,4,5,6,7,8,9]
neighs = KNeighborsClassifier(n_neighbors=3)
neighs.fit(X, y)
X_embedded = TSNE(n_components=1).fit_transform(X)
neighs_tsne = KNeighborsClassifier(n_neighbors=3)
neighs_tsne.fit(X_embedded, y)
print(neighs.predict([[1.1]]))
>>>[0]
print(neighs_tsne.predict([[1.1]]))
>>>[0]
이것은 매우 순진한 예이며 복잡성을 반영하지는 않지만 몇 가지 간단한 예를 실험하여 작동합니다.
편집 : 또한 질문 자체와 관련하여 몇 가지 요점을 추가하므로 이것이 사실 일 필요는 없지만 수학을 통해 합리화하면 구체적인 결과가 없음을 증명할 수 있습니다 (예 또는 아니오). .
이것이 TSNE에 대한 귀하의 우려를 해결하기를 바랍니다.