0Generative Topographic Mapping
GTM

明治大学 理⼯学部 応用化学科
データ化学⼯学研究室 ⾦⼦ 弘昌

GTM とは︖

1

データを可視化・⾒える化するための非線形⼿法
主成分分析などとは異なり、はじめに⼆次元平⾯の座標を作ってしまい、それを実際の多次元空間のサンプルに合わせ込むというスタンスゴム状のシート (⼆次元平⾯) を曲げたり伸び縮みさせたりしながら、多次元空間にあるサンプルを通るようにシートを置き、そのシートにサンプルを射影するような⼿法
自己組織化マップ (Self-Organizing Map, SOM) のいろいろな問題点を解決した、上位互換の⼿法
ハイパーパラメータの数が多いため、設定の際には注意が必要
２次元平⾯において近いところにあるサンプル同士は、多次元空間においても近い

GTMで解決できたSOMの問題点

2

元の多次元空間においてサンプル同士が似ているからといって、SOMの2次元平⾯上でも似ているとは限らない⼆次元平⾯への可視化結果の良し悪しを評価するための関数(評価関数 or コスト関数) がない学習回数を大きくしたとしても、計算が収束するとは限らない⼆次元平⾯への可視化結果として、SOMにおいて発火したニューロンのどれか、だけあり確率で表わされるわけではない学習率や近傍関数をどのように設定すればよいかわからない

GTMの大まかな流れ① ⼆次元平⾯のサイズを決める• 10×10とか、20×20とか② ⼆次元平⾯から多次元空間へ変換する関数を決める
③ 多次元空間におけるデータセットになるべく当てはまるように②の関数のパラメータを最適化する
④ サンプルごとの、⼆次元平⾯上の各グリッド (格⼦点) に存在する確率を求める
⑤ 確率から、⼆次元平⾯上の位置を決める

3

GTMによる可視化の例

45

こんなデータセットがあるとする
変数
12・・・

i

12・・・

サンプルj・・・
n-1nxi(j)

・・・

m-1m

１つのサンプル、全サンプル
１つのサンプルを x(i)、全サンプルを Xとする

6

GTMを誤解なく理解するための発想の転換
GTMは⼀⾒、多次元 (m次元) → 2次元 の低次元化⼿法と思われがち発想を転換して、多次元 (m次元) → [グリッド数] 次元 への変換⼿法と考えたほうが、GTMを理解しやすい• たとえば、⼆次元平⾯のサイズが 10×10 のとき、[グリッド数] = 100

7

① ⼆次元平⾯のサイズを決める
縦のサイズと横のサイズは同じにすることが多い• k × k とする
縦も横も、-1 から 1 の間でグリッド (格⼦点) を決める
k を大きめに設定したとしても、計算時間が多めにかかるだけで、オーバーフィッティングへの影響はほとんどない• のちに設定する基底関数の数のほうが、オーバーフィッティングへの関係が強い

8

9① ⼆次元平⾯

k個
k個

−1−1

z1
1

10① グリッド (格⼦点) の座標
グリッド (格⼦点) の座標を

また、 z( j)( j)=  z1

 z1(1) ⋮ j
Z =  z1( ) ⋮ k2
 z1( )( j) z2 とする

z2(1) ⋮ z 2 ( j ) ⋮ 2k( )z 2 とする

② ⼆次元 → 多次元 の変換
⼆次元から多次元へ変換する非線形関数を f とする

x(i )

( )

= f z( j)11② 基底関数f を、p 個の基底関数という非線形関数の線形結合とする
i 番目の基底関数 ϕi(z(j)) は、⼆次元平⾯上における、中心 t(i) = [ t1(i) t2(i)] から同心円状に値が小さくなる、以下の放射基底関数 (radial basis function)( )φi z( j)

 1 (i ) ( j ) 2 = exp − 2 t − z
 2σ

p = q × q として、基底関数の中心を⼆次元平⾯上にまんべんなく置くことが多い

1213② 基底関数の中心の配置
q個

1z2q個
z1−11−1

14② 重み W
f を、p 個の基底関数という非線形関数の線形結合とする

( )

( )
= Φ ( z( ) ) W( )( )f z ( ) = φ1 z ( ) w1 + φ2 z ( ) w 2 + ⋯ + φq2 z ( ) w q2jjjjj

ただし、(1)( 2)( m) 
w i =  wiwi
⋯ wi W = w
T1( )w2T⋯ w q2 T( ) ( )jj
Φ z ( ) = φ1 z ( )φ2 z ( j )T( )j⋯ φq2 z ( ) 

② ⼆次元→多次元 の変換は分布をもつ

15

⼆次元平⾯の各グリッドから、多次元空間への変換は、
f(z(j)) = Φ(z(j))W を中心とした正規分布
m22
 β 
 β

( j)
p x | z , W, β = exp
−
Φz
W−x


22π




(( j))( )β︓正規分布の分散の逆数
W、β が決まったあとに、z(j) を⼊⼒したときの多次元空間における確率分布 (probability distribution) という意味
確率分布なので、値をすべて⾜すと 1 になる

② すべてのグリッド(格⼦点)からの変換
⼆次元平⾯におけるすべてのグリッドを多次元空間に変換する
多次元空間における確率分布 p( x | W, β ) は、各グリッドにおけるp( x | z(j), W, β ) をすべてのグリッドで⾜し合わせ、最後にグリッド数で割ることで与えられる• グリッド数で割るのは、⾜して 1 にするため

p ( x | W, β ) =

k2

1( j)
px|z, W, β2 k j =1()

16

③ 最適化のための準備

17

確率分布 p( x | W, β ) が、多次元空間における実際のデータ分布を表現していればよいつまり、各サンプル x(i) の確率 p( x(i) | W, β ) をすべてのサンプルでかけあわせたものが、大きければよいn((i )
px| W, β∏i =1)

18③ 尤度関数 L
n((i )px| W, β∏i =1) について、対数をとったものを尤度関数 L とする

 L は W と β の関数
n{(L ( W, β ) =  ln p x( ) | W, βi =1i)} 1 k(i )( j)=  ln  2  p x | z , W, β i =1
 k j =1
n2()m
nk22 21  β  β( j)(i ) =  ln  2   exp − Φ z W − x 2
i =1
 k  2π  j =1
( ) L の最大化を試みる

③ EMアルゴリズム

19⼀般的には、L を W と β で微分して、勾配法・ニュートン法などでL を最大化し、そのときの W や β を求める
今回は微分が難しい
 L の最大化を、W と β が不明という不完全データ問題としてとらえ、EM (Expectation–Maximization) アルゴリズムを用いてL が最大となる W と β を求める
• EステップとMステップとを繰り返して W と β を求める
⁃ Eステップ︓今の W と β のもとで、尤度関数の条件付き確率に関する期待値を計算⁃ Mステップ︓期待値を最大化する W と β を計算
EMアルゴリズムhttps://ja.wikipedia.org/wiki/EM%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0

20③ Responsibility (R)Responsibility• あるサンプル x(i) に対応する あるグリッド z(j) の確率• Eステップにおける条件付き確率⁃ ベイズの定理により計算(Rx(i ) ,z( j ) ( W, β ) = p z ( j ) | x(i ) , W, β()p x ( i ) | z ( j ) , W, β= k2()()( )px|z, W, βr =1ir)

21③ Mステップで最大化する関数 Lcomp
EMアルゴリズムにおいて繰り返し計算 a 回目の W, β をそれぞれWa, βa とする(p x( i ) | z ( j ) , Wa , β aRx(i ) ,z( j ) ( Wa , β a ) = k 2()

(i )
(r )
px|z, Wa , β ar =1)Mステップにおいて、W, β について最大化する関数 Lcomp( W, β ) は、
nk2{(Lcomp ( W, β ) =  Rx(i ) ,z( j ) ( Wa , β a ) ln p x( i ) | z ( j ) , W, βi =1 j =1)}

22

③ Lcompを最大化させるW
Lcomp( W, β ) を W で微分して、0 とする
そのときの W を Wa+1 とする
nk2{ ( )} ( )

( j)
(i )
( j)
T
R
W,βΦz
W−x
Φ
z=0()
 x(i) ,z( j) a aa +1i =1 j =1

これを満たす Wa+1 を計算

③ Lcompを最大化させる βLcomp( W, β ) を β で微分して、0 とする
そのときの β を βa+1 とする
1nk2

21( j)(i )=Rx(i ) ,z( j ) ( Wa , β a ) Φ z Wa +1 − x
β a +1 mn i =1 j =1

これを満たす βa+1 を計算

( )

23

24

③ W の大きさに制約
正則化係数 λ を導⼊ λ p (W | λ ) = 
π2

k 2m2

 λ m k(i ) exp  −  w j  2 i =1 j =1
2

25

③ W1 と β1
主成分分析 (Principal Component Analysis, PCA) を用いて W と β との初期値 W1, β1下の式が最小になるような W1 を計算
k221(i )(i )Φ z W1 − z U2 i=1( )β1 は三番目の固有値を逆数にしたものU︓最初の固有ベクトルと⼆番目の固有ベクトル③ W と β の計算
p.24 で W1, β1 を計算
下の３つを、尤度関数が収束するまで繰り返す• p.20 の Responsibility (R) の計算• p.21 の Wa, βa → Wa+1 の計算• p.22 の Wa, βa → βa+1 の計算

26

④ ⼆次元平⾯上での確率サンプルごとの、⼆次元平⾯上の各グリッド (格⼦点) に存在する
確率は、p.19のResponsibility (R) によって計算できる
サンプルごとに、全グリッドの R を⾜すと 1 になる

27

⑤ ⼆次元平⾯上の位置
サンブルごとに、確率分布から⼆次元平⾯上の位置を決める⽅法が主に２通りある• Mode (最頻値): すべてのグリッドの中で R が最大の位置• Mean (平均値): Rの値を重みとした重み付き平均

28

GTMのハイパーパラメータのその意味合い
マップサイズ︓k• 大きめに設定したとしても、計算時間が多めにかかるだけで、オーバーフィッティングへの影響はほとんどない基底関数の数︓q• 基底関数を多くすると、柔軟に可視化・⾒える化できるが、オーバーフィッティングの危険も高くなる
基底関数の標準偏差︓σ• 大きいほど滑らかな⼆次元平⾯になる• データセットが多次元空間に⁃ まんべんなく広がっているときは、大きい⽅がよい⁃ 局所的にいくつか かたまって存在していれば、小さい⽅がよい
重み W の大きさを決めるパラメータ︓λ• 0 からスタートし、問題があれば、0.0001, 0.001, …と、少しずつ大きくする

29

GTMのハイパーパラメータの最適化の⽅法
クロスバリデーションの”誤差”が最小になるパラメータの組み合わせ
サンプルごとの、最もユークリッド距離の小さい k 個のサンプルとの中点をテストサンプルとしてあつかい、テストサンプルの”誤差”が最小となるパラメータの組み合わせ• ”誤差”とは、多次元空間上のサンプル点と、⼆次元平⾯に写像したあとに、もう⼀度多次元空間に戻した点とのRMSE (Root-Mean-Squared Error)

30

逆写像
GTMにより、あるサンプルを⼆次元平⾯上に写像できる
⼆次元平⾯上に写像された点を、元の空間に戻してあげることを逆写像という元のサンプル点と逆写像された点との距離を⾒ることで、サンプル点が⼆次元平⾯とどれくらい近いかが分かる
離れているサンプルは、適切に写像されていない、外れ値である、などの議論ができる

31

32

逆写像のしかた( )ある z(j) に対して、 Φ z ( j ) W により多次元平⾯上に逆写像できる
Responsibility (R) を考慮した逆写像• あるサンプルに対して、p.20 の Responsibility (R) を計算する( )• j 番目のグリッド点に対応する R を Φ z ( j ) W の重みとみなして、
Φ z ( ) W を重み付き平均した座標が、対象としたサンプルを( )j逆写像した点である