uni memo

t-sneとは

t-sneとは

t-sne について、理論とか知りたくなったので調べてまとめてみる

正式には t-sne(t-distributed stochastc neighbor embedding) といい次元削減法の一種。 word2vec など、高次元空間で表されるデータを可視化するときに用いられる

次元削減とは、高次元のデータの集合についてデータの特徴を保持したまま、 低次元のデータ集合に変換すること

他には主成分分析(PCA)などの方法が知られている

sne という手法に改良を加えたものを t-sne という

sne

アプローチとしては、高次元空間での類似度をpijp_{ij}

低次元空間での類似度をqijq_{ij}とし、確率分布で表現する。 それらの分布を最小化するように確率分布のパラメータを最適化する 二点間の類似度を条件付き確率で表現する

pijp_{ij}xixjx_iのx_j近さを確率で表す

条件付き確率

B における A の条件付き確率

P(AB)=P(A,B)P(B)P(A|B)=\frac{P(A,B)}{P(B)}

と表すP(A,B)P(A,B)を A,B の同時確率(A と B が同時に生じる確率)という

P(B)P(B)は、B の生じる確率で、(複数の事象が生じる前提において)周辺確率ともいう

javascrtipt で使ってみる

実装と言っても、ライブラリを使っている

t-sne

https://demo.uni-3.app/mnisttsne にて、 https://github.com/tensorflow/tfjs-examples/tree/master/tsne-mnist-canvas これの react 版を実装した

mnist 画像のベクトルを

t-sne
で次元削減して表現している

参考

2024, Built with Gatsby. This site uses Google Analytics.