#载入程序和数据
library(RSNNS)
data(iris)
#将数据顺序打乱
iris <- iris[sample(1:nrow(iris),length(1:nrow(iris))),1:ncol(iris)]
#定义网络输入
irisValues <- iris[,1:4]
#定义网络输出,并将数据进行格式转换
irisTargets <- decodeClassLabels(iris[,5])
#从中划分出训练样本和检验样本
iris <- splitForTrainingAndTest(irisValues, irisTargets, ratio=0.15)
#数据标准化
iris <- normTrainingAndTestSet(iris)
#利用mlp命令执行前馈反向传播神经网络算法
model <- mlp(iris$inputsTrain, iris$targetsTrain, size=5, learnFunc="Quickprop", learnFuncParams=c(0.1, 2.0, 0.0001, 0.1),maxit=100, inputsTest=iris$inputsTest, targetsTest=iris$targetsTest)
#利用上面建立的模型进行预测
predictions <- predict(model,iris$inputsTest)
#生成混淆矩阵,观察预测精度
confusionMatrix(iris$targetsTest,predictions)
#结果如下:
#predictions
#targets 1 2 3
# 1 8 0 0
# 2 0 4 0
# 3 0 1 10
MLP这个其实还是很好懂的,你不仅要将RSNNS包对应的pdf文档仔细阅读,更需要的是进入SNNS的网站查看文档。Stuttgart Neural Network Simulator(SNNS)是德国斯图加特大学开发的优秀神经网络仿真软件,为国外的神经网络研究者所广泛采用。其手册内容极为丰富,同时支持友好的 Linux 平台。而RSNNS则是连接R和SNNS的工具,在R中即可直接调用SNNS的函数命令。
再看你的例子,三层神经网络,输入层5个节点,对应5个特征;中间层(隐层)3个节点;输出层一个节点,给出预测结果。
你的第一部分是指设置的激活函数,包括隐层的激活函数和输出层的。
第二部分是每个节点的信息,bias是偏置,position不用理,是那个仿真软件的。
第三部分是中间连接线的各个权重。
希望对你有帮助。