回答:
私は、t-SNEが非常にうまく機能する驚くべきアルゴリズムであり、それが当時の本当のブレークスルーであったことに同意します。しかしながら:
t-SNEのいくつかの短所に関するこの非常に人気のあるアカウントにリンクしている人がいます:https : //distill.pub/2016/misread-tsne/(+1)実際のデータでt-SNEおよび関連するアルゴリズムを操作する際に実際に直面する問題に非常によく対応しています。例えば:
以下、3つすべてについて簡単に説明します。
t-SNEは、多くの場合、データセットのグローバル構造を保持できません。
:アレン研究所(マウス皮質細胞)からこの単一細胞RNA-seqのデータセット考えるhttp://celltypes.brain-map.org/rnaseq/mouseを。〜23k個のセルがあります。このデータセットには多くの意味のある階層構造があることをアプリオリに知っており、これは階層クラスタリングによって確認されます。ニューロンと非神経細胞(グリア、星状細胞など)があります。ニューロンの中には、興奮性ニューロンと抑制性ニューロンがあります。2つの非常に異なるグループです。例えば、抑制性ニューロンの中には、いくつかの主要なグループがあります:Pvalb発現、SSt発現、VIP発現。これらのグループのいずれにも、さらに複数のクラスターがあるようです。これは、階層的なクラスタリングツリーに反映されます。しかし、上記のリンクから取られたt-SNEは次のとおりです。
非神経細胞は灰色/茶色/黒色です。興奮性ニューロンは青/青/緑です。抑制性ニューロンはオレンジ/赤/紫です。これらの主要なグループを結び付けたいと思うかもしれませんが、これは起こりません。t-SNEがグループをいくつかのクラスターに分離すると、それらは任意に配置されることになります。データセットの階層構造は失われます。
これは解決可能な問題であるべきだと思いますが、この方向での最近の研究(私自身のものを含む)にも関わらず、私は良い原則的な開発については知りません。
t-SNEは、「過密」状態になる傾向があります
t-SNEはMNISTデータで非常にうまく機能します。しかし、これを考慮してください(このペーパーから引用)。
1百万のデータポイントでは、すべてのクラスターがまとまります(これの正確な理由はそれほど明確ではありません)。カウンターバランスをとる唯一の既知の方法は、上記のようにダーティーハックを使用することです。私は経験から、これは他の同様に大きなデータセットでも起こることを知っています。
これは、MNIST自体(N = 70k)でほぼ間違いなく見ることができます。見てみましょう:
右側はt-SNEです。左側には、アクティブな開発中の新しいエキサイティングな方法であるUMAPがあります。これは、古いlargeVisと非常によく似ています。UMAP / largeVisはクラスターをさらに引き離します。これの正確な理由は不明確です。ここにはまだ理解しなければならないことがたくさんあり、おそらく改善するべきことがたくさんあります。
Barnes-Hutランタイムは大きなに対して遅すぎる
したがって、これはもはや未解決の問題ではないかもしれませんが、ごく最近まで発生しており、ランタイムをさらに改善する余地があると思います。そのため、この方向で作業を継続できます。
t-SNEの実行時にパラメーターを変更すると、いくつかの非常に単純なデータセットにどのように影響するかについての優れた分析があります:http : //distill.pub/2016/misread-tsne/。一般に、t-SNEは高次元構造(クラスターよりも複雑な関係を含む)の認識に適しているようですが、これはパラメーターの調整、特にパープレキシティ値の影響を受けます。
私はまだ他のコメントを聞きたいと思っていますが、私はそれを見たように、今のところ私自身の答えを投稿します。私はより「実用的な」答えを探していましたが、言及する価値のあるt-sneには2つの理論的な「欠点」があります。最初の問題はそれほど問題ではなく、2番目の問題は間違いなく考慮する必要があります。
t-sneコスト関数は凸ではないため、グローバル最適に到達することは保証されません。他の次元削減手法(Isomap、LLE)には凸コスト関数があります。t-sneではこれは当てはまりません。そのため、「良い」ソリューションに到達するために効果的に調整する必要がある最適化パラメーターがいくつかあります。ただし、潜在的な理論上の落とし穴ですが、t-sneアルゴリズムの「ローカルミニマム」でさえ他の方法のグローバルミニマムよりも優れている(より良い視覚化を作成する)ように見えるため、実際にはこれはほとんど落ち込みではないことに言及する価値があります。
固有の次元の呪い:t-sneを使用する際に心に留めておくべき重要なことの1つは、本質的に多様な学習であるということです。アルゴリズム。本質的に、これはt-sne(および他のそのような方法)が元の高次元が人為的にのみ高い状況で機能するように設計されていることを意味します:データには固有の低次元があります。つまり、データは低次元の多様体に「収まります」。念頭に置いておくべき良い例は、同じ人物の連続した写真です:各画像をピクセル数(高次元)で表すことができますが、データの本質的な次元は実際にはポイントの物理的変換によって制限されます(この場合、頭部の3D回転)。そのような場合、t-sneはうまく機能します。しかし、本質的な次元性が高い場合、またはデータポイントが非常に多様な多様体上にある場合、最も基本的な仮定である多様体上の局所線形性に違反するため、t-sneのパフォーマンスが低下すると予想されます。
実際のユーザーにとって、これは心に留めておくべき2つの有用な提案を暗示していると思います。
視覚化メソッドの次元削減を実行する前に、処理しているデータに対してより低い固有の次元が実際に存在するかどうかを常に最初に把握してください。
1(および一般的に)が不明な場合は、元の記事が示唆するように、「非常に多様なデータ多様体を効率的に表現するモデルから取得したデータ表現でt-sneを実行すると便利です」自動エンコーダーなどの非線形レイヤーの」。そのため、このような場合には、自動エンコーダーとt-sneの組み合わせが適切なソリューションになります。