t-SNEがクラスを適切に分離していることを確認した後、どの分類アルゴリズムを使用する必要がありますか?


12

分類の問題があり、最初にデータから何らかの洞察を得たいと思い、t-SNEを実行するとします。t-SNEの結果は、クラスを非常によく分離します。これは、クラスも非常にうまく分離する分類モデルを構築できることを意味します(t-SNEが十分に分離しない場合は、それほど意味しません)。

t-SNEはローカル構造に焦点を当てており、クラスを適切に分離できることを知っています。この問題でうまく機能するはずの分類アルゴリズムとは何ですか?ScikitはGaussian RBFカーネルを備えたSVMを提案していますが、他は何ですか?


3
(+1)K-nearest-neighboursは、非常にシンプルで実装しやすい自然な選択肢の1つです。
アメーバは、モニカを

回答:


7

まず簡単な回答をしてから、より長いコメントを:

回答

SNE手法は、元のデータ空間と低次元の埋め込み空間の両方で、類似度がオブジェクトのペアの確率分布を形成するように、N×Nの類似度行列を計算します。具体的には、確率は一般に、入力データまたは埋め込みから計算された正規化されたガウスカーネルによって与えられます。分類に関しては、これはすぐにインスタンスベースの学習方法を思い起こさせます。それらの1つをリストしました:RVMを備えたSVM、@ amoebaはkNNをリストしています。放射基底関数ネットワークもありますが、私は専門家ではありません。

コメント

そうは言っても、t-SNEプロットだけを見てデータセットを推論する場合は、二重に注意します。t-SNEは必ずしもローカル構造に焦点を当てているわけではありません。ただし、perplexityパラメーターを調整することで調整できます。パラメーターは、データのローカルアスペクトとグローバルアスペクトの間で注意のバランスをとる方法を(大まかに)調整します。

このコンテキストでは、perplexityそれ自体が、各観測値が持つ可能性のある近接する近傍の数に関する暗示的な試みであり、ユーザーが指定します。原稿用紙の状態:「T-SNEの性能は、パープレキシティの変化に対してかなりロバストであり、典型的な値は5と50の間です」ただし、私の経験では、t-SNEを最大限に活用するには、さまざまな難易度の複数のプロットを分析する必要がある場合があります。

つまり、調整learning rateperplexityは、同じ数のトレーニングステップで同じデータを使用して、非常に異なる外観の2次元プロットを取得することが可能です。

この蒸留t-SNEの効果的な使用方法は、t-SNE分析の一般的な落とし穴の優れた要約を提供します。要点は次のとおりです。

  1. これらのハイパーパラメーター(学習率、困惑度など)は本当に重要です

  2. t-SNEプロットのクラスターサイズは何も意味しません

  3. クラスタ間の距離は何も意味しないかもしれません

  4. ランダムノイズは常にランダムに見えるとは限りません。

  5. いくつかの形を見ることができます

  6. トポロジーでは、複数のプロットが必要になる場合があります

具体的には、上記のポイント2、3、および6から、個々のt-SNEプロットを見て、データの分離可能性について推論することを2度考えます。適切なパラメーターを使用して明確なクラスターを示すプロットを「製造」できる多くの場合があります。


1
バークマイスター:あなたが書いたものはすべて意味があります。私の問題は非常に簡単に説明できます。分類モデルをできるだけ良くしたいのです。モデルの品質を向上させるためにそれをどのように使用できますか?私の推測では、t-SNEは、特定の問題に関連する可能性のある方法を「提案」できます。
Tomek Tarczynski 2017

2
編集を参照してください。インスタンスベースの学習方法は、t-SNEプロットから得られる手がかりと互換性があります。
Zhubarb 2017

2
(+1):答えをありがとう、私はまさにこれを探していました。2日以内に回答を受け付けます。
Tomek Tarczynski 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.