SlideShare a Scribd company logo
t-SNE
今回はt-SNEについて簡単にまとめました.
(※ 詳細を知りたい場合は原論文をご覧ください.)
今回読んだ論文はこれです.
https://lvdmaaten.github.io/publications/papers/JMLR_2008.pdf
本発表の目次です.
次元削減とは
SNEの概要
t-SNEの概要
t-SNEの適用例
t-SNE(t-Distributed Stochastic Neighbor Embedding) は次元削減の一手法です.
特に高次元データの可視化によく用いられていてkaggleで人気です.
次元削減とは高次元のデータ集合 を
低次元のデータ集合
X = { , , …, }x1 x2 xn
に変換することを意味します.Y = { , , …, }y1 y2 yn
その際,高次元のデータ集合の特徴をできる限り保持できるようにします.
以下の手法は書籍でよく見る有名な次元削減手法です.
主成分分析
多次元尺度法
Isomap
カーネル主成分分析
t-SNEはこれらの手法とは全く異なるアルゴリズムで次元削減を実現します.
t-SNEはSNE(Stochastic Neighbor Embedding)という手法に改良を加えた手法です.
SNEは2002年にHintonとRoweisによって提案されました.
t-SNEを説明する前に,まずはSNEについて簡単に説明します.
SNEの概要
SNEの特徴は二点間の類似度を条件付き確率で表現するところにあります.
(※ これは先ほど紹介した有名な手法にはない考え方です.)
=pj|i
exp(−|| − | /2 )xi xj |
2
σ2
i
exp(−|| − | /2 )∑k≠i
xi xk |
2
σ2
i
SNEは からxi の近さを条件付き確率xj で表します.pj|i
は平均pj|i に従うガウス分布においてxi が抽出される確率密度とします.
数式で表すと以下のとおりです.
xj
ここで, は平均σ2
i
のガウス分布の分散であり,
今は異なる二点間の類似度にのみ興味があるので
xi
とします.
(※ ここで,一般に
= 0pi|i
であることに注意しましょう.
そのため,距離でも類似度でもなく「近さ」という表現を用いています.)
≠pj|i pi|j
= , = 0qj|i
exp(−|| − | )yi yj |
2
exp(−|| − | )∑k≠i
yi yk |
2
qi|i
次に,次元削減後の点 からyi の近さも同様に定義します.
ただし,ガウス分布の分散をデータ点に関わらず
yj
とするところが異なります.
数式で表せば以下の通りです.
1
2√
もし,次元削減後も元のデータ構造を完全に再現できていれば,
となるはずです.(これが理想)=pj|i qj|i
したがって,SNEでは とpj|i の誤差がなるべく
小さくなるような次元削減を目指します.
qj|i
そこで,分布間の近さを測る指標があると便利です.SNEでは
カルバック・ライブラー・ダイバージェンス(Kullback-Leibler-divergence)を用います.
(※ カルバック・ライブラー情報量やカルバック・ライブラー擬距離と呼ばれることもあります.)
これは対称性(距離の公理)を満たさないため正確な意味で距離とは言えませんが,
分布間の差異を表すことに利用されることがあります.
KL(P||Q) = P(i) log
∑
i
P(i)
Q(i)
を離散確率分布とする時P, Q のP に対するカルバック・ライブラー情報量は
以下のように定義されます.(
Q
をΣ と置き換えれば連続確率分布にも拡張できます.)∫
(※ 詳細は情報理論(Information theory)についての書籍を参照してください.
は常にKL(P||Q) 以上で,0 とP の分布が似ているほど小さな値をとります.Q
カルバック・ライブラー情報量を用いれば とpj|j の近さを
表現することができそうです.
qj|i
C = KL( || ) = log
∑
i
Pi Qi
∑
i
∑
j
pj|i
pj|i
qj|i
そこで,SNEでは以下の目的関数の最小化を目指します.
ここで, はデータ点Pi と他の全てのデータ点から得られる条件付き確率分布です.
そして,
xi
はデータ点Qi と他の全てのデータ点から得られる条件付き確率分布です.yi
= 2 ( − + − )( − )
δC
δyi
∑
j
pj|i qj|i pi|j qi|j yi yj
SNEは目的関数 の最小解を勾配法により求めます.C = log∑i
∑j
pj|i
pj|i
q
j|i
この目的関数の勾配は以下のようになります.
収束した後の がSNEの出力です.Y = { , , …, }y1 y2 yn
t-SNEの概要
先ほども言った通りt-SNEはSNEに改良を加えた手法です.
C = KL(P||Q) = log
∑
i
∑
j
pji
pji
qji
まず,目的関数が異なります.t-SNEの目的関数は以下の通りです.
※ SNEでは でした.C = log∑i
∑j
pj|i
pj|i
qj|i
= , = , = 0pij
+pi|j pj|i
2N
pj|i
exp(−|| − | /2 )xi xj |
2
σ2
i
exp(−|| − | /2 )∑k≠i
xi xk |
2
σ2
i
pi|i
そこで,t-SNEでは点 と点xi の近さを同時分布xj で以下のように定めます.pij
の式はSNEと変わりありませんが,pj|i により,
二点間の近さ
=pij
+pi|j
pj|i
2N
に対称性が生まれます.pij
=qij
(1 + || − |yi yj |
2
)
−1
(1 + || − |∑k≠l
yk yl |
2
)
−1
また,点 と点yi の近さを同時分布yj で以下のように定めます.qij
ここで, とyi の近さを表現するために,ガウス分布ではなく
自由度1のt分布を用いることがt-SNEの名前の由来です.
yj
= 4 ( − )( − )(1 + || − |
σC
σyi
∑
j
pij qij yi yj yi yj |
2
)
−1
t-SNEでは,この とpij を用いて,
目的関数
qij
の最小化を行います.C = log∑i
∑j
pji
pji
q
ji
これも解析的には最小解を求めることができないので,勾配法を使います.
ちなみに,勾配は以下のようになります.
t-SNEの適用例
まずはt-SNEをMNISTデータセットに適用した結果を紹介します.
MNISTは手書き数字 が書かれた pixelの画像データセットです.0 − 9 28 × 28
画像は,(左上)t-SNE (右上)Sammon mapping (左下)Isomap (右下)LLEの出力結果です.
t-SNEは784次元のデータをうまく2次元に集約することができています.
次にCOIL-20データセットに適用した例を紹介します.
COIL-20は20種類の物体を5度ずつ角度を変えて撮影した画像データセットです.
画像は,(左上)t-SNE (右上)Sammon mapping (左下)Isomap (右下)LLEの出力結果です.
物体ごとの特徴が0°から360°までで一つの円を作っている様子が確認できます.
おわりに
今日はt-SNEの概要を説明しました.
t-SNEはpythonやRにもパッケージが用意されているので,
次元圧縮をする際には是非使用するか検討してみてください.
ただし,使用の際の注意点もあります.
t-SNEは2次元もしくは3次元の次元圧縮には有効ですが,
それ以上の次元には計算コストの都合上現実的ではありません.
(※ 4次元以上の場合は別の手法を使いましょう.)
以上です.

More Related Content

What's hot

[DL輪読会]Life-Long Disentangled Representation Learning with Cross-Domain Laten...
[DL輪読会]Life-Long Disentangled Representation Learning with Cross-Domain Laten...[DL輪読会]Life-Long Disentangled Representation Learning with Cross-Domain Laten...
[DL輪読会]Life-Long Disentangled Representation Learning with Cross-Domain Laten...
Deep Learning JP
 
強化学習その1
強化学習その1強化学習その1
強化学習その1
nishio
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
Deep Learning JP
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII
 
強化学習その3
強化学習その3強化学習その3
強化学習その3
nishio
 
[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報
Deep Learning JP
 
Transformerを用いたAutoEncoderの設計と実験
Transformerを用いたAutoEncoderの設計と実験Transformerを用いたAutoEncoderの設計と実験
Transformerを用いたAutoEncoderの設計と実験
myxymyxomatosis
 
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Hideki Tsunashima
 
ResNetの仕組み
ResNetの仕組みResNetの仕組み
ResNetの仕組み
Kota Nagasato
 
Bayesian Neural Networks : Survey
Bayesian Neural Networks : SurveyBayesian Neural Networks : Survey
Bayesian Neural Networks : Survey
tmtm otm
 
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
Deep Learning JP
 
単語の分散表現と構成性の計算モデルの発展
単語の分散表現と構成性の計算モデルの発展単語の分散表現と構成性の計算モデルの発展
単語の分散表現と構成性の計算モデルの発展
Naoaki Okazaki
 
ベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learning
ベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learningベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learning
ベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learning
ssuserca2822
 
Iclr2016 vaeまとめ
Iclr2016 vaeまとめIclr2016 vaeまとめ
Iclr2016 vaeまとめ
Deep Learning JP
 
Deeplearning輪読会
Deeplearning輪読会Deeplearning輪読会
Deeplearning輪読会
正志 坪坂
 
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision TreeNIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
Takami Sato
 
Variational AutoEncoder
Variational AutoEncoderVariational AutoEncoder
Variational AutoEncoder
Kazuki Nitta
 
数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理
Taiji Suzuki
 
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
Deep Learning JP
 
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
Deep Learning JP
 

What's hot (20)

[DL輪読会]Life-Long Disentangled Representation Learning with Cross-Domain Laten...
[DL輪読会]Life-Long Disentangled Representation Learning with Cross-Domain Laten...[DL輪読会]Life-Long Disentangled Representation Learning with Cross-Domain Laten...
[DL輪読会]Life-Long Disentangled Representation Learning with Cross-Domain Laten...
 
強化学習その1
強化学習その1強化学習その1
強化学習その1
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
強化学習その3
強化学習その3強化学習その3
強化学習その3
 
[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報
 
Transformerを用いたAutoEncoderの設計と実験
Transformerを用いたAutoEncoderの設計と実験Transformerを用いたAutoEncoderの設計と実験
Transformerを用いたAutoEncoderの設計と実験
 
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
 
ResNetの仕組み
ResNetの仕組みResNetの仕組み
ResNetの仕組み
 
Bayesian Neural Networks : Survey
Bayesian Neural Networks : SurveyBayesian Neural Networks : Survey
Bayesian Neural Networks : Survey
 
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
 
単語の分散表現と構成性の計算モデルの発展
単語の分散表現と構成性の計算モデルの発展単語の分散表現と構成性の計算モデルの発展
単語の分散表現と構成性の計算モデルの発展
 
ベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learning
ベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learningベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learning
ベイズ深層学習5章 ニューラルネットワークのベイズ推論 Bayesian deep learning
 
Iclr2016 vaeまとめ
Iclr2016 vaeまとめIclr2016 vaeまとめ
Iclr2016 vaeまとめ
 
Deeplearning輪読会
Deeplearning輪読会Deeplearning輪読会
Deeplearning輪読会
 
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision TreeNIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
 
Variational AutoEncoder
Variational AutoEncoderVariational AutoEncoder
Variational AutoEncoder
 
数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理
 
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
 
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
 

Viewers also liked

Deep Networks with Neuromorphic VLSI devices
Deep Networks with Neuromorphic VLSI devicesDeep Networks with Neuromorphic VLSI devices
Deep Networks with Neuromorphic VLSI devices
Giacomo Indiveri
 
Embedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural NetworksEmbedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural Networks
Yusuke Uchida
 
「人工知能で作る楽しい未来」
「人工知能で作る楽しい未来」「人工知能で作る楽しい未来」
「人工知能で作る楽しい未来」
Romotive Japan
 
Ford Fulkerson Algorithm
Ford Fulkerson AlgorithmFord Fulkerson Algorithm
Ford Fulkerson Algorithm
Adarsh Rotte
 
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
Recruit Technologies
 
Kaggleのテクニック
KaggleのテクニックKaggleのテクニック
Kaggleのテクニック
Yasunori Ozaki
 
Low power vlsi design ppt
Low power vlsi design pptLow power vlsi design ppt
Low power vlsi design ppt
Anil Yadav
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
Ryota Kamoshida
 

Viewers also liked (9)

Deep Networks with Neuromorphic VLSI devices
Deep Networks with Neuromorphic VLSI devicesDeep Networks with Neuromorphic VLSI devices
Deep Networks with Neuromorphic VLSI devices
 
Embedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural NetworksEmbedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural Networks
 
「人工知能で作る楽しい未来」
「人工知能で作る楽しい未来」「人工知能で作る楽しい未来」
「人工知能で作る楽しい未来」
 
Network flow problems
Network flow problemsNetwork flow problems
Network flow problems
 
Ford Fulkerson Algorithm
Ford Fulkerson AlgorithmFord Fulkerson Algorithm
Ford Fulkerson Algorithm
 
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
 
Kaggleのテクニック
KaggleのテクニックKaggleのテクニック
Kaggleのテクニック
 
Low power vlsi design ppt
Low power vlsi design pptLow power vlsi design ppt
Low power vlsi design ppt
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
 

More from 貴之 八木

トピックモデル
トピックモデルトピックモデル
トピックモデル
貴之 八木
 
混合ガウスモデルとEMアルゴリスム
混合ガウスモデルとEMアルゴリスム混合ガウスモデルとEMアルゴリスム
混合ガウスモデルとEMアルゴリスム
貴之 八木
 
最適腕識別
最適腕識別最適腕識別
最適腕識別
貴之 八木
 
主成分分析
主成分分析主成分分析
主成分分析
貴之 八木
 
線形識別モデル
線形識別モデル線形識別モデル
線形識別モデル
貴之 八木
 
線形回帰モデル
線形回帰モデル線形回帰モデル
線形回帰モデル
貴之 八木
 
勾配法
勾配法勾配法
勾配法
貴之 八木
 

More from 貴之 八木 (7)

トピックモデル
トピックモデルトピックモデル
トピックモデル
 
混合ガウスモデルとEMアルゴリスム
混合ガウスモデルとEMアルゴリスム混合ガウスモデルとEMアルゴリスム
混合ガウスモデルとEMアルゴリスム
 
最適腕識別
最適腕識別最適腕識別
最適腕識別
 
主成分分析
主成分分析主成分分析
主成分分析
 
線形識別モデル
線形識別モデル線形識別モデル
線形識別モデル
 
線形回帰モデル
線形回帰モデル線形回帰モデル
線形回帰モデル
 
勾配法
勾配法勾配法
勾配法
 

t-SNE