Step:

t-SNEを効果的に使用する方法

高次元データの可視化には非常に有用ですが、t-SNEプロットは時として謎めいていたり誤解を招いたりすることがあります。単純なケースでの動作を探ることで、より効果的に使用する方法を学ぶことができます。

Step

高次元データを探索するための人気の手法の一つに、2008年にvan der MaatenとHintonによって導入されたt-SNEと呼ばれるものがあります。この技術は、数百または数千の次元を持つデータから魅力的な二次元の「マップ」を作成するほぼ魔法のような能力を持っているため、機械学習の分野で広く普及しています。 印象的ではありますが、これらの画像は誤読を招きやすい場合があります。この記事の目的は、よくある誤読を防ぐことです。

t-SNE図が何を示すことができ、何を示すことができないかを説明するために、一連の簡単な例を見ていきます。t-SNE技術は本当に有用ですが、それは正しく解釈する方法を知っている場合に限ります。

本題に入る前に:t-SNEに初めて触れる場合は、その背後にある数学について知っておくべきことをお話しします。目標は、高次元空間内の点の集合を取り、通常は2次元平面である低次元空間でそれらの点の忠実な表現を見つけることです。このアルゴリズムは非線形で、基礎となるデータに適応し、異なる領域で異なる変換を実行します。これらの違いが混乱の主な原因となる可能性があります。

t-SNEの2つ目の特徴は、「パープレキシティ」と呼ばれる調整可能なパラメータで、これは(大まかに言えば)データの局所的側面と大域的側面のどちらに注意を向けるかのバランスを決めるものです。このパラメータは、ある意味では、各点が持つ近接近傍点の数についての推測です。パープレキシティ値は、結果として得られる図に複雑な影響を与えます。元の論文では、「SNEの性能はパープレキシティの変化に対してかなり頑健であり、典型的な値は5から50の間である」と述べています。しかし、実際はもっと微妙な話です。t-SNEを最大限に活用するには、異なるパープレキシティで複数のプロットを分析することが必要かもしれません。

複雑さはこれで終わりではありません。例えば、t-SNEアルゴリズムは連続する実行で常に類似した出力を生成するわけではありませんし、最適化プロセスに関連する追加のハイパーパラメータもあります。


1. ハイパーパラメータは本当に重要

t-SNEの「hello world」から始めましょう:大きく離れた2つのクラスターからなるデータセットです。できるだけシンプルにするために、左図に示すように2次元平面内のクラスターを考えます。(分かりやすくするため、2つのクラスターは色分けされています。)右側の図は、5つの異なるパープレキシティ値でのt-SNEプロットを示しています。

van der Maaten & Hintonが提案した範囲(5 - 50)のパープレキシティ値では、図はこれらのクラスターを示していますが、形状は大きく異なります。その範囲外では、少し奇妙なことが起こります。パープレキシティが2の場合、局所的な変動が支配的になります。クラスターが融合したパープレキシティ100の画像は、落とし穴を示しています:アルゴリズムが適切に動作するためには、パープレキシティは点の数よりも小さくあるべきです。そうでなければ、実装は予期しない動作を示すことがあります。

上記の各プロットは、学習率(しばしば「イプシロン」と呼ばれる)10で5,000回の反復で作成され、ステップ5,000までに安定点に達していました。これらの値はどの程度の違いを生むのでしょうか?私たちの経験では、最も重要なことは、安定した配置に到達するまで反復することです。

上記の画像は、パープレキシティ30での5つの異なる実行を示しています。最初の4つは安定する前に停止されました。10、20、60、120ステップ後には、クラスターの1次元的、さらには点状の画像のように見えるレイアウトを確認できます。奇妙な「つまんだ」形状のt-SNEプロットを見た場合、プロセスが早すぎる段階で停止された可能性があります。残念ながら、安定した結果をもたらす固定されたステップ数はありません。異なるデータセットは、収束するために異なる反復数を必要とする場合があります。

もう一つの自然な疑問は、同じハイパーパラメータでの異なる実行が同じ結果を生成するかどうかです。この単純な2クラスターの例、およびこれから議論する他のほとんどの例では、複数の実行は同じ大域的形状を与えます。しかし、特定のデータセットでは、異なる実行で著しく異なる図が得られます。これについては後でその例の一つを示します。

今後、特に断りのない限り、5,000回の反復からの結果を示します。これは、このエッセイの(比較的小さな)例における収束には一般的に十分です。ただし、パープレキシティの範囲は引き続き示します。なぜなら、これがすべてのケースで大きな違いを生むように思われるからです。


2. t-SNEプロットにおけるクラスターサイズは意味がない

ここまでは順調です。しかし、2つのクラスターが異なる標準偏差を持ち、そのため異なるサイズを持つ場合はどうでしょうか?(サイズとは、点の数ではなく、境界ボックスの測定値を意味します。)以下は、平面上のガウス分布の混合のt-SNEプロットで、一方が他方の10倍分散している場合です。

驚くことに、2つのクラスターはt-SNEプロットでは同じくらいのサイズに見えます。 何が起こっているのでしょうか?t-SNEアルゴリズムは、データセット内の地域的密度変動に合わせて「距離」の概念を適応させます。その結果、密なクラスターを自然に拡張し、疎なクラスターを収縮させ、クラスターサイズを均等化します。明確にしておくと、これは次元削減技術が距離を歪めるという一般的な事実とは異なる効果です。(結局のところ、この例ではすべてのデータは最初から2次元でした。)むしろ、密度の均等化は設計によって起こり、t-SNEの予測可能な特徴なのです。

しかし、結論として、t-SNEプロットではクラスターの相対的なサイズを見ることはできません。


3. クラスター間の距離は意味がないかもしれない

クラスターの距離についてはどうでしょうか?次の図は、それぞれ50点からなる3つのガウス分布を示しており、一方のペアがもう一方のペアの5倍離れています。

パープレキシティ50では、図は大域的幾何学の良い感覚を与えます。より低いパープレキシティ値では、クラスターは等距離に見えます。パープレキシティが100の場合、大域的幾何学は良く見えますが、クラスターの1つが他のものよりもはるかに小さく、誤って表示されます。 この例ではパープレキシティ50が良い結果を与えたので、大域的幾何学を見たい場合は常にパープレキシティを50に設定できるでしょうか?

残念ながら、そうではありません。各クラスターにより多くの点を追加すると、それを補償するためにパープレキシティを増加させる必要があります。ここでは、50点ではなく200点ずつの3つのガウシアンクラスターのt-SNE図を示します。今度は、試行したパープレキシティ値のいずれも良い結果を与えません。

大域的幾何学を見るためにパープレキシティの微調整が必要であることは悪いニュースです。実世界のデータでは、おそらく異なる数の要素を持つ複数のクラスターがあるでしょう。すべてのクラスター間の距離を捉える単一のパープレキシティ値は存在しないかもしれません—そして残念ながらパープレキシティは大域的パラメータです。この問題を修正することは、将来の研究の興味深い分野かもしれません。

基本的なメッセージは、t-SNEプロットにおいて十分に分離されたクラスター間の距離は何も意味しない可能性があるということです。


4. ランダムノイズは必ずしもランダムに見えない

典型的な落とし穴は、実際にはただのランダムデータである中にパターンを見ていると思い込むことです。ノイズを見たときにそれを認識することは重要なスキルですが、適切な直感を身につけるには時間がかかります。t-SNEについて厄介なことは、それが既存の直感の多くを無意味にしてしまうことです。 次の図は真にランダムなデータ、100次元の単位ガウス分布から抽出された500点を示しています。左の画像は最初の2つの座標への投影です。

パープレキシティ2のプロットは劇的なクラスターを示しているように見えます。データ内の構造を引き出すためにパープレキシティを調整していた場合、大当たりを引いたと思うかもしれません。

もちろん、点の雲がランダムに生成されたことを知っているので、統計的に興味深いクラスターは存在しません:これらの「塊」は意味がないのです。以前の例を振り返ると、低いパープレキシティ値はしばしばこの種の分布につながります。これらの塊をランダムノイズとして認識することは、t-SNEプロットを読む上で重要な部分です。

しかし、他にも興味深いことがあり、これはt-SNEの勝利かもしれません。最初、パープレキシティ30のプロットは全くガウス分布のようには見えません:雲の異なる領域間でわずかな密度差しかなく、点は疑わしいほど均等に分布しているように見えます。実際、これらの特徴は高次元正規分布について有用なことを語っており、高次元正規分布は球面上の均等分布に非常に近く、均等に分布し、点間の間隔がほぼ等しいのです。この観点から見ると、t-SNEプロットはどの線形投影よりも正確です。


5. 時には形状を見ることができる

データが完全に対称的な方法で分布することはまれです。50次元の軸に沿ったガウス分布を見てみましょう。ここで、座標iでの標準偏差は1/iです。つまり、やや長い楕円体状の点の雲を見ているのです。

十分に高いパープレキシティ値では、細長い形状は読み取りやすくなります。一方、低いパープレキシティでは、局所的効果と意味のない「クラスタリング」が中心となります。より極端な形状も現れますが、これも適切なパープレキシティでのみです。例えば、ここでは2次元の平行線上に少しノイズを加えて配置された、それぞれ75点からなる2つのクラスターを示します。

特定のパープレキシティの範囲では、長いクラスターは正しく見えるに近く、これは安心できます。

しかし、最良の場合でも微妙な歪みがあります:t-SNE図では線がわずかに外側に湾曲しています。その理由は、いつものように、t-SNEがデータのより密な領域を拡張する傾向があるからです。クラスターの中央部は端部よりも周囲の空の空間が少ないため、アルゴリズムはそれらを拡大します。


6. 位相幾何学には複数のプロットが必要な場合がある

時にはt-SNEプロットから位相情報を読み取ることができますが、それには通常、複数のパープレキシティでの表示が必要です。 最も単純な位相的性質の一つは包含です。以下のプロットは、50次元空間における75点ずつの2つのグループを示しています。どちらも原点を中心とした対称ガウス分布からサンプリングされていますが、一方は他方よりも50倍密に分散しています。「小さな」分布は事実上、大きな分布に含まれています。

パープレキシティ30の表示は基本的な位相を正しく示していますが、再びt-SNEは小さな点グループのサイズを大幅に誇張しています。パープレキシティ50では、新しい現象が起こります:外側のグループが円になります。これは、すべての点が内側のグループからほぼ同じ距離にあるという事実を描こうとしているためです。この画像だけを見ると、これらの外側の点を一次元構造として誤読しやすいでしょう。

より複雑な位相のタイプについてはどうでしょうか?これは実用的データアナリストよりも数学者により愛される主題かもしれませんが、興味深い低次元構造が時折野生で発見されます。

3次元でリンクや結び目を描く点の集合を考えてみましょう。再び、複数のパープレキシティ値を見ることで最も完全な図を得られます。低いパープレキシティ値では2つの完全に分離したループが得られ、高いものでは一種の大域的接続性を示します。

三葉結び目は、複数の実行がt-SNEの結果にどのように影響するかの興味深い例です。以下は、パープレキシティ2での5回の実行です。

アルゴリズムは2回円に落ち着き、これは少なくとも内在的位相を保持しています。しかし、3回の実行では、人工的な断絶を導入する3つの異なる解に到達しました。点の色をガイドとして使用すると、1回目と3回目の実行が互いに大きく異なることがわかります。

しかし、パープレキシティ50での5回の実行は、(対称性を除いて)視覚的に同一の結果を与えます。明らかに、最適化が他よりも容易な問題があります。


結論

t-SNEがこれほど人気になった理由があります:それは信じられないほど柔軟で、他の次元削減アルゴリズムが見つけられない場所で構造を見つけることができるのです。残念ながら、まさにその柔軟性が解釈を困難にします。ユーザーの目に触れないところで、アルゴリズムは可視化を整理するあらゆる種類の調整を行っています。 しかし、隠れた「魔法」に怖がって全体の技術から遠ざからないでください。良いニュースは、単純なケースでt-SNEがどのように動作するかを研究することで、何が起こっているかについての直感を発達させることが可能だということです。

謝辞

このプラットフォームを作成し、優れたデザインと編集で協力してくれたChris OlahとShan Carterに感謝します。 Daniel Smilkov、James Wexler、Chi Zengから多くの有益なコメントをいただきました。 また、インタラクティブな図で使用されているtsnejsライブラリを作成したAndrej Karpathyにも感謝します。

この研究は、Google Brainチームの支援によって可能になりました。

2016年10月18日に編集:点の数より大きいパープレキシティが定義された場合の問題を記述し修正しました。これを指摘してくれたLaurens van der Maatenに感謝します。