MLとPythonに関するlamiredのブックマーク (3)

  • 隠れマルコフ実装してみた。 - 木曜不足

    PRML 13章読んで、隠れマルコフモデルを実装してみた。今回は Python + numpy の習作も兼ねている。 http://github.com/shuyo/iir/blob/master/sequence/hmm.py 今回実装してみたアルゴリズムは以下の通り。数字は PRML の章番号。 まあなんて盛りだくさん。 最尤推定(EM アルゴリズム) (13.2.1) Baum-Welch(フォワード・バックワード)アルゴリズム (13.2.2) スケーリング係数(13.2.4) Viterbi アルゴリズム(13.2.5) 複数系列を用いた学習 (演習 13.12) HMMからサンプリング(生成モデル) (13.2) left-to-right HMM (13.2) テキストファイルを与えると、1行1系列とみなして、アルファベットからなる単語を抽出し、HMM で学習&文章をサンプリ

    隠れマルコフ実装してみた。 - 木曜不足
    lamired
    lamired 2010/06/22
    Python+NumpyによるHMMの実装
  • ナイーブベイズ分類器であいさつbot作ってみた

    こうですね。わかります。 double kernel(Map<String, Double> x1, Map<String, Double> x2){ double n = 0; for(Map.Entry<String, Double> ent : x1.entrySet()){ if(!x2.containsKey(ent.getKey())) continue; n += ent.getValue() * x2.get(ent.getKey()); } return (n + 1) * (n + 1); } ということで、2次多項式カーネルにするには、1足して2乗するだけということなのでやってみました。結果ですが、なんかよくなってるような気もするけど、よくわかりません。。。 やっぱ、ちゃんと交差検証で性能試せるようにしないと。 スパムフィルタでよく使われてる、ベイジアンフィルタのこと

    ナイーブベイズ分類器であいさつbot作ってみた
    lamired
    lamired 2010/05/25
    Pythonによるナイーブベイズの応用例.
  • 最尤推定、MAP推定、ベイズ推定 - 人工知能に関する断創録

    1.2.5 曲線フィッティング再訪 1.2.6 ベイズ曲線フィッティング のところを実装してみます。前回は、最小二乗法で曲線フィッティングをしたけど、ベイズ的な方法で解こうって話のようです。この2つの節では、 最尤推定 最大事後確率(MAP)推定 ベイズ推定 という3つのパラメータ推定方法が曲線フィッティングという具体例で説明されてます。他の教科書では抽象的に定式化されていて違いがよくわからなかったけど、この章では曲線フィッティングという具体例に基づいて説明されているのでわかりやすいと感じました。 最尤推定 まず、最尤推定のプログラムです。実は、最尤推定で対数尤度(1.62)を最大化することは、最小二乗法の二乗和誤差関数E(w)の最小化と等価なのでwの求め方は最小二乗法(2010/3/27)とまったく同じです。 最尤推定では、目標値tの予測分布を求めるためもう1個予測分布の精度パラメータ(

    最尤推定、MAP推定、ベイズ推定 - 人工知能に関する断創録
    lamired
    lamired 2010/05/14
    最尤推定,MAP推定,ベイズ推定のコーディング.
  • 1