変分ベイズを理解する

41.6K Views

July 03, 22

スライド概要

profile-image

大阪大学医学系研究科 特任助教

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

変分ベイズを理解する

2.

目次 • 確率分布 • ベイズ学習(解析可能な計算) • 変分ベイズの準備 • 変分ベイズ(近似による推論) 2

3.

確率分布 • 確率密度関数:連続値を取る𝑥に対して以下の条件を満たす関数 𝑝 𝑥 ≥0 න 𝑝 𝑥 dx = 1 有名な確率密度関数:正規分布(ガウス分布) 𝑥−𝜇 2 𝑝 𝑥 = exp{− 2 } 2 2𝜎 2𝜋𝜎 1 正規分布の例:日本人の身長 3

4.

確率分布 • 確率質量関数:離散値を取る𝑥に対して以下の条件を満たす関数 𝑝 𝑥 ≥0 ෍ 𝑝(𝑥) = 1 𝑥 有名な確率質量関数:ベルヌーイ分布 𝑝 𝑥 = 𝜇𝑥 1 − 𝜇 1−𝑥 ベルヌーイ分布の例:コインの裏表の確率分布 4

5.

同時分布と条件付き分布 • 同時分布 𝑝 𝑥, 𝑦 = 𝑝 𝑥 𝑝(𝑦) 𝑝 𝑥 , 𝑝(𝑦) は互いに独立した分布 • 条件付き分布 𝑝 𝑥, 𝑦 𝑝 𝑥|𝑦 = 𝑝(𝑦) 5

6.

同時分布と条件付き分布 • ある夫婦には子供が二人いて、二人とも男の子である確率は? 𝑝 𝑥, 𝑦 = 𝑝 𝑥 𝑝 𝑦 = 1 1 1 × = 2 2 4 ※一人目と二人目の確率はそれぞれ独立 • ある夫婦には子供が二人いて、二人とも男の子である確率は? ただし、二人のうち少なくても一人は男の子であることが分かっている。 1 𝑝 𝑥, 𝑦 = (二人とも男の子) 4 3 (二人のうち少なくても一人は男の子) 𝑝 𝑦 = 4 1 𝑝 𝑥, 𝑦 1 4 𝑝 𝑥|𝑦 = =3= 𝑝(𝑦) 3 4 ※男と女が生まれる確率はそれぞれ1/2とする http://arduinopid.web.fc2.com/P9.html より一部変更 6

7.

ベイズの定理 • 2つの条件付き分布より導出 𝑝 𝑥, 𝑦 = 𝑝 𝑦 𝑥 𝑝(𝑥) 7

8.

ベイズの定理 有名な問題) • 国民の1%が罹っている病気がある。この病気に罹っているか否か検査する際、10%の確 率で正常にも拘わらず陽性と誤判断し、 10%の確率で病気にも拘わらず陰性と誤判断し てしまう。ここである人が陽性と判断された場合、本当に病気にかかっている確率は? ?? 陽性と判断された人が病気にかかっている確率 𝑝 𝑥 0.01 病気にかかっている確率 𝑝 𝑦 0.108 (0.01×0.9 + 0.99 ×0.1) 検査で陽性となる確率(真陽性+偽陽性) 0.9 (1-0.1) 病気にかかっている人が陽性と判断される確率 𝑝 𝑥|𝑦 𝑝 𝑦|𝑥 0.9 × 0.01 𝑝 𝑥|𝑦 = = 0.0833 0.108 http://arduinopid.web.fc2.com/P9.html より一部変更 8

9.

ベイズ学習 • 「ベイズの定理」から以下が言える 𝑝 𝑥|𝑦 ∝ 𝑝 𝑦|𝑥 𝑝(𝑥) ∝ は比例(等式ではない) • この時、それぞれの分布を以下のように呼ぶ 𝑝 𝑥|𝑦 ∝ 𝑝 𝑦|𝑥 𝑝(𝑥) 事後分布 尤度関数 事前分布 9

10.

ベイズ学習 • 一般的な機械学習 • 学習 : 訓練データ集合𝐷からパラメータ集合𝜃を推定 • 推論 : パラメータ𝜃から新しいデータ𝑥∗に対して何らかの知見を得る • ベイズ学習による機械学習 • 学習 : 事前分布𝑝 𝜃 と尤度関数𝑝 𝐷|𝜃 から事後分布𝑝 𝜃|𝐷 を計算する • 推論 : 事後分布𝑝 𝜃|𝐷 と𝑥∗に関する分布から𝑝 𝑥∗ |𝜃 を得る 𝑝 𝜃|𝐷 ∝ 𝑝 𝐷|𝜃 𝑝(𝜃) ベイズの枠組みで機械学習を考えることが出来る 10

11.

ベルヌーイ分布の学習と予測 • ベイズ学習と予測を計算する • ここでは、計算が比較的簡単なベルヌーイ分布で考える 𝐵𝑒𝑟𝑛 𝑥|𝜇 = 𝜇 𝑥 1 − 𝜇 1−𝑥 x ∈ 0,1 , μ はパラメータ。μ ∈ 0,1 • 𝐵𝑒𝑟𝑛 𝑥|𝜇 :データ𝑥がどのようなパラメータ𝜇から生成されたか→尤度関数 • 𝜇 はベルヌーイ分布を決定するパラメータ。𝑝(𝜇) とすると事前分布 𝑝(𝜇)の分布を計算したいが、どのような分布か事前情報が無いと分からない → 手元にあるデータ集合𝐷から事前分布を計算する 11

12.

ベルヌーイ分布の学習と予測 • 事前分布𝑝(𝜇)をデータ集合Xから計算する • 事前分布は𝜇 ∈ 0,1 となるような変数を選択する • 「ベータ分布」はこの条件を満たすような分布 Beta = 𝜇 𝑎, 𝑏 = 𝐶𝐵 𝑎, 𝑏 𝜇 𝑎−1 1 − 𝜇 𝑏−1 𝑎 ∈ ℝ+ , 𝑏 ∈ ℝ+はベータ分布のパラメータ このベータ分布を「共役事前分布※」と言い、事後分 布を効率的に計算することができる。 ※事後分布と同じ種類の確率分布を取る事前分布 ベータ分布 12

13.

ベルヌーイ分布の学習と予測 • ベイズの定理を用いて事後分布を計算 𝑋 = {𝑥1, 𝑥2, … , 𝑥𝑛 } 13

14.

ベルヌーイ分布の学習と予測 • 両辺の対数をとって計算 𝑋 = {𝑥1, 𝑥2, … , 𝑥𝑛 } 𝜇 の計算に無関係な項をconstで表現 14

15.

ベルヌーイ分布の学習と予測 • 両辺の対数をとって計算 (1)を整理すると、次のようなベータ分布で表せる →事後分布は解析的に計算可能 15

16.

ベルヌーイ分布の学習と予測 • 事後分布のパラメータは以下のように計算できた : 𝑥 = 1 となる回数 : 𝑥 = 0 となる回数 𝑁が大きくなるほど、事前分布のパラメータ𝑎, 𝑏の影響は小さくなる 16

17.

ベルヌーイ分布の学習と予測 • 𝜇′ = 0.3のベルヌーイ分布に従う観測データを無作為に作成 𝑁 = 5 : 𝑎, 𝑏の影響が大きい 𝑁 = 100 : 𝑎, 𝑏の影響がほとんどない 17

18.

(ここまでのまとめ)ベイズ推論の学習と予測 • 尤度関数が任意の分布に従うように設定(例.ベルヌーイ分布) • 尤度関数の分布に対応する共役事前分布を設定(例.ベータ分布) • 事後分布は事前分布と同じ種類の分布となる(例.ベータ分布) →尤度関数と事前分布により事後分布が解析的に計算可能 𝑝 𝜃|𝐷 ベータ分布 ∝ 𝑝 𝐷|𝜃 𝑝(𝜃) ベルヌーイ分布ベータ分布 ただし、共役でない事前分布を設定することも可能 (この場合、事後分布は事前分布と同じ種類とはならないため、解析的に計算できない) → MCMCや変分ベイズ法により事後分布を推論する 18

19.

エントロピー(entropy) • 確率分布の「予測のしにくさ(複雑さ)」を示す値 H𝑝 𝑥 = −𝑝 𝑥 ln 𝑝(𝑥) 例)離散確率分布の場合 • ロンドンの天気:晴れ(0.5) 、雨(0.5) • ロサンゼルスの天気:晴れ(0.75)、雨(0.25) → どっちの天気が予測しにくい? 19

20.

エントロピー(entropy) • ロンドンの天気に関するエントロピー • ロサンゼルスの天気に関するエントロピー ロンドンの方がエントロピーが大きい = ロンドンの方が天気が予測しにくい 20

21.

エントロピー(entropy) • 連続確率分布の場合も同じ • 右図は平均が同じで分散が異なる2つの正規分布 • 2つの正規分布を比べた場合 a. 𝜇 = 0, 𝜎 2 = 1.0 H𝑝 𝑥 = 1.4189 … b. 𝜇 = 0, 𝜎 2 = 2.0 H𝑝 𝑥 = 2.1120 … • 「予測のしにくさ」はオレンジ(b.)の方が難しい 21

22.

交差エントロピー(Cross entropy) • 2つの確率分布の間に定義される尺度 H 𝑝, 𝑞 = −𝑞 𝑥 ln 𝑝(𝑥) 出典)ウィキペディア 22

23.

交差エントロピー(Cross entropy) • 機械学習の分類問題の損失値としてもよく出てくる • 分類問題の場合、離散確率分布なので理解しやすい 𝑞 𝑥 : true label H 𝑝, 𝑞 = − ෍ 𝑞 𝑥 ln 𝑝(𝑥) 𝑝 𝑥 : predicted probability 𝐶 a. b. 𝑞 𝑥 0 0 1 𝑝 𝑥 0.1 0.1 0.8 𝑞 𝑥 0 0 1 𝑝 𝑥 0.1 0.4 0.5 = −1 × log 0.8 = 0.09691 = −1 × log 0.5 = 0.30103 →a.の方が損失値(交差エントロピー)が小さい 23

24.

交差エントロピー(Cross entropy) • ベルヌーイ分布で考える a. 𝑝 𝑥 = 𝐵𝑒𝑟𝑛 𝑥 0.7 , 𝑞 𝑥 = 𝐵𝑒𝑟𝑛 𝑥 0.7 H 𝑝, 𝑞 = 0.61086 … b. 𝑝 𝑥 = 𝐵𝑒𝑟𝑛 𝑥 0.5 , 𝑞 𝑥 = 𝐵𝑒𝑟𝑛 𝑥 0.7 H 𝑝, 𝑞 = 0.69314 … c. 𝑝 𝑥 = 𝐵𝑒𝑟𝑛 𝑥 0.3 , 𝑞 𝑥 = 𝐵𝑒𝑟𝑛 𝑥 0.7 H 𝑝, 𝑞 = 0.94978 … 𝑝 𝑥 , 𝑞(𝑥)がズレるほど交差エントロピーが大きい(予測しにくい) 交差エントロピー = 真の分布のエントロピー + 予測した分布とのズレ 24

25.

KL divergence • 2つの確率分布の「差異」を計る尺度(≧0) 𝑝 𝑥 ln 𝑞(𝑥) − 𝑝 𝑥 ln 𝑝(𝑥) 交差エントロピー エントロピー → p x , q(x)がズレるほどKL divergenceが大きい (ただし、真の分布自体の予測のしにくさは考慮している) 25

26.

近似推論 • ベイズ学習の重要な公式(再掲) 𝑝 𝜃|𝐷 ∝ 𝑝 𝐷|𝜃 𝑝(𝜃) 近似推論: • 知りたい分布(事後分布)はよく分からない • 手元の実験結果と仮定した事前分布から、事後分布を求める • しかし、事後分布が解析的に計算できるとは限らない → 近似アルゴリズム(ギブスサンプリング等)で事後分布を近似する (未知の確率分布から逐次的に実現値をサンプリングする手法) 26

27.

変分ベイズ • 事後分布の近似手法の1つ • ギブスサンプリングはMCMCなどを用いたサンプリング手法であるのに対 して、変分ベイズは「最適化問題」を解くことで近似的な表現を得る手法 27

28.

近似推論(周辺尤度の分解) • 周辺尤度𝑝(𝑦) を以下のように式変形する 任意の確率分布𝑞(𝜃) を定義 事後分布 28

29.

周辺尤度とELBO • KL[𝑞||𝑝] は ≥ 0 なので、周辺尤度の下限は 𝐹 𝑞, 𝑦 • 𝐹(𝑞, 𝑦) をELBO(evidence lower bound)と呼ぶ • ELBOを最大化することで、周辺尤度に近似 = KL[𝑞(𝜃)||𝑝(𝜃|𝑦)] の最小化 https://kaybrodersen.github.io/talks/Brodersen_2013_03_22.pdf 29

30.

周辺尤度とELBO • イェンセンの不等式による導出も可能 イェンセンの不等式 𝐹(𝑞, 𝑦) 30

31.

mean-field assumption • 分布𝑞(𝜃)の制約条件 • 分布𝑞(𝜃)のパラメータ(𝜃1 , 𝜃2 , … , 𝜃𝑛 )が以下のように分割できると仮定 𝑞 𝜃 = ෑ 𝑞𝑖 (𝜃𝑖 ) 𝑖 → 自由エネルギーの中の期待値計算を可能にする 31

32.

自由エネルギー(ELBO)の計算 https://kaybrodersen.github.io/talks/Brodersen_2013_03_22.pdf 32

33.

自由エネルギー(ELBO)の計算 • 自由エネルギーから新しいKL divergenceが得られる • KL divergenceは≥ 0 なので、以下の条件が自由エネルギーを最大化する公式 ※自由エネルギーを汎関数としてその極値を求める方法(変分法)でも導出可能 33

34.

ポアソン混合モデル • 観測データが生成された背景には、複数の分 布が存在していると考えるモデル • ポアソン混合モデルでは、K個のポアソン分 布から観測データが生成されたと仮定する https://jef.works/blog/2017/08/05/a-practical-introduction-tofinite-mixture-models/ 34

35.

ポアソン混合モデル(グラフィカルモデル) • 𝑝 𝑆, 𝜆, 𝜋 X ≈ 𝑞 𝑆 𝑞 𝜆, 𝜋 [mean−field assumption] • パラメータは𝛼𝑘 , 𝑎𝑘 , 𝑏𝑘 35

36.

ポアソン混合モデル • ポアソン混合モデルの変分推論 1. 𝑞 𝜆𝑘 , 𝑞(𝜋𝑘 ) より𝑞(𝑠𝑛 ) の期待値を計算 2.1. 1.で計算した𝑞(𝑠𝑛 ) からパラメータ𝑎𝑘 , 𝑏𝑘 を更新 2.2. 2.1で更新した 𝑎𝑘 , 𝑏𝑘 より𝑞 𝜆𝑘 の期待値を計算 3.1 1.で計算した𝑞(𝑠𝑛 ) からパラメータ𝛼𝑘 を更新 3.2. 3.1で更新した𝛼𝑘 より𝑞 𝜋𝑘 の期待値を計算 → ELBOの値が収束するまで繰り返す 36

37.

参考文献 (書籍) • ベイズ推論による機械学習入門 • 変分ベイズ学習 • パターン認識と機械学習 下 (URL) • Variational Bayesian inference https://kaybrodersen.github.io/talks/Brodersen_2013_03_22.pdf 37