首页 理论教育 基于动态反传-共轭梯度算法的系统辨识

基于动态反传-共轭梯度算法的系统辨识

时间:2022-02-12 理论教育 版权反馈
【摘要】:由于共轭梯度算法对二次型函数具有快速收敛性的特性,因此可以构造这样的方法:在训练的前期应用DBP算法而当进行到训练后期时采用共轭梯度法。这样处理既能充分发挥DBP算法的长处,又同时考虑到共轭梯度法发挥作用的条件为“极值点附近”,因此是一种优势互补的混合算法。其中点划线为期望输出,虚线为DBP算法的拟合情况,实线为动态反传共轭梯度法的拟合情况。

3.5.1 引言

采用DBP算法进行系统辨识存在如下问题:

在学习的初期收敛速度较快,而当接近最优解时往往出现“峡谷现象”致使收敛速度明显减慢。

正如第二章所述:对于许多非二次误差函数,在极值点附近往往可近似为二次型函数。由于共轭梯度算法对二次型函数具有快速收敛性的特性,因此可以构造这样的方法:在训练的前期应用DBP算法而当进行到训练后期时采用共轭梯度法。这样处理既能充分发挥DBP算法的长处,又同时考虑到共轭梯度法发挥作用的条件为“极值点附近”,因此是一种优势互补的混合算法。

3.5.2 算法步骤

Step 1.初始化网络的结构,确定输入、输出神经元及隐层神经元的个数。

Step 2.初始化网络权值,确定网络自延迟环节的初始条件

Step 3.采用DBP算法进行网络的前期训练,取前期训练步数为500步。

Step 4.500步后采用P-R-P共轭梯度法对网络权值进行调整,即

学习率的选取可采用定步长或自适应方法。

Step 5.当收敛达到规定性能指标或达到指定迭代步数时算法终止,否则跳至Step 4。

3.5.3 仿真实例

考虑到神经网络的学习受初始条件影响较大,为客观反映算法性能,在训练中对同一问题、同一网络独立进行5次训练,样本和网络初始值独立随机选取。以下的各项指标为五次学习的平均值,仿真为五次中较接近均值的一次。误差指标采用:

其中y m(k),y(k)分别表示第K个样本的期望输出和网络输出,star和end为所要考察的样本的边界(考察训练集的误差指标,或是测试集的误差指标等)。

实例[10]:

其中u k选择独立的随机序列N(0,2)。

实验中产生1000个随机样本对,将前600个作为训练集,后400个作为测试集。训练的误差终止条件为:

实验情况:采用动态DBP算法训练5次均未达到误差终止条件,样本测试集与网络泛化的输出值的误差指标Error的平均值为0.0137;采用动态反传共轭梯度混合学习算法运行3500次(前500次为DBP算法),有一次达到误差终止条件,其样本测试集与网络泛化的输出值的误差指标Error的平均值为0.0069。更具体地:

(1)测试集拟合图形。如图3.3—3.4所示[1]:

图3.3 测试集拟合图形(1)

图3.4 测试集拟合图形(2)

图3.3和图3.4均为网络的测试集的拟合情况。其中点划线为期望输出,虚线为DBP算法的拟合情况,实线为动态反传共轭梯度法的拟合情况。

(2)误差指标比较(见表3.1)

表3.1 两种算法的误差指标比较

从上述结果可看出:本节所提算法较Ku和Lee所提算法[1]在速度和指定计算步数时的精度上有较大提高。当然本算法还有较大的完善空间。具体地说,还需要作如下进一步的工作:

(1)自适应的确定混合算法的分界点;

(2)融合进化算法以解决全局寻优问题。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈