演習問題 2.36

演習2.36の解答です。

ガウス分布の分散の最尤解の逐次推定式を、直接の式変形とRobbins-Monro アルゴリズムの両方で求めて比較する問題。

問題を解くのは簡単ですが、本文の Robbins-Monro の解説が分かりにくいですね。
(2.129)ですが、図2.10と比較して考えると簡単です。

Figure 2.10

パラメータ \theta が与えられた時に、条件付き確率 p(z|\theta) に従って、変数 z が観測される状況を考えてください。図2.10でいうと、まずパラメータ \theta を決めると、z の観測値(青い点)が得られるという感じです。

この時、z の観測値(青い点)の出方は、z の条件付き期待値 \rm{E}[z|\theta]=f(\theta) (赤い曲線)に従います。
今、z\theta の大規模データははないので、私たちはこの条件付き期待値 \rm{E}[z|\theta] (赤い曲線)の形を知りません。もし大規模データがあれば、直接曲線をフィッティングできますが、今は逐次的にのみ z が観測されるといった状態です。

Robbins-Monroアルゴリズムで求めるのは、この \rm{E}[z|\theta] の値が0になるようなパラメータ \theta の値です。
(というか、期待値が任意の値をとるようなパラメータを見つけるように簡単に拡張できます。
(Robbins and Monro, 1951)

(2.128)のように条件つき分散(青点のちらばり具合)が有限であるなら、(2.129)のような簡単な手続きで \theta が求まります。

つまり、ある \thetazを観測してみて、0より大きければ \theta を小さく、小さければ大きくしてあげるだけです。もし z の観測の分散が無限に大きいならそれが無理なのもわかると思います。

で、問題はこれを最尤推定にどうあてはめるかですが、とにかく、0に持っていきたい関数が条件付き期待値になっていれば良いのです。

パラメータの最尤推定は、尤度関数をパラメータで微分して0とおくことで、尤度関数が最小値をとるようなパラメータを求める方法です。なので、尤度関数をパラメータで微分したもの(0にしたいもの:(2.133)左辺)が上で言う f(\theta) になりそうです。そして、それが条件付き期待値の形になっていれば良いのですが、(2.134)のようにちゃんとなってますよ、ということです。

prml exercise solution 2.36