人工知能に関する断創録スマートフォン用の表示で見るスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。ロボティクス、生物学などに興味を持っています。このブログでは人工知能のさまざまな分野について調査したことをまとめています。Learning、Kerasに関する記事が多いです。機械学習PRMLPythonによるモンテカルロ法入門(2014/6/20)のつづき。3章のモンテカルロ積分について実験した。モンテカルロ積分モンテカルロ積分を使うと統計や機械学習で頻繁に出てくる期待値を求める積分が乱数生成で簡単に計算できる。期待値を求める積分とは下の形をした積分。ときは確率変数Xの平均、のときは確率変数Xの分散だった。上の二つに限らずどんな関数でもよい。モンテカルロ積分のアルゴリズムは以下のとおり。確率分布から生成したサンプルの平均値で積分を近似するのがポイント。計算PRML(パターン認識と機械学習)の19ページにも下のような記述がある。離散分布に対しては連続分布の場合はどちらの場合も、確率分布や確率密度から得られた有限個のN点を用いて、期待値はこれらの点での有限和で近似できる。サンプリング法について議論する際にこの結果を頻繁に使うことになる。具体例で本当に成り立つか検証してみよう。Rによるモンテカルロ法入門では練習問題3.1で正規・コーシーベイズ推定量の積分を求めろという難しい例からいきなり始まるけれど自分で検算できるもっと簡単な積分から始めよう。以下の定積分をモンテカルロ法で求めてみよう。下のように変形できる。あることを利用している。モンテカルロ積分のサンプル生成は与えられた区間の一様分布から生成することになる。手元の公式集の定積分の例をいくつか確かめてみよう。scipy.integrateで計算した場合と答えが一致することも確認しておいた。12.0453421225scipy.integrateに比べると少し近似精度が落ちるが積分が計算できていることがわかる。サンプル数Nを増やすと近似精度が増すこともわかる。数値積分のアルゴリズムには、台形公式、シンプソン法、ガウス求積法などがある。scipy.integrateの実装を調べてみたが、QUADPACKに実装されているガウス求積法を使っているようだ。実際のところ今回実験したような関数ではscipy.integrateの方が精度が高く、モンテカルロ積分を使う利点があまり感じられなかった。モンテカルロ法の利点は何なのだろう?従来のアルゴリズムの詳細を理解していないので完全に受け売りだが、モンテカルロ積分は統計や機械学習で頻繁に扱う多重積分においてより効率的とのこと。多重積分はあとで出てくるのかな?次回はRによるモンテカルロ法入門の練習問題3.1の正規・コーシーベイズ推定量の積分を計算してみたい。複雑なのでビビるがけっこう簡単に求まる。始めました»プロフィールid:aidiary人工知能とその関連分野に興味があります。Blog|ブログを報告する。