t-SNE【t-distributed Stochastic Neighbor Embedding】
概要
統計解析や機械学習では、一つのデータ点を複数の項目で表現する。項目の数を次元と呼び、2つや3つで表現されるデータはそのまま平面や立体に対応付けてグラフなどに描画することができるが、4つ以上の多数の項目で構成される場合にはそのまま視覚化することができず、何らかの方法で次元を削減しなければならない。t-SNEは高次元のデータ同士の近さを低次元でもなるべく再現するように変換することができる。
変換手法
t-SNEでは、まず高次元空間におけるデータ点同士の距離を基に、近い点ほど高い確率で隣り合うような分布を定義するところから始まる。具体的には、各データ点を中心とした確率分布を設定し、その分布に基づき点同士の類似度を数値化する。
変換先となる低次元空間の側でも同様に確率分布を定義し、高次元での類似度と低次元での類似度が一致するように配置を調整する。この調整は確率分布間の差を測る指標である「カルバック・ライブラー情報量」(KLダイバージェンス)という指標を最小化する方向に行われ、勾配降下法を用いて位置が更新される。
特徴
t-SNEの性質として、局所構造を強調する点が挙げられる。これは、高次元空間で近接している点同士が低次元空間でもまとまりとして表れやすく、クラスタとみなせる構造が視覚的に捉えやすくなることを意味する。
また、類似度を表現する確率分布として、高次元ではよく知られるガウス分布(正規分布)を、低次元では「スチューデントのt分布」と呼ばれる連続確率分布を用いる点も重要である。t分布はガウス分布などに比べ裾が厚いため、遠く離れた点が過度に近づくことを防ぎ、全体の配置を安定させることができる。
一方で、分布全体の大域的な構造の保持が必ずしも得意ではなく、遠い距離にある関係が低次元側で適切な位置関係として反映されない場合がある。また、計算量が比較的大きいため、大規模データへの適用には工夫が必要となることが多い。初期値やハイパーパラメータの影響を受けやすく、適切な値を選ぶことが重要とされる。
