PRMLの6.4.5〜6.4.6の範囲にあるガウス過程による分類をRで実装してみました。 ソースコード全文はgithubにアップしています。 http://github.com/thorikawa/prml/blob/master/gaussian_process_classify.R ここでは例として、(1,0),(2,0),(3,0)で1、(0,1),(0,2),(0,3)で0の値を取る訓練集合を用いています。 # Training data x=list(c(1,0),c(2,0), c(3,0), c(0,1), c(0,2), c(0,3)) t=c(1,1,1,0,0,0) training_data_num <- length(x) この訓練集合とカーネル関数をもとに予測分布を導出しています。 ガウス過程においては、訓練集合から予測分布を決める(ほぼ)唯一の要素はカーネル関数
![Rでガウス過程による分類を実装 - 遥かへのスピードランナー](https://cdn-ak-scissors.b.st-hatena.com/image/square/056032ab886330a0826141e5d2850e431e6d952b/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Ft%2Fthorikawa%2F20091101%2F20091101024140.jpg)