White scenery @showyou, hatena

If you have any comments, you may also send twitter @shsub or @showyou.

EMアルゴリズム書いてみた

と言ってもsyou6162せんせーの奴*1pythonに移植しただけですが。

ソース


結果例

[-5.1171650273569842, 5.1013677734361016]
[0.98137153837597135, 16.603663427032927]
[0.29998470787211945, 0.70001529212788061]

元のが

> mu
[1] -5.071632 5.132440
> sigma
[1] 0.9019544 16.1150782
> pi
[1] 0.2999747 0.7000253

と出てるのでまあ近いかなぁと。


移植にあたって、行列計算がちょっと面倒だったのと、pythonで密度関数(dnorm)が見当たらないのと、pythonでa=1とやると整数型で扱われるのが引っかかった。scipyとかmapとか併用すればもう少し綺麗なソースになるよなぁ。