変分ベイズ学習について

機械学習技術 人工知能技術 デジタルトランスフォーメーション技術 確率的生成モデル 本ブログのナビ

変分ベイズ学習について

変分ベイズ学習は、ベイズ推定における確率的なモデルに変分法のアプローチを適用して、近似的に事後分布を求めるもので、確率分布が複雑で解析的に求めることが難しい場合や、大規模なデータに対して効率的に推定を行いたい場合に有用な手法となる。

ここでまず変分法について述べる。変分法は、物理学の古典力学や量子力学、最適制御理論、経済学、電気工学、光学、統計学などの分野で幅広く応用されている汎用的な手法であり、関数の集合の中から最適な関数を選び、さらにその関数の最小値や最大値を求める最適化の手法となる。

変分法の基本的なアイデアは、最適な関数を求める問題を、ある関数の集合の中で変分をとることによって変分の原理を満足する関数を見つけることで解決するというもので、ここでの変分の原理は、関数の集合の中である条件を満たす関数を見つけるための基本的な原理であり、その条件は最小作用の原理やハミルトンの原理など、具体的な問題によって異なるものとなる。

変分法の一般的な手順は以下のようになる。

  1. 問題の定式化: 問題を数学的に定式化し、最適化したい汎関数や変分の条件を明確にする
  2. 変分の定義: 最適化したい関数に対して、関数を微小に変化させたときの差分として変分を定義する
  3. 変分の条件: 変分の条件を満たす関数を求めるための方程式(オイラー・ラグランジュ方程式)を導出する
  4. 方程式の解法: 導出したオイラー・ラグランジュ方程式を解き、最適解を求める
  5. 境界条件の考慮: 問題に境界条件がある場合は、それを考慮して最適解を求める
  6. 解の検証: 求めた最適解が実際に最適解であることを検証する

ベイズ推定は、統計学や機械学習の分野で、未知のパラメータを確率的に推定する手法であり、ベイズ推定における変分法では、前述の変分法のアプローチを適用することで、ある族(family)内の関数空間で定義された確率分布として変分分布を定義し、ベイズの定理によって得られる事後分布とそれらの間で、ある種の距離や情報量の指標に基づいて最適化計算を行うものとなる。

ベイズ推定における変分法の基本的な手順は以下のようになる。

  1. 事前分布の選択: 事前分布を選択し、事前分布のパラメータを決定する。
  2. データの観測: 観測データを用いて尤度関数を計算する。
  3. 変分分布の選択: 近似的な確率分布である変分分布の族を選択し、変分分布のパラメータを決定する。
  4. 変分エビデンス下界の最適化: 変分分布を用いて、事後分布の近似を行いながら、変分エビデンス下界(Variational Evidence Lower Bound, VELBO)を最大化するように変分分布のパラメータを最適化する。VELBOは、事後分布と変分分布の距離を評価する指標となる。
  5. パラメータの推定: 最適化された変分分布を用いて、パラメータの推定値を求める。
  6. 推定結果の評価: 求めた推定結果の信頼性を評価し、必要に応じて修正や改善を行う。

ベイズ推定を行う際によく用いられる手法としてギブスサンプリング等を用いたMCMC法がある。変分法とMCMC法の相違点は以下のようになる。

  • 変分法: 変分法では確率的モデリングにおいて事後分布を近似的に求める手法であるため、精度や信頼性については注意が必要であり、適切な変分分布の族や最適化手法の選択が重要となる。また、事後分布を近似するためには確率的な推論手法を用いるため、得られる解が確率的になる。
  • MCMC法: MCMC法では複数の変数を含む確率モデルにおいて、各変数を条件付き確率を用いて順番にサンプリングすることにより、事後分布を近似的に求める手法であるため、条件付き確率が求められることが前提となる。また、マルコフ連鎖を使用するため、収束性の解析が必要となる。

MCMC法はサンプリングがベースの手法となる為、データ量が増えると計算時間が増大する。そのため大規模なデータに対して効率的に推定を行いたい場合には変分ベイズ学習が用いられるケースが多い。

ここでは、この変分ベイズ法に関しての理論と実装について以下に述べる。

実装

変分法(Variational Methods)は、関数や確率分布の中で最適解を求めるために用いられ、機械学習や統計学などで広く使われる最適化手法の一つであり、特に、確率的生成モデルや変分自己符号化器(Variational Autoencoder, VAE)などの機械学習モデルにおいて重要な役割を果たしている手法となる。

変分ベイズ学習(Variational Bayesian Inference)は、ベイズ統計学における確率的モデリングの手法の一つであり、事後分布を解析的に求めることが難しい場合や計算コストが高い場合に利用されるものとなる。

ここでは、この変分ベイズ学習の様々なアルゴリズムの概要と、トピックモデル、ベイズ回帰、混合モデル、ベイズニューラルネットワークでのpythonの実装について述べている。

詳細技術

変分ベイズ学習は、これを計算するための近似法の一つで、事後確率分布をある制約を満たす関数の集合から選ぶことによって期待値計算を可能とする手法であり、幅広い適用範囲を持つ。変分ベイズ学習アルゴリズムを導出する際のポイントは、与えられた確率モデルに対して条件付き共役性と呼ばれる性質を見つけ出し、その性質に応じた制約を設計することにある。

以下に変分ベイズのアルゴリズムについて述べてみたいと思う。まずその前提条件として、確率の同時分布周辺分布条件付き分布とそれらを使ったベイズの定理について述べる。

例として、100人が働いている部署での忘年会の幹事を行う場合を考え、それらの候補としてハンバーグが看板メニューな店とエビフライが看板な店を想定する。100人にアンケートを取ったところ10人の女性と30人の男性がハンバーグが好きで、40人の女性と20人の男性がエビフライが好きだと答えたとする。

前回は変分ベイズ推定の概要とアルゴリズムの説明のイントロダクションとして、確率の同時分布、周辺分布、条件付き分布、ベイズの定理について述べた。今回はそれらを用いた変分ベイズ学習について述べる。

多くの実用的な確率モデルにおいて、共役性に基づいてベイズ学習を解析的に行うことはできない。しかし、それらのうちの多くは、共役性を持つ基本的な確率分布の組み合わせによって構成されている。変分ベイズ学習は、そのような確率モデルが持つ部分的な共役性に基づいて事後分布に制約を与え、その制約の範囲でベイズ事後分布を近似する手法となる。

記述の流れとしては、変分ベイズ学習の枠組みとそれらの中で重要な役割を示す条件付き共役性、そして具体的なアルゴリズムの設計指針と変分ベイズ学習アルゴリズム、経験変分ベイズ学習アルゴリズムについて述べる。

今回は行列分解モデルでの、変分ベイズ学習及び経験変分ベイズ学習のアルゴリズムの導出について述べる。変分ベイズ学習として事後分布にA,B間の独立性を制約条件として課して自由エネルギーを最小化する。また、経験変分ベイズ学習アルゴリズムは、自由エネルギーを最小化する変数に超パラメータκ=(CA,CB2)を含めることにより導出される。

観測行列のすべての成分が観測されていない場合にも、同じ方針で変分ベイズ学習アルゴリズムを歳出できるが、A及びBの事後共分散が欠損の影響を受けて少し複雑となる。今回はそれらのアルゴリズムの導出について述べる。

混合ガウス分布モデルに変分ベイズ法を適用する。ここでは簡単のため、混合ガウス分布の共分散はすべて既知であり、単位行列である場合を考える。また、αの事前分布には対称(均一)ディリクレ事前分布を、μkの事前分布には平均0の等方的ガウス分布を用いる。

潜在ディリクレ配分モデルの変分ベイズ学習の導出について述べる。混合ガウス分布モデルの場合と同様に、潜在変数\(ℋ=\{\{z^{(n,m)}\}_{n=1}^{N^{(m)}}\}_{m=1}^M\)と未知パラメータω=(Θ、B)上の近似事後分布r(ℋ,ω)を求める。未知変数を潜在変数とパラメータとに分割することによって条件付き共役性を利用できる

確率分布p(x|ω)をみたとき、これらの代表的な確率分布の数式が「複雑である」と感じることは少ないかも知れない。しかしよく見ると、複雑なのは規格化因子であって、本体(確率変数xに依存する黒字の部分)は意外とシンプルとなる。ベイズ学習においては、規格化因子の複雑さには悩まされることはない。

むしろ規格化因子はベイズ学習に必要となる積分計算を手助けしてくれる。なぜなら、定義より本体(確率変数に依存する黒字の部分)の積分値は、規格化因子(青字部分)の逆数となるからである。実はベイズ学習において必要となる積分計算のほとんどは規格化因子を通して行うことができ、実際に煩わしい解析的な積分計算が必要になることはほとんどない。

共役性(conjugacy)は、確率モデル{p(𝒟|ω),p(ω)}を構成するモデル尤度p(𝒟|ω)と事前分布p(ω)との関係について、「事前分布p(ω)と事後分布p(ω|𝒟)とが同じ関数系になるような事前分布を、モデル尤度p(𝒟|ω)に対する共役事前分布(conjugate prior)と呼ぶ。」と定義される。

前回はいくつかの基本的な確率モデルにおいて、モデル尤度と事前分布の共役性を利用して事後分布を(規格化因子を含めて)解析的に計算する手法について述べた。今回は周辺尤度、事後平均、事後共分散及び予測分布を事後分布から計算する手法について述べる。

事後平均と事後分散は、事後分布がよく知られている形の分布であれば、事後分布を指定するパラメータの値から容易に計算できる。予測分布とX={Xi}i∈Vがは、事後分布を導出する時と似た計算により得られるが、省略できる因子に関して注意が必要となる。最後に、周辺尤度に基づいて超パラメータを推定する経験ベイズ学習についても述べる。

  • ベイズ学習の枠組み
  • 確率モデルの例

前述では、ベーテ自由エネルギー関数から確率伝搬法が導出されることについて述べた。今回は、ベーテ自由エネルギーの一般化である菊池自由エネルギー関数から、一般化確率伝搬法を導出する。

確率伝搬法の拡張が必要になる動機づけとして、小さいサイクルがたくさんある、確率伝搬法では近似誤差が大きくなってしまうケースで、このサイクルを含むような、もう少し広い範囲での擬周辺確率を考えて計算すれば、より正確な値を求める必要性がある。

これらに対してHasse図のアプローチで確率分布を分解する。

    今回は、変分ベイズ法(variable Bayesian method,VB法)に基づいて確率的勾配法(stochastic gradient method)アルゴリズムを導出する。

    変分ベイズ法は未知隠れ変数やパラメータが複雑な階層構造を持つようなベイズ推定問題を数値最適化問題に帰着させる方法となる。確率的勾配法は、数値最適化問題をパラメータの逐次的な更新によって解くアルゴリズムであり、巨大なデータに基づいてニューラルネットワークなどの複雑なパラメトリックモデルのパラメータ決定を効率化するために必須の方法となる。特にデータ数Nが大きい場合のガウス過程回帰モデルの補助変数法においてハイパーパラメータθの最適化を行いたい場合に、補助変数法の計算効率をさらに改善することができる。

    今回は、ポアソン混合分布に対する変分推論アルゴリズムについて述べる。変分推論アルゴリズムの更新式を得るためには、事後分布に対する分解近似の過程をおく必要がある。ここでは次のように、潜在変数とパラメータを分けることによって、事後分布を近似することを目指す。

    コメント

    1. […] 変分ベイズ学習について […]

    2. […] 機械学習技術サマリー 人工知能技術サマリー デジタルトランスフォーメーション技術サマリー 確率的生成モデルサマリー   変分ベイズ学習サマリー […]

    3. […] 変分ベイズ学習について | Deus Ex Machina より: 2022年3月13日 5:09 AM […]

    4. […] デジタルトランスフォーメーション技術 確率的生成モデル 変分ベイズ学習 Python […]

    5. […] 変分ベイズ法(VB): VBは、事後分布を近似するための変分推論の手法となる。VBでは、事後分布を事前に定めた近似分布の中から選ぶことで、推定を行う原理となる。変分ベイズ法は、計算の効率性や解析的な近似解の得られる可能性などの利点を持っている。変分ベイズ法の詳細に関しては”変分ベイズ学習について“を参照のこと。 […]

    モバイルバージョンを終了
    タイトルとURLをコピーしました