プログラミング

ナイーブベイズ

はじめに 「言語処理のための機械学習入門」の第4章のナイーブベイズを勉強のため実装してみた。 多変数ベルヌーイモデルについて、最尤推定のものと、最大事後確率推定のものをc++で動かしてみた。 ナイーブベイズ分類器とは? 古典的な分類器 事例dがどの…

黄金分割探索

はじめに 黄金分割探索というものを見つけたので、まとめてみる。 黄金分割探索(Golden Section Search) ある連続な1次元関数f(x)の最小値(または最大値)を求めたい。区間[a,b]を定め、その内分点を使って区間を狭めていくことで最適値を求める。(区間[a,b]…

共通部分文字列

問題 情報オリンピックJOI2008本選 AOJ05282つの文字列が与えられたとき、両方の文字列に含まれる文字列のうち最も長いものの長さを返す。 考え方 最も単純な方法は、片方の部分文字列を作ってそれがもう片方に含まれるかを探す方法。 しかし、これではO(n^4…

K-meansによるクラスタリング

PRML第9章にK-meansアルゴリズムがあって、Old Faithful間欠泉データを2つのクラスタに分解した図が載ってたので、自分でも書いてやってみた。 準備 ■Old Faithful間欠泉データ http://research.microsoft.com/en-us/um/people/cmbishop/prml/index.htm 上の…

g++で日本語を使う in Windows7+Cygwin

日本語の取り扱いって面倒くさいことこの上ないという印象で、今まではpython使えばいいやって思ってたのですが、やっぱり使い慣れたc++でも使えるようにしたいと思い、ちょっと調べてみた。 環境 OS : Windows 7 Professional 64bit cygwin上の設定 $ local…