楼主: 阿扁V5
11377 1

[数据挖掘理论与案例] 神经网络-BP神经网络R实现(一) [推广有奖]

  • 1关注
  • 43粉丝

版主

山野小子

已卖:965份资源

副教授

94%

还不是VIP/贵宾

-

威望
0
论坛币
-29225312 个
通用积分
3823.6007
学术水平
108 点
热心指数
119 点
信用等级
91 点
经验
49334 点
帖子
1168
精华
1
在线时间
651 小时
注册时间
2013-3-22
最后登录
2024-3-17

楼主
阿扁V5 学生认证  发表于 2017-6-16 18:06:11 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
      目前使用R语言构建神经网络的包主要包括AMORE、NNET、Neuralnet及RSNNET等,其中AMORE包是一个比较灵活的神经网络包,且实现了TAO稳健神经网络算法,其常用的函数包括newff和train,前者定义神经网络结构,后者训练模型。
【实例详解】-以iris数据集为例
# 准备基础数据
source.Data <- iris[,1:4]
colnames(source.Data) <- c('x1','x2','x3','y')
# 归一化数据,只标准化连续变量可能会引起训练无法收敛,标准化函数为scale
# max.min <- function(x){
#   (x-min(x))/(max(x)-min(x))
# }
# source.Data[,1:3] <- apply(source.Data[,1:3],2,max.min)
# 标准化数据
source.Data[,1:3] <- scale(source.Data[,1:3])
# 加载AMORE包
library(AMORE)
# 建立神经网络结构,输入层3个神经元,输出层一个神经元
# 三个隐含层,分别具有20,10,5个神经元
# learning.rate.global 为学习效率
# error.criterium为模型拟合评价标准
# hidden.layer 隐藏层激活函数,sigmoid为s型
# output.layer 输出层激活函数,purelin为线性
# method 训练方法,ADAPTgd为自适应梯度下降法
bp.net <- newff(n.neurons = c(3,20,10,5,1),
                learning.rate.global = 0.01,
                error.criterium = "LMS",
                hidden.layer = "sigmoid",
                output.layer = "purelin",
                method = "ADAPTgd")
# 使用train函数,基于训练数据对神经网络进行训练
bp.net.train <- train(bp.net,P=source.Data[,1:(ncol(source.Data)-1)],T=source.Data[,ncol(source.Data)],
                      n.shows = 20,show.step = 1000)
# 基于现有的模型,拟合出y值,并计算残差平方和
y <- sim(bp.net.train$net,source.Data[,1:(ncol(source.Data)-1)])
error <- sum((y-source.Data[,ncol(source.Data)])^2)
error

# 输出结果
# [1] 5.351169

     显然,此处BP神经网络的预测残差平方和显著低于单层感知器预测残差平方和(见我的上一篇笔记:https://bbs.pinggu.org/thread-5757745-1-1.html),说明模型有改进。
      今天由于时间关系,此处只是套用R的AMORE包训练神经网络,下次自定义神经网络结果,观察训练过程。

参考:《R语言预测实战》-游皓麟
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:BP神经网络 神经网络 神经网 R实现 Neural 网络

已有 1 人评分论坛币 收起 理由
飞天玄舞6 + 10 精彩帖子

总评分: 论坛币 + 10   查看全部评分

憧憬机器学习的世界!

沙发
karst 发表于 2017-6-16 18:34:47

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-3 09:41