bp神经网络与遗传算法
1. BP神经网络
我不是大神。但可以给给意见。
1,遗传算法不能改变BP神经网络准确率低的本质问题的。只能在一定程度上优化BP神经网络。
2,你的数据是怎么增加的?由原来的80组数据基础上随意组合的?还有你的输出结果是3个等级。期望输出是什么类型?预测输出是什么类型?你判断正确率的标准是什么?这些都会对正确率有影响。
3,BP神经网络的正确率的提高可以通过:一,改变隐层的节点数。或增减隐层的层数。最少一个隐层,最多2个。二,改变传递函数,一般隐层用tansig,输出层用linear或者tansig。
4,最后的方法是不怎么重要的,就是数据的归一化,一般是归一化或不归一化都可以的,都试试。
我都是书本学过,做过点题目,只能给这些建议。
2. BP算法、BP神经网络、遗传算法、神经网络这四者之间的关系
这四个都属于人工智能算法的范畴。其中BP算法、BP神经网络和神经网络
属于神经网络这个大类。遗传算法为进化算法这个大类。
神经网络模拟人类大脑神经计算过程,可以实现高度非线性的预测和计算,主要用于非线性拟合,识别,特点是需要“训练”,给一些输入,告诉他正确的输出。若干次后,再给新的输入,神经网络就能正确的预测对于的输出。神经网络广泛的运用在模式识别,故障诊断中。BP算法和BP神经网络是神经网络的改进版,修正了一些神经网络的缺点。
遗传算法属于进化算法,模拟大自然生物进化的过程:优胜略汰。个体不断进化,只有高质量的个体(目标函数最小(大))才能进入下一代的繁殖。如此往复,最终找到全局最优值。遗传算法能够很好的解决常规优化算法无法解决的高度非线性优化问题,广泛应用在各行各业中。差分进化,蚁群算法,粒子群算法等都属于进化算法,只是模拟的生物群体对象不一样而已。
3. 遗传算法跟神经网络之间是什么关系
神经网络的设计要用到遗传算法,遗传算法在神经网络中的应用主要反映在3个方面:网络的学习,网络的结构设计,网络的分析。
1.遗传算法在网络学习中的应用
在神经网络中,遗传算法可用于网络的学习。这时,它在两个方面起作用
(1)学习规则的优化
用遗传算法对神经网络学习规则实现自动优化,从而提高学习速率。
(2)网络权系数的优化
用遗传算法的全局优化及隐含并行性的特点提高权系数优化速度。
2.遗传算法在网络设计中的应用
用遗传算法设计一个优秀的神经网络结构,首先是要解决网络结构的编码问题;然后才能以选择、交叉、变异操作得出最优结构。编码方法主要有下列3种:
(1)直接编码法
这是把神经网络结构直接用二进制串表示,在遗传算法中,“染色体”实质上和神经网络是一种映射关系。通过对“染色体”的优化就实现了对网络的优化。
(2)参数化编码法
参数化编码采用的编码较为抽象,编码包括网络层数、每层神经元数、各层互连方式等信息。一般对进化后的优化“染色体”进行分析,然后产生网络的结构。
(3)繁衍生长法
这种方法不是在“染色体”中直接编码神经网络的结构,而是把一些简单的生长语法规则编码入“染色体”中;然后,由遗传算法对这些生长语法规则不断进行改变,最后生成适合所解的问题的神经网络。这种方法与自然界生物地生长进化相一致。
3.遗传算法在网络分析中的应用
遗传算法可用于分析神经网络。神经网络由于有分布存储等特点,一般难以从其拓扑结构直接理解其功能。遗传算法可对神经网络进行功能分析,性质分析,状态分析。
遗传算法虽然可以在多种领域都有实际应用,并且也展示了它潜力和宽广前景;但是,遗传算法还有大量的问题需要研究,目前也还有各种不足。首先,在变量多,取值范围大或无给定范围时,收敛速度下降;其次,可找到最优解附近,但无法精确确定最扰解位置;最后,遗传算法的参数选择尚未有定量方法。对遗传算法,还需要进一步研究其数学基础理论;还需要在理论上证明它与其它优化技术的优劣及原因;还需研究硬件化的遗传算法;以及遗传算法的通用编程和形式等。