R语言实现神经网络的AMORE

先贴实验代码
目标 用神经网络的AMORE的方法,训练数据,然后测试数据

library(AMORE)
x1 <- round(runif(2000,1,2000))
x2 <- round(runif(2000,1,2000))
x11 <- scale(x1[1:1900])
x12 <- scale(x2[1:1900])
x21 <- scale(x1[1901:2000])
x22 <- scale(x2[1901:2000])
y1 <- x11^2+x12^2
y2 <- x21^2+x22^2
p <- cbind(x11,x12)
q <- cbind(x21,x22)
target =y1

net <- newff(n.neurons = c(2,2,1),learning.rate.global = 1e-2,momentum.global = 0.4
,error.criterium = ‘LMS’,Stao = NA,hidden.layer = “tansig”,
output.layer = ‘purelin’,method = “ADAPTgdwm”)
result <- train(net,p,target,error.criterium = “LMS”,report = TRUE,show.step = 100
,n.shows = 5)

z<- sim(result$net,q)
plot(q[1:100,1],z, col=”blue”,pch=”+”)
points(q[1:100,1],y2,col=”red”, pch=”x”)

newff参数说明
newff(n.neurons, learning.rate.global, momentum.global, error.criterium, Stao, hidden.layer, output.layer, method)
函数:创建多层前馈神经网络
n.neurons 第一个元素:输入神经元的数量,最后是输出神经元的数量,其余的都是不同的隐藏层神经元的数量。
learning.rate.global 学习率
momentum.global 动量因子
error.criterium 误差衡量算法“LMS”:误差平方和 ;“LMLS”:对数平方差 “TAO” 没理解
Stao 错误判断的标准(一般是NA)
hidden.layer 隐藏层-隐藏层的 激活函数 “purelin”、”tansig”、”sigmoid”、”hardlim”、”custom”:自定义
output.layer 隐藏层-输出层的 激活函数
method 训练的方法
“ADAPTgd”的自适应梯度下降
“ADAPTgdwm” 动量自适应梯度下降
“BATCHgd” 批量梯度下降
“BATCHgdwm” 动量批量梯度下降
newff返回一个多层前馈神经网络的对象

train参数说明
train(net, P, T, error.criterium, report, show.step, n.shows)
函数:神经网络训练函数

net :神经网络训练
p :输入训练集
T : 输出训练集
error.criterium 为衡量拟合优度的标准 一般与上述 net 一致 (LMS、LMLS、TAO)
report 布尔值 训练过程中是否提供 信息
show.step 直到训练函数给出结果的最大值
n.shows 报告训练的次数

sim(net, P)函数:计算给定数据集神经网络的输出值

你可能感兴趣的:(r语言)