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/a37613f77d09cf9fc177a0d737c052abae329c9f/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F7ce6ac70ef151289f7469153f9deef6af85912b5%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttp%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Ft%252Fthorikawa%252F20091101%252F20091101024140.jpg)