人工知能に関する断創録スマートフォン用の表示で見るスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。ロボティクス、生物学などに興味を持っています。このブログでは人工知能のさまざまな分野について調査したことをまとめています。Learning、Kerasに関する記事が多いです。ベイズ曲線フィッティングのところを実装してみます。前回は、最小二乗法で曲線フィッティングをしたけど、ベイズ的な方法で解こうって話のようです。(MAP)推定ベイズ推定という3つのパラメータ推定方法が曲線フィッティングという具体例で説明されてます。他の教科書では抽象的に定式化されていて違いがよくわからなかったけど、この章では曲線フィッティングという具体例に基づいて説明されているのでわかりやすいと感じました。最尤推定まず、最尤推定のプログラムです。実は、最尤推定で対数尤度(1.62)を最大化することは、最小二乗法の二乗和誤差関数E(w)の最小化と等価なのでwの求め方は最小二乗法(2010/3/27)とまったく同じです。最尤推定では、目標値tの予測分布を求めるためもう1個予測分布の精度パラメータ(分散の逆数)を最大化する必要があります(一方、最小二乗法では分布でなくtの値がバシッと決まる)。βについても対数尤度をβで偏微分して0と置いて解くと(1.63)が得られます。main()結果は、下のような感じ。赤い実線が予測分布の平均、赤い点線が1σの範囲です。最尤推定は最小二乗法と等価なのでM=9(Mは多項式モデルの次数)のように複雑なモデルを使うと過学習になりました。次は最大事後確率(MAP)推定です。MAP推定は、パラメータwの事前確率(1.65)を導入し、尤度関数と事前確率の積からベイズの定理によってパラメータwの事後確率(1.66)を求めて、事後確率が最大となるwを推定パラメータとする手法のようです。この方法はけっこうなじみがあるという感じです。テキスト分類でよく使うナイーブベイズも事後確率を最大化するクラスに分類するのでMAP推定の一種だったのかな?と思って読んでました。事前確率を正規分布として事後分布の式を求めると・・・なんと正則化項を導入した最小二乗法の二乗和誤差関数(1.67)が出てきました。びっくり!あとは、前回の最小二乗法と同様にパラメータwが求められます(前回と同じなのでプログラムは省略)。MAP推定は、正則化された最小二乗法と等価なので過学習に強いです。ベイズ推定1.2.6のベイズ曲線フィッティングでベイズ的な方法を導入してます。ベイズ推定という言葉はかかれてないけど、ベイズ推定で間違いないと思います。最尤推定では対数尤度関数が最大となるパラメータw、MAP推定では事後確率が最大となるパラメータwをバシッと求めて(点推定)それをそのまま予測分布の式に代入してましたが、ベイズ推定ではwに関して周辺化して予測分布を求めるのが特徴とされています。上の式がベイズ推定の予測分布ですが、最尤推定やMAP推定ではパラメータwを(1)式に代入してそのまま予測分布としていたのに、ベイズ推定ではさらにwについて周辺化して予測分布としています。計算し、それをすべてのwについて積分してます(そこまでするか・・・)。この積分はどうやって求めるんだと思ったのですが、解析的に解けて(1.69)のやたら複雑な正規分布になるそうです(この導出ができなかった・・・後で再挑戦予定)。朱鷺の杜によるとこの積分の計算は困難だったけど最近はMCMCや変分ベイズなどの近似手法で解けるようになり、ベイズ推定の研究が活発になってきたそうです。下巻で出てくるようです。(1.69)の結果だけ使って(あまり面白くないけど)プログラムしてみます。main()実行結果は、赤い実線が予測分布の平均、赤い点線が1σの範囲です。予測分布の中に訓練データが入っていていい感じです。先ほどの最尤推定と違ってM=9としています。MAP推定がベースだからでしょうか。ベイズ推定を使う利点ですが、朱鷺の杜によると、「最大値を使うMAP推定では少数のはずれ値に大きく影響されることがあるが,ベイズ推定は予測分布や期待値なので頑健な推定ができる」そうです。この結果だけではわからないので訓練データにノイズを入れて、MAP推定(正則化最小二乗法)の結果とベイズ推定の結果を比べてみると違いがはっきりするかも。追記(2015/5/1)下の講座の4章の説明が非常にわかりやすかった。多項式曲線フィッティング»プロフィールid:aidiary人工知能とその関連分野に興味があります。Blog|ブログを報告する。