PRML読書会の予習を兼ねて3.1のガウス基底関数を用いて線形回帰を行うプログラムをRで書いた。 疑問としては(3.4)式の の部分で\mu_jとsはどうやって決定するのかがよくわからなかった。とりあえずs=1,\mu_j = j / Mとした。 追記:本当はbase(x[i],j)ではなくてbase[ [j] ](x[i])と書きたいんだけどRで for(j in 1:10){ base[[j]] <- function(x) return x^i } とか書くと全部10乗を返す関数になってしまうのでbase(x[i],j)とか書いてるけどなんかいい方法はないものか。 #generate data set gen_data <- function(N = 25){ gauss_noise <- rnorm(N) x <- runif(N) y <- numeric(N) sincurve