t-SNE:等しいデータ値が視覚的に近くないのはなぜですか?


9

すべてのフィーチャで同じ値を持つ200個のデータポイントがあります。

t-SNE次元削減後、次のように、それらはもはや同じに見えなくなります。 ここに画像の説明を入力してください

それらが視覚化の同じポイントになく、2つの異なるクラスターに分散しているように見えるのはなぜですか?



使用している精度(double / float)が原因である可能性はありますか?
El Burro

ほとんどの値は整数です。そして、それは非常にまばらで、ほとんどゼロの約500の機能です。精度が原因かどうかはわかりません。ただし、これらのクラスター間およびこれらのデータポイント間の距離は比較的大きくなります。
ScientiaEtVeritas

どのクラスター?私はすべて同じだと思った-またはあなたは陰謀を意味しますか?
El Burro

はい、私はプロット上のクラスターを意味します。
ScientiaEtVeritas

回答:


3

T-SNEの同じ値がさまざまなポイントに分散される可能性があることは正しいです。これが発生する理由は、T-SNEが実行されるアルゴリズムを調べれば明らかです。

アルゴリズムがデータセットに適用された後、ポイントが実際には同じではないという最初の懸念に対処するため。自分で確認するための演習を行います。単純な配列およびを検討し、それに対して実際のアルゴリズムを実行して、結果のポイントが実際には同一ではないことを確認しますこれに対してあなたの答えを相互参照できます。x1=[0,1]x2=[0,1]

import numpy as np from sklearn.manifold import TSNE m = TSNE(n_components=2, random_state=0) m.fit_transform(np.array([[0,1],[0,1]]))

また、を変更random_stateすると、モデルの出力座標が実際に変更されることにも注意してください。実際の座標とその出力の間には実際の相関関係はありません。TSNEの最初のステップから、条件付き尤度が計算されます。

アルゴリズムを使用して、これが発生する理由を合理化してみましょう。今のところ、直感のない数学を使用しています。この状況では、とはどちらもベクトルです。。ここで、を計算すると、場合、値が1であることがわかります。KLダイバージェンスを適用すると、上記の値が得られます。さて、これに直感を適用してみましょう。は、非公式には、がを選択する条件付き確率ですxixjPI、J=PI| j+pj| pj|i=exp(||xjxi||22σ2)kiexp(||xjxi||22σ2) pijxixjpij=pi|j+pj|i2Npijxixj隣人なので。これは、2つの理由で結果1を正当化します。1つ目は、他に近隣がないため、座標のリストで他の唯一のベクトルを選択する必要があることです。また、ポイントが同一であり、彼らは他の人の隣人として選ばれていることを可能性がなければならない、我々が見るように、高くなります。

次に、の絶対座標に意味があるかどうかを調べます。彼らは本当にしません。ランダム性により、ポイントをどこにでも移動させたい場所に再配置できます。ただし、さらに興味深いのは、ポイント間の距離の比率であり、これらは相対的であり、かなり高い次元に投影した場合でも相対的です。R2

したがって、真実は、2つのクラスターではなく、それらの間の距離を調べることです。これは、座標自体よりも多くの情報を伝えるためです。

これがあなたの質問に答えたことを願っています:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.