タグ

ブックマーク / satomacoto.blogspot.com (2)

  • Pythonでパーティクルフィルタを実装してみる

    パーティクルフィルタ(Particle filter)は,隠れマルコフモデルやカルマンフィルタと同じように,システムの観測$Y$から状態$X$を推定する手法.どれもベイジアンフィルタに基づくもので,確率分布$p(X_t;Y_{0:t})$の表し方が異なる1のですが,パーティクルフィルタでは有限個のサンプリングによって確率分布を近似します.今回は重点サンプリング2を使ったパーティクルフィルタを実装してみます.ほかのフィルタに比べてループぐるぐる回すだけだからすごく簡単! 1. 隠れマルコフモデルはヒストグラム(離散),カルマンフィルタはガウシアン(パラメトリック),パーティクルフィルタはサンプリング(ノンパラメトリック)で表す 2. SciPyには有名ドコロの確率分布からサンプリングする関数が用意されている.任意の確率分布からサンプリングしたい場合には逆関数法,棄却サンプリング,重点サンプリ

    Pythonでパーティクルフィルタを実装してみる
  • PythonでLDAを実装してみる

    Latent Dirichlet Allocationはテキストのような不連続データのための生成的確率モデル。入力はドキュメント。出力はドキュメントを特徴づける何か(tf-idfみたいなもん)。 基的なアイディアは、あるドキュメントは潜在的ないくつかのトピックが混合していて、それぞれのトピックは語の分布で特徴づけられている、ということ。 論文[1]ではαとβというパラメータを用いてドキュメントが以下のように生成されると仮定している。 ドキュメントのトピックの分布θがディリクレ分布Dir(α)に基づいて選ばれる。 ドキュメントの語数N個になるまで以下を繰り返す。 トピックznが多項分布Mult(θ)に基づいて選ばれる。 単語wnが確率p(wn|zn,β)で選ばれる。 ただし、トピックzの数をk個、単語wの種類をV個とすると、パラメータαはk次元のベクトル、βはk x V次元の行列でβij=

  • 1