はじめに
タイトルの通りです。以下の本を一通り読んだので、再度読む際の手助けになるようメモを残します。
機械学習スタートアップシリーズ ベイズ推論による機械学習入門 (KS情報科学専門書)
- 作者: 須山敦志,杉山将
- 出版社/メーカー: 講談社
- 発売日: 2017/10/21
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
まだ理解が怪しい部分も多々ありますが、取りあえず忘れる前に。。。
全体を通してのポイント
ベイズ推論の枠組み
ベイズ推論においては、観測データも分布のパラメータ、回帰等の重み係数も潜在変数も確率変数として扱う。観測されたデータをとし、未知の確率変数(分布のパラメータ、重み係数、潜在変数等々)をとした時、以下の2ステップを行うのがベイズ推論の枠組み。
- モデルの構築(モデリング)
- 事後分布の計算
この事後分布を求めることがベイズ推論における「学習」。ベイズ推論は全てこの枠組みの中で扱われるので、後は如何にモデリングするかと、如何に求めたい確率変数の事後分布を計算するか、という話になる。モデルが複雑な場合、事後分布は解析的に求められない場合もあるので、その時は変分推論やギブスサンプリングなどを使って近似的に事後分布を求める。
予測分布
更に、求めた事後分布を使って、未観測のデータに対し、何らかの知見を得たい場合もある(知見の内容はタスクによって異なる。例えば、回帰の場合は、入力に対応する出力を求める等)。その時は以下の予測分布を計算する。
1章
基本的にこの章は後の章で語られる内容のアウトラインが載っている。この章で語られる内容で特に重要なのは、上記のベイズ推論のポイントと以下の関係式。
- 周辺化
- 条件付き分布
また、独立の諸概念も重要。
- 変数間の独立性(これが成り立つ時、とは独立という)
- 条件付き独立(を観測した下で、は独立だが、を観測しなければとは独立でないことに注意)
2章
各確率密度関数については書籍を参照するとして、取りあえず期待値が大事。エントロピーとかKLダイバージェンスとかも大事だけど、期待値がわからないと後々お話にならなくなる。特に、
と、期待値を取る関数に出てこない確率変数は、期待値計算から外せることは重要。
また、同時分布の期待値とか、条件付き期待値とかは込み入ってくると混乱するので注意。迷った時は期待値の定義、
に立ち返るのが吉。
各確率密度関数の対数を取った関数、基本的な期待値(とかとか)も、後々の章(特に4章、5章の変分推論辺り)で何度も使う。本当に何度も使うので、何度も見返す。
3章
2章で挙がっている確率分布の各パラメータおよび線形回帰の重み係数をベイズ推論の枠組みで推定する章。事前分布として共役事前分布を使うので、(この章で示されている問題については)事後分布が解析的に計算でき、しかも事前分布として同じ形の分布で求まるので、データを得るたびに逐次的に更新することも可能。考え方としては、
- 学習したいパラメータの事前分布として共役事前分布を設定
- こうすると事後分布は事前分布と同じ形になり、 としては定数として扱うことが可能(後から帳尻を合わせる)。
- 尤度はと観測データが独立だと仮定(後の章で観測データ間にも独立ではないモデルもあり)
また、計算のテクニックとして、以下のようなものが使われている。
4章
生成モデル
観測データの生成過程を仮定して、確率分布をモデリングしたものが生成モデル。例えば、観測されたデータに多峰性が見れられる場合、これを単一の分布のみで表現しようとしても、うまく表現しきれない。このような多峰性のあるデータは、
- 個のクラスタがあり、観測データはそのいずれかのクラスタ(例えば、を持つ番目のクラスタ)から生成されたと仮定
- が割り当たっているクラスタを(割り当たっているクラスタの要素のみ1、それ以外0)で表現すると、の確率分布は
- このクラスタの割り当ても割り当て比率パラメータに支配されるカテゴリ分布の確率変数と仮定
- 各クラスタのパラメータの事前分布を仮定(ここでも共役事前分布使うと幸せになれる)
- クラスタ割り当てのカテゴリ分布の事前分布を仮定(こちらもカテゴリ分布の共役事前分布であるディリクレ分布を使うと幸せ)
- 以上のことから、データ生成のモデルをと仮定
等のようにモデリングする。
このモデルから、観測データに対するクラスタ割り当ての事後分布 を計算したいが、モデルが複雑すぎてが解析的に求まらない。そのため、近似的に事後分布の推定を行う。
ギブスサンプリング
上のモデルを例にすると、
- が既に観測されているものとして(2でサンプリングしたを使う)、とサンプリング
- が既に観測されているものとして(1でサンプリングしたを使う)、とサンプリング
- この操作を繰り返す
この繰り返し回数が十分に多い場合、真の分布に近づくことが知られているため、繰り返し続けると所望のデータをサンプリングできるようになる。もちろん、サンプリングする対象となる分布、は十分にサンプリングしやすい分布である必要があるので、式を展開して2章で挙がっているような基本的な分布を導かないといけない(モデルによってはそれができないこともあるので、共役事前分布を使うと幸せになるというのはここに繋がる)。
変分推論
等のように、各確率変数間の独立性を仮定した分布で近似するのが変分推論。真の分布とのKLダイバージェンスが最小となるを求めればよく、それは
として計算できる(あくまで、上記モデルに対する近似式。もう少し一般的な表現は書籍参照)。こちらも一方の結果を用いで、もう一方の計算を行う形になっているため、更新を十分な回数繰り返す必要がある。また、実際には、下記のような式展開して期待値を解析的に求める。
- 変分推論を基に、各近似分布の形を求める。2章に述べられている期待値の性質(上記の無関係な確率変数が期待値計算から外せる性質含む)をうまく使い、が何分布の関数かがわかるまで式を展開する。
- 全ての近似分布の形がわかったら、それぞれの期待値を計算する。これまた2章で計算済みの各分布の基本的な期待値を流用する。
ここでもギブスサンプリングと同様、期待値を解析的に計算するために、2章で挙がっているような基本的な分布を導く必要があるので、やはり共役事前分布を使った方がハッピー。
崩壊型ギブスサンプリング
上記のギブスサンプリングでは、パラメータについてもサンプリングで求めたが、
として周辺化すれば、からサンプリングするだけでよくなる。ただし、周辺化した結果が十分にサンプリングしやすい確率分布になることが条件。このモデルの例では、周辺化した結果が互いに依存し合うようになり(元々はを与えられた下での条件付き独立)、このままでは個の潜在変数を同時にサンプリングしなければならず計算量が莫大になる。この問題をと、サンプリングしたい以外の潜在変数は全て観測済みとして、個別にサンプリングするアイデアで解決。
5章
各種応用に対して、モデルの構築と変分推論(一部ギブスサンプリング)を導出している。この中のいくつかは実際に実装してみようと思うので、ここでは考え方のみメモ。
線形次元削減
観測されたデータが低次元の潜在変数を元に、という線形変換で生成されると考える。また、実際にはノイズが乗っているはずなので、ガウス分布で生成されると仮定。更に他のパラメータについても事前分布がガウス分布に従うと仮定(は既知のものとして話を進めているが、ガンマ事前分布など使って推定してもよい)。後は変分推論の期待値計算をすれば低次元の潜在変数や変換行列を推測することができる。
非負値行列因子分解
観測された行列が全ての要素非負であるとし、という非負値の行列に近似分解することを考える。ここで、となる潜在変数を考えることで、効率的な変分推論が導き出せる。また、非負値なのではポアソン分布、の事前分布はガンマ分布を考える。
隠れマルコフモデル
これまで観測データ間はたがいに独立して得られるものとして扱っていたが、時系列データ等ではその仮定は成り立たない。隠れマルコフモデルでは、
- 観測されるデータは現在の状態に基づいてデータが観測される(状態をクラスタ割り当ての潜在変数として持つ混合分布)。
- データを観測したら、遷移確率に基づいて次の状態に遷移する()。
というモデルを構築する。変分推論は状態の潜在変数の分布をと分離して近似する完全分解変分推論とと分離せずに近似する構造化変分推論がある(その中間であるミニバッチを使った近似もあり)。前者は特別なことをせずに、変分推論の期待値を導き出せるが、後者はうまいこと式変形してフォワードバックワードアルゴリズムと呼ばれる動的計画法が使える形に持っていかないと、計算量が増大する。
トピックモデル
複数の文書を観測データとして、単語の出現頻度を元に文書を解析。各文書中には複数の潜在トピックが存在すると仮定。文書中のn番目に出てくる単語には、どのトピックから発生したかというトピック割り当て潜在変数が紐づき、各単語は対応するトピックのカテゴリ分布に従うと仮定。また、トピック割り当て自体もカテゴリ分布に従うと仮定し、これらのカテゴリ分布のパラメータはディリクレ事前分布に従うモデルを構築。後は頑張って変分推論の期待値計算。
テンソル分解
協調フィルタリングに時間軸を導入し、その時のトレンドを踏まえた推薦を行うようにしたモデル。時間方向の軸には前回の状態を平均とするガウス分布を仮定(線形動的システム)。ここでは、完全分解変分推論を考えているので、推論計算自体はこれまでと同様。
ロジスティック回帰、ニューラルネットワーク
ロジスティック回帰、ニューラルネットワークのベイズ推論版。これまでの近似(平均場近似)とは違い、ガウス分布で事後分布を近似。変分パラメータを用いた勾配法で真の分布とのKLダイバージェンス最小化を行う。この勾配法を使うため、再パラメータ化トリックを使うが、これが良く分からない。