BP网络算法的基本思想及算法流程 您所在的位置:网站首页 描述算法的基本设计思想 BP网络算法的基本思想及算法流程

BP网络算法的基本思想及算法流程

2024-05-29 11:54| 来源: 网络整理| 查看: 265

网络的构成 神经元的网络输入:

n e t i = x 1 w 1 i + x 2 w 2 i + . . . + x n w n i net_i=x_1w_{1i}+x_2w_{2i}+...+x_nw_{ni} neti​=x1​w1i​+x2​w2i​+...+xn​wni​

神经元的输出:

o = f ( n e t ) = 1 1 + e − n e t o=f(net)=\frac{1}{1+e^{-net}} o=f(net)=1+e−net1​ f ′ ( n e t ) = − 1 1 + e − n e t ( − e − n e t ) = o − o 2 = o ( 1 − o ) f^{'}(net)=-\frac{1}{1+e^{-net}}(-e^{-net})\\=o-o^2\\=o(1-o) f′(net)=−1+e−net1​(−e−net)=o−o2=o(1−o) 输出函数分析: o = 1 1 + e − n e t o=\frac{1}{1+e^{-net}} o=1+e−net1​

应该将net的值尽量控制在收敛比较快的范围内可以用其他函数作为激活函数,只要该函数处处可导 网络的拓扑结构

在这里插入图片描述

涉及到的参数:输入向量、输出向量的维数、网络隐藏层的层数和各个隐藏层神经元的个数增加隐藏层的层数和隐藏层=神经元个数不一定能够提高网络的精度和表达能力BP网络一般都选用二级网络,如下图所示: 在这里插入图片描述 训练过程

样本:(输入向量,理想输出向量) 权初始化:“小随机数”与饱和状态;“不同”保证网络可以学。

1、向前传播阶段 从样本集中取一个样本 ( X p , Y p ) (X_p,Y_p) (Xp​,Yp​),将 X p X_p Xp​输入网络; 2、计算相应的实际输出 O p O_p Op​: O p = F I ( . . . ( F 2 ( F 1 ( X p W ( 1 ) ) W ( 2 ) ) . . . ) W ( L ) ) O_p=F_I(...(F_2(F_1(X_pW^{(1)})W^{(2)})...)W^{(L)}) Op​=FI​(...(F2​(F1​(Xp​W(1))W(2))...)W(L)) 2、向后传播阶段 1、计算实际输出 O p O_p Op​与相应的理想输出 Y p Y_p Yp​的差;2、按极小化误差的方式调整权矩阵3、网络关于第p个样本的误差测度: E p = 1 2 Σ j = 1 m ( y p j − o p j ) 2 E_p=\frac{1}{2}\Sigma_{j=1}^m(y_{pj}-o_{pj})^2 Ep​=21​Σj=1m​(ypj​−opj​)24、网络关于整个样本集的误差测度: E = Σ p E P E=\Sigma_pE_P E=Σp​EP​ 误差传播分析 1、输出层权的调整

在这里插入图片描述 w p q = w p q + Δ w p q w_{pq}=w_{pq}+\Delta w_{pq} wpq​=wpq​+Δwpq​ Δ = α δ q o p = α f n ′ ( n e t q ) ( y q − o q ) o p = α o q ( 1 − o q ) ( y q − o q ) o p \Delta=\alpha\delta_qo_p\\=\alpha f_n^{'}(net_q)(y_q-o_q)o_p\\=\alpha o_q(1-o_q)(y_q-o_q)o_p Δ=αδq​op​=αfn′​(netq​)(yq​−oq​)op​=αoq​(1−oq​)(yq​−oq​)op​

2、隐藏层的调整

在这里插入图片描述 δ p k − 1 \delta_{pk-1} δpk−1​的值和 δ 1 k , δ 2 k , . . . , δ m k \delta_{1k}, \delta_{2k}, ..., \delta_{mk} δ1k​,δ2k​,...,δmk​有关,可以认为 δ p k − 1 \delta_{pk-1} δpk−1​通过权 w p 1 w_{p1} wp1​对 δ 1 k \delta_{1k} δ1k​做贡献, 通过权 w p 2 w_{p2} wp2​对 δ 2 k \delta_{2k} δ2k​做贡献, …… 通过权 w p m w_{pm} wpm​对 δ m k \delta_{mk} δmk​做贡献。 所以 δ p k − 1 = f k − 1 ′ ( n e t p ) ( w p 1 δ 1 k + w p 2 δ 2 k + . . . + w p m δ m k ) \delta_{pk-1}=f_{k-1}^{'}(net_p)(w_{p1}\delta_{1k}+w_{p2}\delta_{2k}+...+w_{pm}\delta_{mk}) δpk−1​=fk−1′​(netp​)(wp1​δ1k​+wp2​δ2k​+...+wpm​δmk​) v h p = v h p + Δ v h p v_{hp}=v_{hp}+\Delta v_{hp} vhp​=vhp​+Δvhp​ Δ v h p = α δ p k − 1 o h k − 2 = α f k − 1 ′ ( n e t p ) ( w p 1 δ 1 k + w p 2 δ 2 k + . . . + w p m δ m k ) o h k − 2 = α o p k − 1 ( w p 1 δ 1 k + w p 2 δ 2 k + . . . + w p m δ m k ) o h k − 2 \Delta v_{hp}=\alpha\delta_{pk-1}o_{hk-2}\\=\alpha f_{k-1}^{'}(net_p)(w_{p1}\delta_{1k}+w_{p2}\delta_{2k}+...+w_{pm}\delta_{mk})o_{hk-2}\\=\alpha o_{pk-1}(w_{p1}\delta_{1k}+w_{p2}\delta_{2k}+...+w_{pm}\delta_{mk})o_{hk-2} Δvhp​=αδpk−1​ohk−2​=αfk−1′​(netp​)(wp1​δ1k​+wp2​δ2k​+...+wpm​δmk​)ohk−2​=αopk−1​(wp1​δ1k​+wp2​δ2k​+...+wpm​δmk​)ohk−2​

基本的BP算法

样本集: S = ( X 1 , Y 1 ) , ( X 2 , Y 2 ) , . . . , ( X s , Y s ) S={(X_1,Y_1),(X_2,Y_2),...,(X_s,Y_s)} S=(X1​,Y1​),(X2​,Y2​),...,(Xs​,Ys​) 基本思想:

逐一地根据样本 ( X k , Y k ) (X_k,Y_k) (Xk​,Yk​)计算出实际输出 O k O_k Ok​和误差测度 E 1 E_1 E1​,对 W ( 1 ) , W ( 2 ) , . . . , W ( L ) W^{(1)},W^{(2)},...,W^{(L)} W(1),W(2),...,W(L)各做一次调整,重复这个循环,知道 Σ E p < ϵ \Sigma E_p


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有