"機械学習","信号解析","ディープラーニング"の勉強

読者です 読者をやめる 読者になる 読者になる

HELLO CYBERNETICS

深層学習、機械学習、強化学習、信号処理、制御工学などをテーマに扱っていきます

ダイバージェンス関数を数学の立場から概観

 

 

機械学習で現れるダイバージェンスといえばご存知KLダイバージェンスがあります。

KLダイバージェンスは学習をする際の評価関数として用いられることもありますが、二乗誤差などに比べ、なぜにこの関数が評価関数として妥当なのか納得しづらいところです。

今回は数学的な立場からダイバージェンス関数について眺めてみて、これが学習の評価基準として選ばれうることを見てみたいと思います。

 

 

情報量から見たKLダイバージェンスの記事

以前は情報量という立場からKLダイバージェンスについての記事を書きました。

s0sem0y.hatenablog.com

これによって、定性的な理解は得られるかと思います。

 

今回は情報量の立場からKLダイバージェンスというものが得られるという方向性ではなく、数学的な関数としてダイバージェンスを定義し、評価の指標になりうることを見ていきます。

 

近さを測る

評価基準と空間

滋賀と大阪は近いと言えるでしょうか。

東京と大阪に比べれば近いかもしれません。

 

f:id:s0sem0y:20161117042643p:plain

 

何かが「近い」か否かは、そもそも基準を決めなければ決まりません。上の図は地図上での距離を測ったものです。東西南北を座標とした空間で(実際は北と東で十分)、その二乗距離を比較すればいいでしょう。これは近さを測る上でかなり妥当な考え方だと思われます。

 

いま、東西南北の座標空間を立て、評価するために二乗距離を考えました。

 

評価基準と座標の選び方

街の発達の度合いで言えば日本国内において東京と大阪は最も近い都市であると言えます。

では街の発達度とは何で測るのでしょうか。ひとつは人口密度や高層ビルの数を数えることかもしれません。すなわち人口密度と高層ビルの数を座標に取ろうということです。

 

ここでその座標における二乗距離というものを比較すれば「発達度における近さ」なるものを定量的に評価できると言えるでしょうか。

 

例えば都市を地区ごとに、もっと細かく分けたとしましょう。高層ビルはあるが、そこはオフィス街で人口密度は少ないという場合、あるいはその逆で、ベッドタウンで人口密度は高いが高層ビルは少ないという場合もありえます。さて二乗距離を測ることが近さを測る妥当な手段でしょうか。かなり微妙な雰囲気になっているでしょう。

 

f:id:s0sem0y:20161117042939p:plain

 

1つは発達度を考慮しようとした時に、人口密度と高層ビルという座標の選び方が間違っていた可能性があります。これだけじゃ足りない、あるいはそもそも必要のない座標かもしれません。

 

もう1つは発達度を考慮する上で座標を立て、近さを測るために二乗距離を測ったのが良くないのかもしれません。そもそも人口密度と高層ビルの数では、取る値の範囲が明らかに違います。スケールも次元も、まともに評価できるものであるとは言いづらいです。

 

もしも上記の例だけを考えるならば、我々にできることは座標をとりあえずそのままにして、2つの成分の値の積の二乗を近さを測る基準にすると良いかもしれません。すると明らかに村が街としての発達度としては小さな値になるはずです。

 

これは単なる一例ですが、空間を決めたならば、適切な評価基準を考えることの大事さはわかってもらえたでしょうか。

 

何かの近さを測ろうと思うならば、必ず空間と近さを測る評価基準をセットで導入せねばなりません。これを感覚的に理解することが手始めです。

 

ダイバージェンスとは

近さを測るものさし

上記で述べたとおり、近さを測る上では座標とそれに対する評価基準が非常に大事であることがわかりました。仮に座標上で見た目は離れていても、適切な評価基準があれば上手く近さを測れるかもしれないという可能性も見えたかと思います。

 

ダイバージェンスとはそのような評価基準を与える道具なのです。

いわばダイバージェンスは近さをはかるものさしです。

 

近さを測るとは

では、近さを測るためには何をすればいいでしょうか。

いきなり二乗距離だとか、マハラノビス距離だとか、マンハッタン距離だとか考えるのではなく、近さを測ろうと思った際にその評価基準が満たしているべき性質を考えてみましょう。

 

私達はすでに「○○距離」という言葉を知っています。○○距離という場合には実は必ず以下の性質を持ち合わせています。

座標上の2点P,Qの距離d(P,Q)

 

d(P,Q)≧0 (非負性)

 

P=Q ⇔ d(P,Q)=0 (同一性)

 

d(P,Q)=d(Q,P) (対称性)

 

d(P,R)+d(R,Q)≧d(P,Q) (三角不等式)

 

 

確かにイメージする距離っぽいですね。

逆にこのような性質を満たす限りは、それらすべてを距離として認めることにします。つまり2乗でなく4乗を使っても良いということになります(それで実りある成果があるかはわかりませんが)。

 

ダイバージェンスも同じように、近さを測る上で満たしてると良さそうなものを先に決めてしまいます。それは以下のように定義されています。

 

座標上の2点P,QのダイバージェンスD(P,Q)

 

D(P:Q)≧0

 

P=Q ⇔ D(P:Q)=0

 

D({\bf v},+d{\bf v})=\frac{1}{2}\sum g_{ij}dv_id_jにおいてG({\bf v})=g_{ij}({\bf v})が正定値対称

 

 

例えば直交座標系(ユークリッド空間)においては、二乗距離の平方根(ユークリッド距離)は上の3つの性質をすべて満たしているのでダイバージェンスであるとも言えるわけです。これはたまたま対称性も満たしていますが、ダイバージェンスにとってはそこはあまり気にしないということになっています。つまり距離よりも少し緩い条件になっているのです。

 

3つ目の数式は、ほんの少しだけ点がずれた際のダイバージェンスが右辺で評価できると言っています。ここで例えばG=g_{ij}という行列を、単に単位行列としてしまえば、これは正定値対称行列です。右辺は定数倍を除けば二乗距離になっています。

 

ユークリッド距離も二乗距離も、ダイバージェンスの資格を持っており、ダイバージェンスから見ればかなり厳しい条件をクリアした評価基準であると言えます。

 

 

ダイバージェンスは大きいほど離れていることを表しているので、「近さを測る基準」ではなく「分離度を測る基準」と改めます。

 

 

確率分布族の空間

ユークリッド距離や二乗距離は、ダイバージェンスから見ればかなり厳しい基準をクリアしていると言えました。対称性を満たしていたり、微小距離を測る際の行列が完全に単位行列であるというかなり限定されたダイバージェンスです。

 

このようにガチガチの基準であると、それに見合わない空間において適切に分離度を適切に測ることができなくなってしまいます。その例を見て行きましょう。

 

確率分布同士の近さを図で測る

ガウス分布を例に上げましょう。

 

p(x;μ,σ^2)=\frac{1}{\sqrt{2π}σ}\exp \left( - \frac{(x-μ)^2}{2σ^2}\right)

 

ガウス分布はパラメータμσによって、様々な形状を取ります。

xがどのような分布から出ていると言えるのかを決定づけているのはμσなのです。つまり、いろいろなガウス分布の形状をμσの二次元平面上で考えることができます。

下の図の各点がパラメータが異なる1つ1つのガウス分布を指定します。

 

 

f:id:s0sem0y:20161117055141p:plain

 

 

参考に、色ごとに対応をつけたガウス分布の図を示しておきます

 

 



f:id:s0sem0y:20161117054817p:plain

 

 

確率分布の分離度を測る上では、パラメータを指定した結果、確率変数xが似たようなところに現れるかが指標になりそうです。そういう点に着目して、「青と赤の分離度」と「緑と水色の分離度」を比較してみてください。

パラメータ空間上のユークリッド距離では、どちらの分離度も同じだと判断できます。

しかし、実際の分布を見ると青と赤が同じような値を出す確率と、緑と水色が同じような値を出す確率は、明らかに異なっています。

 

直線的に分離度を測ることを諦める

パラメータ空間上で点のユークリッド距離を見ることにあまり意味がないことがわかりました。しかしだからといって、パラメータ空間を考えるのが無意味というわけではありません。分布1つを点1つで指定できるのはとても便利です。図を描くときもスッキリと済ますことができます。

 

代わりに測り方を変えましょう。

ブラジルと日本の距離を測ろうと思った時に、地中に潜っていった直線距離を測ることなどしないはずです。実用上地表上を通ってたどり着ける距離を測るはずです。

実は地図上でユークリッド距離が使えたのは、地球に比べ非常に近い距離を図っているために過ぎなかったと考えると、そもそも直線的に距離を測ることがかなり限定的な環境だということがわかります。

 

つまり私達はパラメータ空間上でグネグネ曲がりながら実用的なダイバージェンスの測り方を探せばいいということです。

 

ダイバージェンスの定義の最後を思い出しましょう。

 

D({\bf v},+d{\bf v})=\frac{1}{2}\sum g_{ij}dv_id_jにおいてG({\bf v})=g_{ij}({\bf v})が正定値対称

 

なぜにこんな微小のダイバージェンスを測る定義をしたのでしょうか。

それは地球が局所的には平面上の地図で書き落とせるように、曲がったものも局所的にはまっすぐに見えるからです。そのことを利用すれば、微小のダイバージェンスを図りながら少しずつずらして足していけば、結果的には曲線的なダイバージェンスを測ることができます。

 

局所的にはユークリッド空間:多様体

地球も局所的にはユークリッド空間です。平面上に地図を書き、上を見上げれば空が見えます。

しかしあなたが向いている「上」は、地球の裏側にとっては「下」なのです。各場所ごとに局所的なユークリッド空間を考え、少しずれた先ではそのユークリッド空間が傾いているような状況です。インドくらいまで行けば、きっと「上」の方向も「東」の方向も、わずかに傾いているはずです。

 

 

f:id:s0sem0y:20161117061017p:plain

 

 

このように、ユークリッド空間が少しずつずれながらも、上手く貼り合わせれば空間を表現できるような場合、それを多様体と呼びます。

 

これは今まで私達が普通に考えていたユークリッド空間とは違います。多様体は座標が大域的には曲がっているのです。だから、大域的に距離やダイバージェンスを直線的に測ろうとしても意味がありません。

 

確率分布のパラメータ空間とはまさに多様体になっているのです。

 

多様体に曲がり方に応じて、当然測り方は変えなければなりません。

 

数学的な立場において

パラメータによって指定される確率分布族の多様体において分離度を測る際には、KLダイバージェンスが有効であることがわかっています。ユークリッド空間上でも、必ずしもユークリッド距離を使うとは限りません。網の目上の道路ならばマンハッタン距離のほうがいいでしょう。したがって、KLダイバージェンス以外のダイバージェンスで測ることも容認されます。

 

なぜKLダイバージェンスが有効なダイバージェンスと言えるのか

冒頭での紹介記事の結論を申し上げますと、KLダイバージェンスは相対エントロピーと完全に一致しています(情報利得などとも言う)。

 

-{\int}p(x){\rm log}({\frac {q(x)}{p(x)})}dx

 

情報理論におけるエントロピーという概念自体が、確率から定義されていますから、概念から相対エントロピーが確率分布が似ているかを測る基準になるのが分かるはずです。

 

s0sem0y.hatenablog.com

 

不変性の要請

確率分布の様々な集まり(確率分布族)をp(x;{\bf θ})としたとき、パラメータ空間\bf θでものごとを考えようということをしていますが、もしもxが変換を受けて出す値が変わったとすれば分布の形は変わります。

 

例えばサイコロの出目を確率変数xと取る場合の確率分布p(x)と、サイコロの出目×100を確率変数xとした場合の確率分布p(x)に本質的な違いはありませんが(すべて6分の1)、確率分布をプロットした時には、値がx=1などではなくx=100などとなっているわけです。

 

分布の形は変わります。しかしパラメータ空間上では何も変化は起きていないはずです。

すなわちパラメータ空間で確率分布族を考えた時、その確率変数xがどのような表現であろうとも空間の構造は同一でなければならない「不変性」が要請されます。

 

確率分布族をM=\left( p(x;{\bf θ}) \right)とした時、逆変換が存在する変換k

 

y=k(x)

k^{(-1)}(y)=xが存在する)

 

と変換したとしましょう。すると確率密度は

 

p(y';{\bf θ})=p(x;{\bf θ}) \frac{dk^{(-1)}}{dy}

 

に変更されます。それでも確率分布族M'=\left( p'(y;{\bf θ}) \right)Mと同じ空間になっており、各点は同じ座標\bf θで指定されます。

したがって、確率変数の表現を変えた際にも、ダイバージェンスは同じ値を返すように定義される方が正当であるのです。もしも確率変数の表現を変えただけでダイバージェンスの値が変わるのならば、それはパラメータの座標空間で普遍的な分離度を測っていることにはなりません。

 

fダイバージェンス

分解可能で不変なダイバージェンスという枠組みに

 

Hellinger距離

d(\mathbf{x}_1,\mathbf{x}_2)=\sqrt{\sum_i^n (\sqrt{x_{1i}}-\sqrt{x_{2i}})^2}

 

KLダイバージェンス

D(p:q)=-{\int}p(x){\rm log}({\frac {q(x)}{p(x)})}dx

 

変分距離

d({\bf p,q)}=\sum |p_i -q_i|

 

などがある。これらをfダイバージェンスという。

これに加え、双対平坦性を満たすダイバージェンスはKLダイバージェンス以外に存在しないことがわかっています。

 

 

EMアルゴリズム

EMアルゴリズムはパラメータを固定し期待値を求め、次は期待値を最大化するパラメータを求めることを繰り返すアルゴリズムです。

このアルゴリズムは双対平坦な多様体の中で2つの部分多様体の間のKLダイバージェンスの最小化を繰り返しているemアルゴリズムと同等であることがわかります。