神经网络遗传算法的基本框架
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1 神经网络 (2)
1.1 人工神经元基本模型 (2)
1.2 BP网络基本模型 (2)
1.3 BP网络的标准学习算法 (3)
1.4 MATLAB中BP神经网络的重要函数和基本功能 (5)
1.5 BP网络存在问题及算法改进 (5)
2 遗传算法 (5)
2.1 基本遗传算法 (6)
2.2 遗传算法的设计 (6)
3 遗传算法与BP网络结合的模型 (7)
4 在变速箱故障诊断中的应用 (8)
4.1 基于BP网络的特征提取 (8)
4.2 基于遗传算法与BP网络结合的故障分类 (8)
1 神经网络
神经网络相当于一个专家系统知识库,它能够自动在海量数据中识别、捕捉和提取隐藏规律,并将其包含在神经元之间的连接权值中;神经网络理论研究侧重于寻找合适的神经网络模型和学习算法。其中,模型研究是指构造合适的单个神经元模型及确定神经元之间的连接方式,并探讨它适用的场合;学习算法研究是指在神经网络模型的基础上,指出一种调整神经网络结构和权值的算法,并满足学习样本的要求,同时具有较快的学习速度。
1.1 人工神经元基本模型
神经元i的一个输入
∑
=
-
=
n
j
i
j
ji
i
v
w
1
θ
)
(
i
i
u
f
=
图为:人工神经元模型
模型由四部分构成:一组同突触权值相联系的突触;求和装置,将叠加所有传播到加法器的信号,即每个输入与它相联系的突触权值相乘,然后再相加求和;激励(活)函数,可以是线性或非线性函数;阈值。
1.2 BP网络基本模型
BP网络一般由输入层、输出层和隐层(可以是多层)组成,包括正向传播和反向传播两部分。正向传播用于网络计算,对某一输入求出其输出;反向传播用于逐层传递误差,修改连接权值和阈值。BP网络把样本的输入、输出问题变成一个沿梯度下降算法的非线性优化问题,并通过迭代运算求解使得网络具有学习记忆功能。
1x 2x 1N x
图为:BP 神经网络模型
激励函数必须处处可导,一般都使用S 型函数,使用S 型激活函数时BP 网络输入与输出关系:
● 输入 n n w x w x w x net +++= (2211)
● 输出 net
e net
f y -+==11)( ● 输出的导数 )1()1(111)(2
y y e e net f net net -=+-+='-- ● 误差为输出层节点数为实际输出,为理想输出,,其中k y t y t E k k k
k k 2)(21∑-= 注对神经网络进行训练,应该将net 的值尽量控制在收敛比较快的范围内
1.3 BP 网络的标准学习算法
BP 网络学习算法是非循环多级神经网络的训练算法,权值的不断调整过程就是网络的训练过程,该算法收敛速度慢,但具有广泛的适用性。其算法框图如下图示:
图为:BP网络算法框图
网络初始化包括给各连接权值分别赋一个区间(-1,1)内的随机数,设定误差函数e,给定计算精度值 和最大学习次数M。需要确定的问题:
1、样本数据:首先是要有足够多典型性好和精度高的样本。将收集到的数据随机分成训练样本、检验样本(10%以上)和测试样本(10%以上)3部分;确定输入输出变量及数据预处理,一般要求输入数据的值在0~1之间。
2、神经网络拓扑结构的确定:优先考虑3层BP网络(有一个隐层数),最基本原则是在满足精度要求前提下取尽可能少的隐层节点数,但隐层节点数必须小于N-1(其中N为训练样本数),另外训练样本数必须多于网络模型的连接权数,一般为2~10倍。
3、神经网络的训练:BP网络的训练就是通过应用误差反传原理不断调整网络权值使网络模型输出值与已知的训练样本输出值之间的误差平方和达到最小或小于某一期望值。所给的有限个样本的学习(训练)目前在很大程度上还需要依靠经验知识和设计者的经验。
4、学习率和充量系数:学习率影响系统学习过程的稳定性。大的学习率可能使网络权值每一次的修正量过大,甚至会导致权值在修正过程中超出某个误差的极小值呈不规则跳跃而不收敛;但过小的学习率导致学习时间过长,不过能保证收敛于某个极小值。所以,一般倾向选取较小的学习率以保证学习过程的收敛性(稳定性),通常在0.01~0.8之间。增加冲量项的目的是为了避免网络训练陷于较浅的局部极小点。理论上其值大小应与权值修正量的大小有关,但实际应用中一般取常量。通常在0~1之间,而且一般比学习率要大。
5、网络的初始连接权值:BP算法决定了误差函数一般存在(很)多个局部极小点,不同的网络初始权值直接决定了BP算法收敛于哪个局部极小点或是全
局极小点。由于Sigmoid转换函数的特性,一般要求初始权值分布在-0.5~0.5之间比较有效。
6、网络模型的性能和泛化能力:判断网络模型泛化能力的好坏,主要不是看测试样本误差大小的本身,而是要看测试样本的误差是否接近于训练样本和检验样本的误差。
7、确定合理的网络模型:对同一结构的网络,由于BP算法存在(很)多个局部极小点,因此,必须通过多次(通常是几十次)改变网络初始连接权值求得相应的极小点,才能通过比较这些极小点的网络误差的大小,确定全局极小点,从而得到该网络结构的最佳网络连接权值。
1.4 MATLAB中BP神经网络的重要函数和基本功能
1.5 BP网络存在问题及算法改进
BP网络存在的问题:收敛速度比较慢;易陷入局部极小;易导致网络瘫痪问题;不稳定性等。
BP算法的改进主要包括学习率的改进;误差函数的改进;激励函数的改进;网络初始值的选取(使用Cauchy不等式和线性代数方法得到最优初始权值或采用遗传算法来初始化权值);优化网络结构(关键是隐层的层数与隐节点的数目。隐节点过少,学习过程不可能收敛到全局最小点;隐节点过多,网络性能下降,节点冗余);改进优化算法。
2 遗传算法