赵果林——人工神经网络在证券市场中的应用研究(6)

2018-11-21 23:39

人工神经网络在证券市场中的应用研究

三、BP网络的学习算法――反向传播算法

3.1 BP (Backward-propagation)算法介绍

为了训练MPNN, Werbos1974年,Parker1982年,Rumellart等人1985年分别提出了类似的反向传播算法(Backward Propagation), 其中Rumellart等人发表的BP算法影响最大,已成为应用最为广泛的一种神经网络学习算法。

图 6 BP神经网络

BP算法的网络结构是一个前向多层网络,网络中不仅含有输入节点和输

出节点,而且含有一层或多层隐(层)节点。当有信息向网络输入时,信息首先由输入层传递到隐层节点,经激励函数 (人工神经元)作用后,再传至下一隐层。这样一层一层传递下去,直到最终传至输出节点层进行输出。其间各层的激励函数要求是可微的,一般是选用S型函数。

BP学习算法的核心是通过一边向后传播误差,一边修正误差的方法来不

断调节网络参数(权,阀值),以实现或逼近所希望的输入输出映射关系。它对每一个训练进行两趟传播计算;

? 前向计算――从输入层开始向后逐层计算输出,产生最终输出,并计算实际输出与目标输出间的误差;

? 反向计算――从输出层开始向前逐层传播误差信号,修正权值,直到误差小于给定值。

24

人工神经网络在证券市场中的应用研究

BP算法的学习目的是对网络的的连接权值进行调整,使得调整后的网络对任一输入都能得到所期望的输出。学习过程由正向传播和反向传播组成。正向传播用于对前向网络进行计算,即对某一种输入信息,经过网络计算求出它的输出结果;反向传播用于逐层传递误差,修改神经元间的连接权值,以使网络对输入信息经过计算后所得到的输出能达到期望的误差要求。学习的方法是使用一组训练样例对网结的连接权值进行训练,每一个样例中,都包括输入及期望的输出两部分。在正向传播过程中,首先将训练样例的输入信息输入到网络中,输入信息从输入层经隐层节点逐层计算处理后,传到输出层。在计算处理过程中,每一层神经元的状态只影响下一层神经元的状态,如果在输出层得到的结果不是所期望的输出,那么就转为反向传播。反向传播把误差信号沿原路径返回,并按一定的原则对各层神经元的连接仅值进行适当修改,直至第一个隐层,这时再开始进行正向传播,利用刚才的输入信息迸行正向网络计算,如果网络的输出达到了误差要求,则学习过程结束,如果达不到误差要求,则再进行反向传播的连接权值调整。这一过程不断反复,直到网络正向计算的输出结果达到误差要求为止,这时学习过程就告结束。一旦网络进行训练之后,在用于求解实际问题时就只须使用正向传播,而不需要再进行反向传播了。

BP算法的学习过程简述如下:

(1) 选择一组训练样例,每一个样例由输入信息和期望的输出结果两部分组成。 (2) 从训练样例集中取一样例,把输入信息输入到网络中。 (3) 分别计算经神经元处理后的各层节点的输出。 (4) 计算网络的实际输出和期望输出的误差。

(5) 从输出层反向计算到第一个隐层,并按照某种能使误差向减小方向发展的原则,调整网络中各神经元的连接权值。

(6) 对训练样例集中的每一个样例重复(3)一(5)的步骤,直到对整个训练样例集的误差达到要求时为止。

3.2 BP算法的数学推导

25

人工神经网络在证券市场中的应用研究

在以上的学习过程中,第(5)步是最重要的,如何确定一种调整连接权值

的原则,使误差沿着减小的方向发展,是BP学习算法必须解决的问题。下面是详细的数学推导:

设0i是BP网络中节点[神经元]i的输出, Ij是结点j的输入,Wij是从节点

i到节点j的连结权值,而yk和yk’ 则分别是BP网络输出层上的节点K的实际输出和期望输出。

所以,对于节点j,如果节点i是它的上层节点,并且i连接到j,则 Ij??WijOi (5.1)

i Oj?f(Ij) (5.2) 这里函数f(x)是节点j的激励函数。激励函数一般选为Sigmod函数

f(x)?s(x)?或选为双曲正切函数

ex?e?xf(x)?tan(x)?x?x.

e?e1 1?e?x如为Sigmod函数,则f'(x)?s'(x)?s(x)[1?s(x)].

为了对前向多层人工神经网络中,各人工神经元的连接权值通过学习的

方法进行确定,首先定义一个期望误差函数,我们所求得的各连接权值就是要使该期望误差函数的值趋于零,当然这种期望误差函数可以有各种各祥的定义方法,不同的定义方法对网络推理计算的误差要求不同,因而可能得到的网络推理性能也就不同,这里我们定义期望误差函数如下:

E?

如果我们再定义Wjk(t)和Wjk(t+1)分别表示节点j到节点k在t时刻和t十1时刻的连接权值,而?Wjk为该连接权值从t时刻到t+1时刻的变化量,则有: Wjk(t?1)?Wjk(t)??Wjk (5.4) BP学习算法的主要功能就是对网络中各连接权值进行修正,以使网络在性能上达到误差要求。因此,求取从t时刻到t+1时刻各连接权值的变化量?Wjk,就是学习算法的关键所在。那么如何求?Wjk 呢?

12(yk'?yk) (5.3) ?2k26

人工神经网络在证券市场中的应用研究

为了使网络的输出误差快速减小,在对节点j和k的连拄权值Wjk修正时,采用梯度法,使期望误差e沿着梯度变化方向得以改善,也就要求Wjk的变化应当与e对Wjk的负偏导数成正比。即 ?Wjk???e (5.5) ?Wjk?e (5.6) ?Wjk如果设β为比例因子,也称学习因子。则有 ?Wjk???由于Ij??WijQi, 即Ik 又是Wjk的函数,所以由微分连锁法得:

i ?Wjk????e?e?Ik???? (5.7) ?Wjk?Ik?Wjk?e?Ik和即?Ik?Wjk由此式可以看出,要求出连接权值的变换量?Wjk ,只要求出可。

(1) 先来看如何计算

?Ik.由于Ik??WjkOj,故有: ?Wjkj?Ik??WjkOj?Oj (5.8) ??Wjk?Wjkj(2) 再看如何计算

?e?e。这要分两种情况进行考虑:首先令?k?,则 ?Ik?Ik第一种情况:若结点k是输出层上的节点,即Ok?yk,则:

?k??e?e?yk? ?Ik?yk?Ik?yk?e?f'(Ik) ??(yk'?yk) ?Ik?yk ??k??e??(yk'?yk)f'(Ik) (5.9) ?Ik第二种情况:若节点k不是输出层上的节点,这就表示连接权值是作用于隐层上的节点。这时,

?k??e?e?Ok?e??f'(Ik) (5.10) ?Ik?Ok?Ik?Ok27

人工神经网络在证券市场中的应用研究

由于

?e是一个隐函数求导问题,比较复杂,这里就不再推导。直接给?Ok出结果:

?e???mWkm (m为与k层相邻的上层节点) (5.11) ?Okm因此, 将式(6.4.13)代入(6.4.12) 得:

?k??e?f'(Ik)??mWkm (5.12) ?Ikm?e?Ik和(即?k)两项之后,将式(5.8)、(5.9) 和?Ik?Wjk在求出

(5.12)代入式(5.7),得到连接权值的修正公式如下:

Wjk????e?Ik?????kOj (5.13) ?Ik?Wjk这里

??(y'k?yk)f'(Ik)当k是输出层节点???k??f'(Ik)?mWkm (5.14) ??当k是隐层节点m??式 (5.14)就是式(5.9)和(5.12)的合并书写形式。所以,对任意训练集中的训练样例,按上述公式进行各连接权值的修正,将尽快使学习算法收敛。 这里要指出的是在式(5.14)中,若节点k是内层隐层节点时,δk的计算是通过相邻上一层节点值来计算的。这样就可以利用该式的前半部分首先计算出输出层上各节点的δk值,然后再利用该式的后半部分计算各较低隐层上的节点之δk值,每个较低隐层上节点的δk值之计算,都要用到它的相邻的上一层节点之δ值。

28


赵果林——人工神经网络在证券市场中的应用研究(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于基层司法行政工作情况的调研报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: