SSブログ

R: nnetでニューラルネットワーク [統計]

library(nnet)でニューラルネットワークをためしてみる。まずは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
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0