人工神经网络算法的实现-R语言

2016-09-16



前言

人工神经网络,简称神经网络,是一种模仿生物神经网络的结构和功能的数学模型或者计算模型。神经网络是一种方法,既可以用来做有监督的任务,如分类、视觉识别等,也可以用作无监督的任务。

神经网络是由一层一层的神经元实现的。R语言中可以有许多包可以实现人工神经网络:如nnet、AMORE、neuralnet以及RSNNS。本次,我们就使用RSNNS包实现人工神经网络。

Stuttgart Neural Network Simulator(SNNS)是德国斯图加特大学开发的优秀神经网络仿真软件。本文通过使用R语言RSNNS包中mlp函数(多层感知器)对iris 例子数据建立预测模型。


首先,安装RSNNS包和Rcpp包:

Install.packages(“RSNNS”)

Install.packages(“Rcpp”)

library(Rcpp)

library(RSNNS)

然后导入iris数据集:

data(iris)

Iris数据集的分为5列,前4列为鸢尾花花萼的长度,花萼的宽度,花瓣的长度,花瓣的宽度,第5列为物种信息。本文使用人工神经网络构建分类器,将前4列作为特征输入,第5列的物种信息作为分类器的输出。

df <-iris[sample(nrow(iris)),]

dfValues<- df[,1:4]                   #定义网络输入

dfTargets<- decodeClassLabels(df[,5])   #定义网络输出,并将数据进行格式转换

split<-splitForTrainingAndTest(dfValues, dfTargets, ratio=0.3)

#从中划分出70%训练样本和30%检验样本

split_norm<- normTrainingAndTestSet(split)

#数据标准化

然后,我们进行模型的训练:

model<-mlp(split_norm$inputsTrain,split_norm$targetsTrain,learnFunc="Quickprop",inputsTest=split_norm$inputsTest,targetsTest=split_norm$targetsTest)


从结果可以看出,输出层含有4个神经元,输出层含有3个神经元,中间隐藏层通过计算得到5个神经元(size),它是由Komogorov定理确定。最大迭代次数(maxit)为100次,训练方法(learnFunc)使用的为Quickprop,训练方法参数(learnFuncParams)为一个学习率,一个误差值。

summary(model)

 


从上图的训练结果可以看出,共训练得到12个神经元,35个神经元间的连接。即如下图所示:

最后,我们使用检验集进行模型的预测:

predictions =predict(model,split_norm$inputsTest)

confusionMatrix(split_norm$targetsTest,predictions)   #混淆矩阵

从混淆矩阵可以看出,人工神经网络分类iris数据集结果特别好。

也可以使用ROC曲线展示一下:

ROC=plotROC(predictions,split_norm$targetsTest,col="red",xlab="predition",ylab="target",main="ROC",font.axis=1.9,font.lab=1.9,cex.lab=1.2,cex.axis=1.2)

ROC曲线下面积为1,预测结果非常好。

另外,RSNNS包中其它重要的网络形式还包括:dlvq(动态学习向量化网络)、rbf(径向基函数网络)、elman(elman神经网络)、 jordan(jordan神经网络)、som(自组织映射神经网络)、art1(适应性共振神经网络)等等。


参考文献:


Krizhevsky A,Sutskever I, Hinton G E. ImageNet classification with deep convolutional neuralnetworks[C]// International Conference on Neural Information ProcessingSystems. Curran Associates Inc. 2012:1097-1105.


https://cran.r-project.org/web/packages/RSNNS/RSNNS.pdf


通讯邮箱:ad.cepi@edbc.org

投稿邮箱:scw.cepi@edbc.org

往期「精彩内容」,点击回顾

 | | 

 | 

  |  

精彩会议及课程,点击回顾




CEPI感谢您的支持!

(IOS系统用户专用通道)




相关文章

将目标三维形貌转为艺术简体画?神经轮廓算法助力绘制三维形状精准轮廓

2021-09-24
研究人员使用了神经排序模块NRM来为绘制的线稿评分,在测试时阈值t就被用于对NRM分值进行优化.实验和结果为了对这一模型进...

基于神经网络算法的电池管理系统

2021-09-24
神经网络预测结果1 新电池数据 300个充放电循环后的电池数据 成果展示: 项目演示视频目前项目已申请:一发明专利(申请号:...

人工智能与神经网络算法

2021-09-24
人工智能与神经网络算法Artificial Intelligence and Neural Network Algorithm项目背景人工智能是计算机学科的一个分支,被认为是二十...

初识神经网络算法

2021-09-24
下面将介绍BP网络的原理,BP神经网络,BP即Back Propagation的缩写,也就是反向传播的意思.相比起SVD的算法推导,这个简直...

百度无人出租车长沙试运营;神经架构搜索算法让AI设计AI;今年全球百大品牌价值苹果位列第一丨零点报数

2021-09-24
数据算法麻省理工学院的研究团队研发“神经架构搜索”算法,该算法可以将AI优化AI的过程加快240倍或者更多.算法试图将劳动密...

谷歌大脑AutoML最新进展:用进化算法发现神经网络架构

2021-09-24
如果神经网要完成这项任务,则需要专家经过多年研究以后进行精心的设计,才能解决一项专门的任务,比如发现照片中存在的物体,...

PKUHAC每周精选-深度神经网络算法全套资料分享

2021-09-24
行业报告 《肿瘤标志物通讯》2019年第三期 【天风联合研究】扬帆出海...在线分享精选 中国介入器械产品发展报告(附产业链全景图) 日本医疗器械市场60年回顾 日本医药行业控费背景下的路径指引二:销售模式改革 投...前沿学术进展 新年伊始...

BP神经网络算法(带程序)

2021-09-24
BP神经网络算法 炎炎夏日,你是否在心中默念;“明天要下雨、明天要下雨……”.那么问题来了,明天下雨的概率到底有多大呢?...

哪个才是解决回归问题的最佳算法?线性回归、神经网络还是随机森林?

2021-09-24
“现在,不管想解决什么类型的机器学习(ML)问题,都会有各种不同的算法可以供你选择.尽管在一定程度上,一种算法并不能总...

CARS: 华为提出基于进化算法和权值共享的神经网络结构搜索,CIFAR-10 上仅需单卡半天 | CVPR 2020

2021-09-24
为了优化进化算法在神经网络结构搜索时候选网络训练过长的问题,参考ENAS和NSGA-III,论文提出连续进化结构搜索方法(...

随机推荐

好课分享布尔教育 燕十八 PHP大狮班视频教程高清完整

2020-09-07
好课分享布尔教育 燕十八 PHP大狮班视频教程高清完整(全网精品好课,低价分享给你,有需要的联系我)学习没有捷径,唯一的方...

慕课网三小时入门php笔记

2020-09-06
wampserver集成环境下载和安装,这一章我直接越过了,相对于wampserver我更倾向于大家所使用的phpstudy,如果对其刚兴趣的同...

一个菜鸡的PHP面试题解

2020-09-04
php.ini 文件session.auto_start 是否自动开启Sessionsession.cookie_domain 设置Session的有效域名session.cookie_lifetime 设置的...

[Win] 建站集成软件包XAMPP Control Panel v3.2.3中文汉化版

2020-09-03
XAMPP是一款功能强大的XAMPP 软件站集成软件包,软件原来的名字是LAMPP,但是为了避免误解,最新的几个版本就改名为...

国际资讯速递 |全长5'RACE可用于鉴定乙肝患者血清和肝细胞中的HBV转录本

2020-02-23
在PHH中,还存在一类较长的HBx转录本.测序结果发现,这类较长的HBx转录本的转录起始位点来自P蛋白开放阅读框的ATG,并可...

【相心Music】Alfred原创曲谱汇总【2020.04月版】

2016-04-26
沙宝亮暗香森本恵夫丘を越えて崧鹤无伤曲陶喆爱很简单田馥甄囚鸟大提琴天空之城大提琴匆匆那年大提琴绅士大提琴向往小提琴ラヴ...

温州晚报:学生既“博文”又“弘艺”,温州市艺术学校是怎么做到的?

2015-10-03
《Godis a girl》、《Proud of you》……一首首耳熟能详、脍炙人口的英文歌响起,学生们根据听到的歌词找歌名或填写空白的歌词....

​北京WZK 1月20日发售 | Air Jordan XXXV Sisterhood PF

2015-09-25
Eclipse Plate 2.0 中底科技为设计核心,搭配前后掌 Zoom Air 气垫单元,为运动员提供更稳定的横向支撑,以及更出色的缓震性能,打...

Java:从 Map 到 HashMap 的一步步实现!

2015-09-03
java.util 提供了 HashMap(最常用)、 TreeMap、Hashtble、... Collection 集合Set 替代.default void forEach(BiCo APIdefault V ...

2021年春节前视频课程总结(一)

2015-06-21
作业讲解和祈使句祈使句的否定式动词的第三人称单数简化版第三人称单数的否定和疑问There Be句式形容性物主代词和所有格简单句...