いいえ、そうである必要はありませんが、これは複雑な方法でT-SNEの目標です。
答えの要点に入る前に、数学と直感の両方でいくつかの基本的な定義を見てみましょう。
RdX1,...,Xn∈Rdx∈Rd||X1−x||≤...≤||Xn−x||Rd
dyxddd+k。したがって、私たちは直感を持っています。つまり、距離はさまざまな次元で維持され、少なくともそれが私たちの目標です。数学でそれを正当化しようとしましょう。
pj|i=exp(−||xj−xi||22σ2)∑k≠iexp(−||xj−xi||22σ2)Rk
最後に、この概念も実証するきちんとしたコーディング例です。
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に関する懸念の一部が解消されたことを願っています。