导航:首页 > 编程大全 > bp神经网络哪个好

bp神经网络哪个好

发布时间:2024-04-12 08:20:59

1. BP神经网络的核心问题是什么其优缺点有哪些

人工神经网络,是一种旨在模仿人脑结构及其功能的信息处理系统,就是使用人工神经网络方法实现模式识别.可处理一些环境信息十分复杂,背景知识不清楚,推理规则不明确的问题,神经网络方法允许样品有较大的缺损和畸变.神经网络的类型很多,建立神经网络模型时,根据研究对象的特点,可以考虑不同的神经网络模型. 前馈型BP网络,即误差逆传播神经网络是最常用,最流行的神经网络.BP网络的输入和输出关系可以看成是一种映射关系,即每一组输入对应一组输出.BP算法是最著名的多层前向网络训练算法,尽管存在收敛速度慢,局部极值等缺点,但可通过各种改进措施来提高它的收敛速度,克服局部极值现象,而且具有简单,易行,计算量小,并行性强等特点,目前仍是多层前向网络的首选算法.

2. bp神经网络函数中哪个预测性能好

traingdm是带动量的梯度下降法,trainlm是指L-M优化算法,trainscg是指量化共轭梯度法,除此之外还有traingdx、traingda等,都是权值的训练算法。看MATLAB结合神经网络的基础书上都有介绍。tansig和logsig 统称Sigmoid函数,logsig是单极性S函数,tansig是双极性S函数,也叫双曲正切函数,purelin是线性函数,是节点的传输函数。

学习函数和训练函数的区别:学习函数的输出是权值和阈值的增量,训练函数的输出是训练好的网络和训练记录,在训练过程中训练函数不断调用学习函数修正权值和阈值,通过检测设定的训练步数或性能函数计算出的误差小于设定误差,来结束训练。

下面是几个仿真实验,用了不同的训练函数:
1.创建BP网络的学习函数,训练函数和性能函数都采用default值,分别为learngdm,trainlm和mse时的逼近结果:
由此可见,进过200次训练后,虽然网络的性能还没有为0,但是输出均方误差已经很小了,MSE=6.72804e-0.06,显示的结果也证明P和T之间非线性映射关系的拟合是非常精确的;
2.建立一个学习函数为learnd,训练函数为traingd,和性能函数为msereg的BP网络,来完成拟合任务:
可见,经过200次训练后,网络的输出误差比较大,而且网络误差的收敛速度非常慢。这是由于训练函数traingd为单纯的梯度下降训练函数,训练速度比较慢,而且容易陷入局部最小的情况。结果显示网络精度确实比较差。
3.将训练函数修改为traingdx,该i函数也是梯度下降法训练函数,但是在训练过程中,他的学习速率是可变的
在200次训练后,以msereg函数评价的网络性能为1.04725,已经不是很大,结果显示P和T之间非线性关系的拟合情况不错,网络的性能不错。

3. 识别数字,bp神经网络算法,卷积神经网络算法,svm算法,adaboost算法哪种好

看数字图片而定。如果图片较小并且质量还不错,那么通过2层的神经网络就能胜任。
对于MNIst数据集(28*28的手写数字),2层神经网络准确率可达99%,svm也有98%以上。
以上实现非常简单,matlab已经有现成工具箱。

卷积神经网络通常用于更加复杂的场合,闭合是被图像内容等。在MNIST数据集上cnn可达99.7%准确率,但是实现起来较为复杂,需要通过开源框架caffe,keras等进行编程。

如果对准确率要求没有达到小数点后两位的程度,用简单的svm,神经网络,softmax等调调参数就行了。

4. 神经网络——BP算法

对于初学者来说,了解了一个算法的重要意义,往往会引起他对算法本身的重视。BP(Back Propagation,后向传播)算法,具有非凡的历史意义和重大的现实意义。

1969年,作为人工神经网络创始人的明斯基(Marrin M insky)和佩珀特(Seymour Papert)合作出版了《感知器》一书,论证了简单的线性感知器功能有限,不能解决如“异或”(XOR )这样的基本问题,而且对多层网络也持悲观态度。这些论点给神经网络研究以沉重的打击,很多科学家纷纷离开这一领域,神经网络的研究走向长达10年的低潮时期。[1]

1974年哈佛大学的Paul Werbos发明BP算法时,正值神经外网络低潮期,并未受到应有的重视。[2]

1983年,加州理工学院的物理学家John Hopfield利用神经网络,在旅行商这个NP完全问题的求解上获得当时最好成绩,引起了轰动[2]。然而,Hopfield的研究成果仍未能指出明斯基等人论点的错误所在,要推动神经网络研究的全面开展必须直接解除对感知器——多层网络算法的疑虑。[1]

真正打破明斯基冰封魔咒的是,David Rumelhart等学者出版的《平行分布处理:认知的微观结构探索》一书。书中完整地提出了BP算法,系统地解决了多层网络中隐单元连接权的学习问题,并在数学上给出了完整的推导。这是神经网络发展史上的里程碑,BP算法迅速走红,掀起了神经网络的第二次高潮。[1,2]

因此,BP算法的历史意义:明确地否定了明斯基等人的错误观点,对神经网络第二次高潮具有决定性意义。

这一点是说BP算法在神经网络领域中的地位和意义。

BP算法是迄今最成功的神经网络学习算法,现实任务中使用神经网络时,大多是在使用BP算法进行训练[2],包括最近炙手可热的深度学习概念下的卷积神经网络(CNNs)。

BP神经网络是这样一种神经网络模型,它是由一个输入层、一个输出层和一个或多个隐层构成,它的激活函数采用sigmoid函数,采用BP算法训练的多层前馈神经网络。

BP算法全称叫作误差反向传播(error Back Propagation,或者也叫作误差逆传播)算法。其算法基本思想为:在2.1所述的前馈网络中,输入信号经输入层输入,通过隐层计算由输出层输出,输出值与标记值比较,若有误差,将误差反向由输出层向输入层传播,在这个过程中,利用梯度下降算法对神经元权值进行调整。

BP算法中核心的数学工具就是微积分的 链式求导法则 。

BP算法的缺点,首当其冲就是局部极小值问题。

BP算法本质上是梯度下降,而它所要优化的目标函数又非常复杂,这使得BP算法效率低下。

[1]、《BP算法的哲学思考》,成素梅、郝中华著

[2]、《机器学习》,周志华著

[3]、 Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现

2016-05-13 第一次发布

2016-06-04 较大幅度修改,完善推导过程,修改文章名

2016-07-23 修改了公式推导中的一个错误,修改了一个表述错误

5. 如果是以预测为准,是BP神经网络好,还是径向量什么网络好

1、这是一个发展的问题,在神经网络的发展过程中,在前期,径向量的效果好;
2、自从出现了卷积神经网络、循环神经网络出现后,神经网络的效果好。

6. 求助大神,使用BP神经网络预测数据,为什么误差很大

预测数据的话BP不是特别好用,最好用Elman反馈神经网络或者RNN循环神经网络,这些有记忆功能的网络比较好用。bp主要和你选择的隐含层数,和误差范围,学习率有关。你可以调节相关参数来改变神经网络,获得更精确的结果。

阅读全文

与bp神经网络哪个好相关的资料

热点内容
oracle备份压缩文件 浏览:898
用vb编写汉诺塔程序的代码 浏览:864
如何在app中留坑 浏览:937
后方交会程序 浏览:265
石家庄市门户网站怎么下载 浏览:251
linux长格式显示文件链接 浏览:905
火狐app拦截窗口如何解除 浏览:154
视频文件快速分割工具 浏览:730
ps如何把章子盖到另一个文件上 浏览:497
发文件有哪些方式 浏览:346
word2007教学 浏览:185
win10图标不显示文件名 浏览:226
qq刷钻软件是真的吗 浏览:100
压缩文件下载后是记事本格式 浏览:432
还有什么云盘可以传文件 浏览:931
win10hyperwinxp 浏览:365
有个收废纸的app叫什么 浏览:947
js去掉页面双击选中 浏览:434
php获取json数据 浏览:21
四叶草引导黑苹果教程 浏览:851

友情链接