新闻中心

EEPW首页 > 电源与新能源 > 设计应用 > BP网络在蓄电池电压监测单元中的应用

BP网络在蓄电池电压监测单元中的应用

作者:时间:2012-07-10来源:网络收藏

4.2 激活函数:

中神经元的激活函数是非线性的,且必须是连续可微和单调上升的有界函数。输入/输出关系也是为非线性,其值可连续变化。隐含层采用双曲正切S型激活函数,输出层采用线性激活函数。

隐含层神经元数设为i (i=8) , 其中第i个神经元的输出为

4.3 训练:

,输入为某一温度值,输出是测量值的基准值,将其和实际测量的浮充比较,若超出允许范围则报警。

T代表温度,V代表测量值的基准值。

实际工作温度是0oC至41oC,训练时0至41的数据造成网络训练困难,所以改为-20至20,只要加上20就是实际温度值。

制造厂提供的数据分为两个集合,

训练集(如图3)是:

输入矩阵T = -20: 2 : 20;

输出矩阵V

V==[14.4,14.38,14.32,14.24,14.18,14.12,14.04,13.98,13.92,13.86,13.78,13.72,13.66,13.58,13.52,13.46,13.38,13.32,13.26,13.2,13.2];14.4,14.38,14.32,14.24,14.18,14.12,14.04,13.98,13.92,13.86,13.78,13.72,13.66,13.58,13.52,13.46,13.38,13.32,13.26,13.2,13.2];

用Matlab语言编写训练程序,网络训练过程:

首先设定参数如下:

max_epoch = 30000;

err_goal = 0.002;

程序运行结果:

TRAINBP: 30000/30000 epochs, SSE = 0.00260954.

W1 =[-0.1094 -0.1207 -1.0054 -0.9631 1.5095 0.4468 1.7631 0.9540] T

B1 =[-1.2748 1.2489 0.4120 0.1571 -0.6891 0.9935 -1.5833 0.0657] T

W2 =[0.3228 0.2993 -0.0883 0.2113  1.0839 -0.0217 -0.7304 -0.2670]

B2 =13.8159

Unsuccessfully.网络训练不成功。

用得到的W1,B1,W2,B2再次训练……直到

err_goal =0.0015  successfully

得到:

W1 =[-0.1094 -0.1207 -1.0054 -0.9631 1.5095 0.4468 1.7631 0.9540] T

B1 =[1.2748 1.2489 0.4120  0.1571 -0.6891 0.9935 -1.5833 0.0657] T

W2 =[0.3228 0.2993 -0.0883 0.2113 1.0839 -0.0217 -0.7304  -0.2670]

B2 =13.8159



评论


相关推荐

技术专区

关闭