# -= neuron.r =- # e <- 0.1 # 変化量(固定) w <- c(0,0,0) # 重みの初期値 # パターン(教師データ) p <- matrix(c(0,0,1,1,0,1 ,0,1,1,1,1,1,0,1,1,1),4,4) # 本当は1行 # for(i in 1:10) { # 最大10周 cflag <- 0 # 変化があったか cat("<<",i,">>\n") for (j in 1:4) { y <- ifelse((p[j,1]*w[1] + p[j,2]*w[2] + w[3])<0, 0 , 1) # 本当は1行 cat("正解",p[j,4],"//計算値",y,": ") for (k in 1:3) { wk <- w[k] - e*(y-p[j,4])*p[j,k] cat(wk,", ") if (wk != w[k]) { cflag <- 1 w[k] <- wk } } cat("\n") } if (cflag == 0) break # 変化なければ終了 }