R: nnetでニューラルネットワーク [統計]
library(nnet)でニューラルネットワークをためしてみる。まずはxorを学習させてみる。
結果
ということで、xorができるようになった。
library(nnet) set.seed(12345) x <- rbinom(20, 1, 0.5) y <- rbinom(20, 1, 0.5) z <- xor(x, y) net <- nnet(z ~ x + y, data = data.frame(x = x, y = y, z = z), size = 3) predict(net, data.frame(x = c(0, 0, 1, 1), y = c(0, 1, 0, 1)))
結果
[,1] 1 0.003984565462 2 0.999589773815 3 0.999589684557 4 0.000000000000
ということで、xorができるようになった。
> summary(net) a 2-3-1 network with 13 weights options were - b->h1 i1->h1 i2->h1 2.63 7.84 11.89 b->h2 i1->h2 i2->h2 -33.89 17.53 18.41 b->h3 i1->h3 i2->h3 4.44 -15.72 -15.86 b->o h1->o h2->o h3->o 0.85 6.95 -37.73 -13.00
タグ:R
コメント 0