manifold learning - arosh/arosh.github.com GitHub Wiki
Manifold learning
http://scikit-learn.org/stable/modules/manifold.html
Manifold learning (多様体学習) は非線形な次元削減を行う。
Isomap
IsomapはIsometric Mappingの略。多次元尺度構成法 (MDS) やカーネルPCAの拡張とみなすことができる。
LLE
Locally Linear Embeddingの略。局所的なPCAをつなぎ合わせる。
Modified LLEやHessian-based LLEといった拡張がある。
Spectral Embedding
グラフラプラシアンを使った方法。
Local Tangent Space Alignment
LLEの変種ではないのだけど,LLEに似ているので同じグループに置かれることが多い
Multi-dimensional Scaling (MDS)
元の高次元空間における点と点の距離を保持するような低次元写像を与える。
t-SNE
他の手法と比べて様々な利点があるが,以下のような注意点がある。
- 計算が重い
- exactな方法とapproximateな方法があるが、approximateな方法 (Barnes-Hut t-SNE) は2次元か3次元にしかすることができない。exactな方法でも、効果的に動作するのは2次元か3次元
- 初期値で結果がかなり変わる
perplexity
とearly_exaggeration
はどうでもいいがlearning_rate
の設定は超重要- 可視化の用途では、計算量的にapproximateな方法であるBarnes-Hut t-SNEの方を推奨
- http://iwiwi.hatenadiary.jp/entry/2016/09/24/230640
全体的な注意
- スケールは重要
- 可視化以外の用途では, Totally Random Trees Embedding も有効かもしれない。RandomTreesEmbeddingでは,Random Treeにデータを流して,到達した葉のIDを1 of Kにエンコーディングする。木の本数は複数本にできる。最終的に
n_estimators * 2**max_depth
次元のベクトルができる。