加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

【干货分享】R语言:Neuralnet神经网络包,你也可以轻松掌握

(2018-09-14 09:43:31)
标签:

r语言

博易数据

大数据技术

neuralnet神经网络包

知识发现

分类: 干货分享(大数据/机器学习)

人工神经网络(Artificial Neural Networks,ANN)系统是 20 世纪 40 年代后出现的。它是由众多的神经元可调的连接权值连接而成,具有大规模并行处理、分布式信 息存储、良好的自组织自学习能力等特点。

BP(Back Propagation)算法又称为误差 反向传播算法,是人工神经网络中的一种监督式的学习算法。BP 神经网络算法在理 论上可以逼近任意函数,基本的结构由非线性变化单元组成,具有很强的非线性映射能力。而且网络的中间层数、各层的处理单元数及网络的学习系数等参数可根据具体情况设定,灵活性很大,在优化、信号处理与模式识别、智能控制、故障诊断等许 多领域都有着广泛的应用前景。

本期将介绍R语言里面的神经网络包——Neuralnet包

#安装并导入neuralnet包(还需要安装grid和MASS两个依赖包)

·install.packages('neuralnet')

·library("neuralnet")

# 构造50个独立分布在0到100之间的随机数

# 然后将他们保存成数据框架(data.frame)

traininginput <- as.data.frame(runif(50, min=0, max=100))

trainingoutput <- sqrt(traininginput)

# 通过cbind函数将输入和输出向量构造成一个数据

# 用一些训练数据测试该神经网络

trainingdata <- cbind(traininginput,trainingoutput) colnames(trainingdata) <- c("Input","Output")

# 训练10个隐藏神经元的神经网络

net.sqrt <- neuralnet(Output~Input,trainingdata, hidden=10, threshold=0.01)

print(net.sqrt)

# 绘制神经网络拓扑图

plot(net.sqrt)

testdata <- as.data.frame((1:10)^2)

net.results <- compute(net.sqrt, testdata) ls(net.results)

# 查看结果

print(net.results$net.result)

# 让结果更直观些

cleanoutput <-cbind(testdata,sqrt(testdata),as.data.frame(net.results$net.result))

colnames(cleanoutput) <- c("Input","Expected Output","Neural Net Output")

print(cleanoutput)

相关阅读:

「干货分享」教你用shiny包作交互式web应用

「如何辨别真伪数据科学家·四」数据分析师必须掌握的20问答案

「如何辨别真伪数据科学家·三」火眼金睛辨数据分析师的真伪

「如何辨别真伪数据科学家·二」让你在学习中,成为一名优秀的数据分析师

「如何辨别真伪数据科学家·一」数据“狮”是怎样炼成的?

更多精彩,请继续关注"博易数据"(boyidata)或登入官网!

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有