t-SNE
from 多様体学習
t-SNE(t-distributed Stochastic Neighbor Embedding)
多様体学習のひとつ
2次元または3次元への圧縮として、主に可視化のために使われるアルゴリズム
データ間の距離を可能な限り維持する(どのデータが近傍にあるかを示す情報を維持する)ような2次元(or 3次元)の表現を見つけようとするアルゴリズム
距離がt分布に従うと仮定したもの
パラメータperplexity(どれだけ近傍の点を考慮するか)の設定によって結果が変わる
5~50の間が推奨、デフォルトが30
scikit-learnでの実装
https://scikit-learn.org/stable/modules/generated/sklearn.manifold.TSNE.html
実行例
MNIST手書き文字データの圧縮
8×8=64ピクセルの画像、すなわち64次元のデータ
PCAによる2次元への圧縮
https://gyazo.com/d0245f8e1125d071560ce9812e3bac23
t-SNEによる2次元への圧縮
https://gyazo.com/562eda4ae1e025eec2c446fb4a21a0c4
特徴量(説明変数)しか用いない(クラスラベルを用いない)完全な教師なし学習にもかかわらず、クラスごとの塊がかなりきれいに見いだせている