AI(人工知能)用語集

次元削減による可視化手法t-SNE(tsne)とは?要点と基本を解説

t-SNE

機械学習の教師なし学習には様々なアルゴリズムがありますが、教師あり学習よりはイメージが湧きにくいですよね。本記事では教師なし学習アルゴリズムのひとつ「t-SNE(ティースニ)」について解説します。

以下のリンクがt-SNEの原著論文です。英語ですが興味のある方は是非読んでみてください。

Visualizing Data using t-SNE – Journal of Machine Learning

t-SNEの発音は「ティースニ」、もしくは「ティースニー」です。t-SNEの解説を行っているこの動画でt-SNEの論文を発表した本人であるLaurens van der Maatenが「ティースニ」と発音していることが確認できます。

教師なし学習とは

t-SNEの前に教師なし学習について解説しましょう。

機械学習は大きく分けると教師あり学習と教師なし学習に分けられます。教師あり学習ではモデルの入力となるXとその答えのyの組み合わせから学習を行うアルゴリズムで、教師なし学習ではその名の通りモデルの入力Xのみから学習を行い、そこから意味のある情報を抽出することを目的としています。教師なし学習には次元削減の他にもデータをいくつかの意味のある集団(クラスタ)に分けるクラスタリングなどがあります。

t-SNEとは

ここからはいよいよt-SNEについて触れていきましょう。

t-SNEは機械学習の教師なし学習の中のひとつで、次元削減を行うアルゴリズムです。次元削減というのは元のデータの情報をなるべく保持したままデータの次元数を減らすアルゴリズムのことで、著名なアルゴリズムにはt-SNE以外にPCA(主成分分析)などがあります。t-SNEはSNEという次元削減アルゴリズムを改良した手法で、次元を削減することで2次元か3次元へ写像し、可視化することを主な目的としているアルゴリズムです。

t-SNEのメリット

t-SNEはPCAなどとはどのような違いがあるのでしょうか。t-SNEはPCAなどの可視化手法とは異なり、線形では表現できない関係も学習して次元削減を行える利点があります。一般に高次元空間上で非線形な構造を保持しているデータに対してPCAのような線形変換を行う次元削減アルゴリズムはうまく動作しません。

非線形な構造を持つとは、Swissrollデータセットと呼ばれる以下の画像のような構造を持つデータのことを指します。

swissroll

https://scikit-learn.org/stable/auto_examples/cluster/plot_ward_structured_vs_unstructured.html#sphx-glr-auto-examples-cluster-plot-ward-structured-vs-unstructured-py より

t-SNEのアルゴリズム

t-SNEではあるデータ点とあるデータ点の近さを同時確立として表現します。そして次元削減後のデータ点の近さも同様に同時確立として表現し、元データと次元削減後のデータの近さをKL divergence(カルバック・ライブラー ダイバージェンス)を最小化することで次元削減の学習を行います。

実際には削減後のデータを乱数で初期化し、KL divergenceを勾配法で最小化します。SNEとの差異は次元削減後の近さの表現に正規分布を用いており、t-SNEでは自由度1のt分布を用いているということですね。

t-SNEによるMNISTデータセットの可視化

t-SNEによるデータの次元削減がどの程度妥当なのかを検証するため、論文中ではMNISTデータを2次元にまで次元削減した後に可視化を行っています。MNISTデータというの0から9までの手書き数字が描かれたデータセットで、以下の図のような画像からな構成されています。

mnist

http://yann.lecun.com/exdb/publis/pdf/lecun-98.pdf より

それぞれ高さと幅が28ピクセルずつからなり、画像1枚あたりのデータサイズは784次元となります。これをTSNEによって2次元にまでデータを圧縮した以下の画像を確認してみましょう。

0から9まできれいにクラスタが分かれていることがわかります。また4と9のクラスタが近かったり、3と8のクラスタが近かったりと人間が数字を見て似ていると感じる部分の情報もある程度そのまま保持できていることがわかります。

tsne

http://www.jmlr.org/papers/volume9/vandermaaten08a/vandermaaten08a.pdf より

まとめ

t-SNEについて重要な点をまとめましょう。

  • t-SNEは次元削減を行う教師なし学習手法のひとつ
  • 確率分布の差異を最小化するように学習を進める
  • 可視化に特化しており、PCAなどと比較してより複雑なデータでも有効に働きやすい
以上、ご覧いただきありがとうございました。

燃やせ探究心!突き詰めろ美しきソースコード!オタフ☆クラブ

みんなのAI(人工知能)用語集

トップへ戻る
タイトルとURLをコピーしました