覚え書きブログ

異種混合学習(FAB編)

今回は続きのFAB(Factorized Asymptotic Bayesian inference)についてメモる。
hirotaka-hachiya.hatenablog.com

【4. Factorized Asymptotic Bayesian Inference Algorithm】
まず、FICに含まれる\bar{\bf{\theta}}は、ML(Maximum Likelihood)推定量なのだが、実際には求めることができない。そこで、下記のFICの下限を最大化するFABを導入する。
f:id:hirotaka_hachiya:20170122174550p:plain
f:id:hirotaka_hachiya:20170123215543p:plain

ここでは、2つの不等式を用いている。1つ目は、\log p(\bf{x}^N,\bf{z}^N|\bar{\bf{\theta}}) \ge \log p(\bf{x}^N,\bf{z}^N|\bf{\theta})を用いている。これは\bar{\bf{\theta}}=\mathop{\rm arg~max}\limits_{\bf{\theta}} \log p(\bf{x}^N,\bf{z}^N|\bf{\theta})なので自明である。2つ目は、以下の凸関数の不等式を用いている。
凸関数f(x)の点(x_0,f(x_0))における接線g(x)=f'(x_0)(x-x_0)+f(x_0)の間には以下の不等式が成り立つ。
 \displaystyle
\begin{align}
f(x) \le g(x) = f'(x_0)(x-x_0)+f(x_0)
\end{align}
ここで、f(x)=\log (x)とすると、以下の不等式が得られる。
 \displaystyle
\begin{align}
\log (x) \le \frac{x-x_0}{x_0}+\log (x_0)
\end{align}
さらに、x=ax_0=bとすると、以下の不等式が得られる。
 \displaystyle
\begin{align}
\log (a) \le \frac{a-b}{b}+\log (b) \equiv L(a,b)
\end{align}
http://www.sugakukobo.com/pdf/Nagoya_Lecture_note-2012.pdf

論文では、a=\sum_{n=1}^N z_{nc}b=\sum_{n=1}^N \tilde{q}(z_{nc})と設定しているため、最終的には以下の不等式を用いていることになる。
 \displaystyle
\begin{align}
\log \left(\sum_{n=1}^N z_{nc}\right) \le \frac{\sum_{n=1}^N z_{nc}-\sum_{n=1}^N \tilde{q}(z_{nc})}{\sum_{n=1}^N \tilde{q}(z_{nc})}+\log \left(\sum_{n=1}^N \tilde{q}(z_{nc})\right)
\end{align}
この下限を最大化する問題に落とし込むことにより、まず、ML推定量\bar{\bf{\theta}}を求める必要がない点に加え、計算困難な\log \sum_{n=1}^N z_{nc}\sum_{n=1}^N \tilde{q}(z_{nc})を中心とした線形の計算に置き換わるので良いとのこと。

以下のLemma5によると、\tilde{q}qの時に式(12)が最大になるとのことだが、自分で確認した限りでは\tilde{q}(z_{nc})=z_{nc}の時に最大となった。。。
f:id:hirotaka_hachiya:20170309221434p:plain

この式(12)を、すべてのモデルの候補Mに対して計算し、最大値をとるモデルを選択する。単にコンポーネント数を選択するだけであれば、Cmax回式(12)を計算すればよいが、各コンポーネントのモデルS1,...,Scまで選択するとなると組み合わせ問題になる。ただし、FABは、目的関数がS1,...,Scに分解することができるため、組み合わせ問題を回避できるとのこと。

【4.2 Iterative Optimazation Algorithm】
Cを固定して、式(13)を最大化するために、次のVステップとMステップを繰り返す。
f:id:hirotaka_hachiya:20170309234541p:plain

f:id:hirotaka_hachiya:20170309234554p:plain
f:id:hirotaka_hachiya:20170309234644p:plain

ここで、Vステップの式(15)は、式(11)の汎関数\mathcal{g}(q,\tilde{q},\theta,\bf{x}^N)q(z)に関する微分をとり0と置くことにより得られたq(z)の式にあるz_{nc}を代入することにより得られる。

ここで、式(15)の\exp\left(\frac{-D_c}{2\alpha_c N}\right)は、混合比\alpha_cが小さい場合により小さい値を取り、また各コンポーネントのモデル次元D_cが大きい場合にも、より小さい値を取るような正則化項になっている。