BP算法的基本原理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

BP 算法的基本原理

典型的BP 网络分为三层(图4.4),即输入层、隐含层和输出层。其算法主要由以下四部分组成,即模式顺传播——误差逆传播——记忆训练——学习收敛。

1. 模式顺传播

设 样本输入向量1(,...,)k n A a a =,输出向量1(,...,)k q Y y y = 中间单元的输入向量1(,...,)k p S s s =,输出向量1(,...,)k p B b b = 输出层的输入向量1(,...,)k q L l l =,输出向量1(,...,)k q C c c = 其中,1,2,...,k m =,为样本数。

输入层到中间层的权{}ij w ,1,2,...,i n =,1,2,...,j p = 中间层到输出层的权{}jt v ,1,2,...,j p =,1,2,...,t q =

中间层阈值{}j θ,1,2,...,j p = 输出层阈值{}t γ,1,2,...,t q =

n p

q

中间层输入:1

n

k

j

ij i j i S w a θ==-∑,输出:1()1k j

k k

j j S b f S e -==

+,1,2,...,j p =

输出层输入:1

p

k

j

jt j t j L v b γ==-∑,输出:1()1k t

k k t t L C f L e

-==

+,1,2,...,t q =

2. 误差的逆传播

根据输出层产生的误差,经中间层向输入层传播,在这个过程中,按照梯度下降原则对各层的权值和阈值进行误差校正。 (1) 输出层计算: 权值调整量计算:

第k 模式(样本)下,网络的输出误差的均方值为,

21()/2q

k k k t t t E y C ==-∑

因为,

()k k k k t t t t E y C C δ∂=--=-∂,()(1)k k k t j t t j jt t jt

C C L

f L b C C b v L v ∂∂∂'===-∂∂∂ 所以,

(1)k k k k

t t t j jt t jt

E E C C C b v C v δ∂∂∂==--∂∂∂ 上式即为权值变化对均方值误差的影响程度,按梯度下降原则应使权值调整量jt v ∆与k

jt

E v ∂∂的负值成比例变化,即

(

)(1)k k k

jt t t t j t j jt

E v C C b d b v ααδα∂∆=-=--=∂ 其中,(0,1)α∈,1,2,...,t q =,1,2,...,j p =。

阈值调整量计算: 因为,

()(1)(1)(1)k k k k k t t

t t t t t t t t t t

E E C L f L C C d C L δδγγ∂∂∂∂'==--=---=∂∂∂∂ 所以,按照梯度下降原则,可得到输出层各单元的阈值调整量为:

(

)k k

t t t

E d γααγ∂∆=-=-∂ (2) 中间层到输入层计算: 权值调整量计算:

111

()((1))(1)())(1)q

j j

k k t t t ij t t t j ij

q

k t t t jt j j i

t q

k t jt j j i

t j i

b S E E C L w C L b S w C C v b b a d v b b a e a δ===∂∂∂∂∂∂=∂∂∂∂∂∂=---=--=-∑∑∑

按照梯度下降原则,可得到连接权值的调整量为:

(

)k

ij j i ij

E w e a w ββ∂∆=-=∂ 阈值调整量计算:

111

()((1))(1)(1)

()(1)(1)

q

j j

k k t t t j t t j j j

q

k t t t jt j j t q

k t jt j j t j

b S E E C L C L b S C C v b b d v b b e θθδ===∂∂∂∂∂∂=∂∂∂∂∂∂=----=---=∑∑∑

按照梯度下降原则,可得到输出层各单元的阈值调整量为:

(

)k

j j j

E e θββθ∂∆=-=-∂ 以上的推导是标准误差逆传播算法,即各连接权的调整量是分别与各个学习模式对的误差E k 成比例变化的。而相对于全局误差1m

k k t E E ==∑的连接权调整,是在所有m 个学习模式全

部提供给网络后统一进行的,这种算法是累积误差逆传播算法。一般来讲,当样本较少时,累积误差传递算法要比标准误差传递算法速度快一点。 3. 记忆训练

给出一组样板反复进行学习,调整权值和阈值的大小以使输出值满足一定的精度要求。 4. 学习收敛

经过多次训练以后,网络的全局误差趋向于最小值。

由于BP 算法采用了按误差函数梯度下降的方向进行收敛,因此,可能使迭代陷入局部极小点,BP 网络收敛依赖于样本的初始位置,适当改变隐层单元个数,或给每个权值加上一个很小的随机数,都可使收敛过程避免局部极小点。

二. BP 网络的解析步骤

标准误差逆传播算法按照以下步骤进行计算: (1) 初始化

给权值{}ij w 、{}jt v 和阈值{}j θ、{}t γ赋予(-1, 1)之间的随机值。 (2) 随机取一对样本对网络进行训练 (3) 计算中间层的输入/出

输入:1n

j ij i j i S w a θ==-∑,输出:1()1j

j j S b f S e

-==

+

(4) 计算输出层的输入/出

输入:1p

j jt j t j L v b γ==-∑,输出:1()1t

t t L C f L e

-==

+

(5) 计算输出层的一般误差

()(1)k k t t t t t d y C C C =--

(6) 计算中间层的一般误差

1()(1)q

k j t jt j j t e d v b b ==⋅-∑

(7) 修改输出层的权值和阈值

(1)()k jt jt t j v N v N d b α+=+

(1)()()k jt jt t N N d γγα+=+-

(8) 修正隐层的权值和阈值

(1)()ij ij j i w N w N e a β+=+

(1)()()j j j N N e θθβ+=+-

(9) 取下一对样本返回(3)开始训练,直到m 个样本训练结束

(10) 判断全局误差是否小于预定值,否则,回到(2)重新进行训练,直到满足要求或达到预定训练次数,停止训练。

相关文档
最新文档