5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

EMアルゴリズムを実装した

Posted at

EMアルゴリズムを実装したました。

GitHubにソースコードをあげています。

EMアルゴリズムは、混合ガウスモデルの生成に用いられます。
簡単にまとめると、ある標本をN個のガウスモデルが混合したものとみなし、それぞれのモデルの重み/平均/分散を求めることでその標本を説明しようというものです。

パラメータ(重み/平均/分散)に適当な初期値を設け、それを評価するような関数(Q関数)を定め、Q関数がモデルに近づいていくようにパラメータを更新して行くのがEMアルゴリズムであり、その更新の過程が以下のExpectationステップとMaximizationステップなのでEMと呼ばれています。

・Expectationステップ: 隠れ変数(負荷率)の事後確率を推定するステップ
・Maximizationステップ: Eステップで求めた事後確率から、Q関数を最小化するようなパラメータを求めるステップ

僕が行った実装では、以下の標本を、33回のEMステップでモデルを生成できました。

スクリーンショット 2018-05-21 1.15.40.png スクリーンショット 2018-05-21 1.15.45.png

参考

pythonで混合正規分布実装

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?