本章内容 目概述 ▣Elman神经网络结构 ▣Elman神经网络学习算法 ▣Elman网络的MATLAB实现
概述 Elman神经网络结构 Elman神经网络学习算法 Elman网络的MATLAB实现 本章内容
概述 ▣Elman神经网络由Jeffrey L.Elman于I990年 提出 口是一种反馈神经网络 ▣具有很强的计算能力 Hello,l'm Jeffrey L.Elman
概述 Elman神经网络由Jeffrey L. Elman 于1990年 提出 是一种反馈神经网络 具有很强的计算能力 Hello ,I’m Jeffrey L. Elman
9.1 Elman神经网络结构 目Elman网络由4层组成 输入层信号传输作用 隐念层元 承接层也称士下文单元或状态层,承接层从隐含层接 收反馈信号,用来记忆隐含层神经元前一时刻的的 输出值,承接层神经元的输出经延迟与存储,再输 入到隐会层。这样就使其对历史数据具有敏感性, 增加了网络自身处X锂动态信息、的能力。 输出层仅起:线性如权作用。 输入 隐层单元 输出单元 俞入单元
9.1 Elman神经网络结构 输入 输入单元 上下文单元 输出 隐层单元 输出单元 Elman网络由4层组成 ◼ 输入层 信号传输作用 ◼ 隐含层 ◼ 承接层 也称上下文单元或状态层,承接层从隐含层接 收反馈信号,用来记忆隐含层神经元前一时刻的的 输出值,承接层神经元的输出经延迟与存储,再输 入到隐含层。这样就使其对历史数据具有敏感性, 增加了网络自身处理动态信息的能力。 ◼ 输出层 仅起线性加权作用
9.2 Elman神经网络学习算法 ▣Elman神经网络各层输入输出公式 如果输入向量为维向量,输出向量y为n 维,隐含层输出向量X为维,承接层输出向量X 为几维,0,p,p分别为隐含层到输出层、输入层到 隐会层、承接层到隐会层的连接权值。为输出神 经元的激话函数,是隐会层输出的线性组合。h(为隐 含层神经元的激活函数,酒为承接层的激活函数, nt0表示某层的净输入,用A表示输入层,用B表示 承接层,「表示迭代次序则各层之间的表达式如下图 所示
9.2 Elman神经网络学习算法 Elman神经网络各层输入输出公式 如果输入向量 为 维向量,输出向量 为 维,隐含层输出向量 为 维,承接层输出向量 为 维, 分别为隐含层到输出层、输入层到 隐含层、承接层到隐含层的连接权值。 为输出神 经元的激活函数,是隐含层输出的线性组合。 为隐 含层神经元的激活函数, 为承接层的激活函数, 表示某层的净输入,用A表示输入层,用B表示 承接层, 表示迭代次序则各层之间的表达式如下图 所示。 u r y m x n x c 1 2 3 w w w , , g( ) f( ) n h() net() t
Elman神经网络结构及其各层输入输出公式 Output y 输此展用紫色表示 g0为输出神经元的转换函 y(t+1)=g(net (t+1)) 数;0是中间层的转换函 数,常为S型函数,也可 m n肥4+=pt年c中 以是高斯型函数。当0为 w(1+1) S函数时采用BP算法训练 权值;当是高斯型函数时 x (+1)=f(net,(t+1) 采用RBF网络方法训练权 net,t+))=∑w(t)y,0 值。 学习指标西数方日 德含属用兰色表示 0=0x0 E网=w-(0】 x.(Ξny) w0=[w2] y(w)为计算输出 户(w)为理想榆出 net,(t)=w(t=1)vi(t=1) 承接层用白色表示 Input u
Elman神经网络结构及其各层输入输出公式 g()为输出神经元的转换函 数;f()是中间层的转换函 数,常为S型函数,也可 以是高斯型函数。当f()为 S函数时采用BP算法训练 权值;当是高斯型函数时 采用RBF网络方法训练权 值。 1 ( ) ( ) ( ) 1 1 1 m n net t w t x t + = + + ( ) ( ( )) 1 1 m y t g net t + = + 2 3 ( ) ( ) ( ) ( ) i n c i t u t x t w t w w = = ( ) ( ) ( ) 1 i net t w t t n i + = ( ) ( ( )) 1 1 n n x t f net t + = + ( ) ( ) ( ) 1 1 i n i net t w t t = − − ( ) ( ( )) c n x t h net t = 3 w t( ) 1 w t( 1) + 2 w t( ) Output y 1 2 r Input u 1 n 1 n 1 m 承接层用白色表示 输出层用紫色表示 隐含层用兰色表示 2 1 ( ) ( ) ( ) T k k k E w y w y w = = − 学习指标函数为: ( ) k y w( ) k y w 为计算输出 为理想输出
92 Elman神经网络学习算法 ☐Elman神经网络学习算法采用BP算法 ■判断算法是否结束的误差函数为: E=∑b()-dk月 k= 其中d(k)为期望输出 ■Elman神经网络学习算法流程图
Elman神经网络学习算法采用BP算法 ◼ 判断算法是否结束的误差函数为: 其中 为期望输出 ◼ Elman神经网络学习算法流程图 2 1 [ ( ) ( )] n k E y k d k = = − d k( ) 9.2 Elman神经网络学习算法
9.2 Elman神经网络学习算法 初始化各暴权值 Elman神经网络学 输入样本值 习算法流程图 计算输入层输出 计永接尿输出 计算隐含层输出 计算输出层输出 计算误差函数 更新权值
Elman神经网络学 习算法流程图 计算输出层输出 初始化各层权值 输入样本值 计算输入层输出 计算误差函数 更新权值 计算承接层输出 计算隐含层输出 9.2 Elman神经网络学习算法
9.3 Elman网络的MATLAB实现 ■E]man神经网络的重要函数和基本功能 函数名 功 能 newelm() 生成一个Elman神经网络 trains() 根据已设定的权值和阈值对网络进行 顺序训练 traingdx() 自适应学习速率动量梯度下降反向传 播训练函数 learngdm() 动量梯度下降权值和阈值学习函数
◼ Elman神经网络的重要函数和基本功能 函 数 名 功 能 newelm() 生成一个Elman神经网络 trains() 根据已设定的权值和阈值对网络进行 顺序训练 traingdx() 自适应学习速率动量梯度下降反向传 播训练函数 learngdm() 动量梯度下降权值和阈值学习函数 9.3 Elman网络的MATLAB实现
9.3 Elman网络的MATLAB实现 Elman网格伤真实例 空调系统逐时负荷的准确预测是实现住宅和电网现代 控制前提之一。空调负荷于多种因素成非线性关系,并且 是一种动态关条。不宜采用BP、RBF等静态映射网络。这 里尝试采用Elmen网络
空调系统逐时负荷的准确预测是实现住宅和电网现代 控制前提之一。空调负荷于多种因素成非线性关系,并且 是一种动态关系。不宜采用BP、RBF等静态映射网络。这 里尝试采用Elmen网络 ◼ Elman网络仿真实例 9.3 Elman网络的MATLAB实现
9.3 Elman网络的MATLAB实现 Elman网格伤真实例 如果希望用过去的N(N>)个时刻的值,即进行M步预测,可 取N个相邻的样本为滑动窗,并将它们映射为M个预测值。于是 网络具有N个输入,M个输出,中间层一般可以取在N+M左右。 N个输入 M个输虫 X X2...XN XN+I XN+2..XN+M X2X3.XN+ XN+2 XN+3...XN+M XKXK.XNK用 XN+K XN+K+XNMEK+
9.3 Elman网络的MATLAB实现 N个输入 M个输出 X1 X2 … XN XN+1 XN+2 … XN+M X2 X3 … XN+1 XN+2 XN+3 … XN+M+1 … … … … XK XK+! … XN+K+! XN+K XN+K+! … XN+M+K+1 如果希望用过去的N(N>1)个时刻的值,即进行M步预测,可 取N个相邻的样本为滑动窗,并将它们映射为M个预测值。于是 网络具有N个输入,M个输出,中间层一般可以取在N+M左右。 ◼ Elman网络仿真实例