BP神经网络概念

B P BP BP神经网络

1.激活函数

​ 激活函数(Activation Function)是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。激活函数对于人工神经网络模型去学习、理解复杂的非线性函数,具有十分重要的作用。

​ 如果不使用激活函数,每一层输出都是上一层输入的线性运算,无论神经网络有多少层,最终的输出只是输入的线性组合,相当于感知机。如果使用了激活函数,将非线性因素引入到网络中,使得神经网络可以任意逼近任何非线性函数,能够应用到更多的非线性模型。

常用的激活函数

s i g m o i d sigmoid sigmoid 函数

S i g m o i d Sigmoid Sigmoid函数是一个在生物学中常见的S型函数,也称为S型生长曲线。在信息科学中,由于其单增以及反函数单增等性质,Sigmoid函数常被用作神经网络的阈值函数,将变量映射到0,1之间,公式如下:
f ( x ) = 1 1 + e ( − x ) f(x)=\frac{1}{1+e^{(-x)}} f(x)=1+e(x)1
sigmoid

R e L U ReLU ReLU函数

R e l u Relu Relu激活函数(The Rectified Linear Unit),用于隐藏层的神经元输出。公式如下:
f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)
ReLU

T a n h Tanh Tanh 函数

T a n h Tanh Tanh 是双曲函数中的一个, T a n h ( ) Tanh() Tanh() 为双曲正切。在数学中,双曲正切“ T a n h Tanh Tanh”是由基本双曲函数双曲正弦和双曲余弦推导而来。公式如下:
f ( x ) = e x − e − x e x + e − x f(x)=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}} f(x)=ex+exexex
s o f t m a x softmax softmax 函数

s o f t m a x softmax softmax 函数用于输出层。假设输出层共有 n n n 个神经元,计算第 k k k 个神经元的输出 y k y_k yk s o f t m a x softmax softmax 函数的分子是输入信号 a k a_k ak 的指数函数,分母是所有输入信号的指数函数的和。 s o f t m a x softmax softmax 函数公式如下:
y k = e a k ∑ i = 1 n e a i y_{k}=\frac{e^{a_{k}}}{\sum_{i=1}^{n} e^{a_{i}}} yk=i=1neaieak

2.神经网络结构

​ 第0层是输入层(2个神经元),第1层是隐含层(3个神经元),第2层是隐含层(2个神经元),第3层是输出层。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AGL2dpd5-1595410823549)(/前向传播.png)]

符号约定

w j k [ l ] w_{j k}^{[l]} wjk[l]表示从网络第 ( l − 1 ) t h (l-1)^{t h} (l1)th 层第 k t h k^{t h} kth 个神经元指向第 l t h l^{t h} lth 层第 j t h j^{t h} jth 个神经元的连接权重,同时也是第 l l l 层权重矩阵第 j j j 行第 k k k 列的元素。例如,上图中 w 21 [ 1 ] w_{21}^{[1]} w21[1] ,第0层第1个神经元指向第1层第2个神经元的权重(褐色),也就是第 1 层权重矩阵第 2 行第 1 列的元素。同理,使用 b j [ l ] b_{j}^{[l]} bj[l] 表示第 l t h l^{t h} lth 层第 j t h j^{t h} jth 个神经元的偏置 ,同时也是第 l l l 层偏置向量的第 j j j 个元素。使用 z j [ l ] z_{j}^{[l]} zj[l] 表示第 l t h l^{t h} lth 层第 j t h j^{t h} jth 个神经元的线性结果,使用 a j [ l ] a_{j}^{[l]} aj[l] 来表示第 l t h l^{t h} lth 层第 j t h j^{t h} jth 个神经元的激活函数输出。其中,激活函数使用符号σ表示,第 l t h l^{t h} lth 层中第 j t h j^{t h} jth 个神经元的激活为:

a j [ l ] = σ ( z j [ l ] ) = σ ( ∑ k w j k [ l ] a k [ l − 1 ] + b j [ l ] ) a_{j}^{[l]}=\sigma(z_{j}^{[l]})=\sigma\left(\sum_{k} w_{j k}^{[l]} a_{k}^{[l-1]}+b_{j}^{[l]}\right) aj[l]=σ(zj[l])=σ(kwjk[l]ak[l1]+bj[l])
w [ l ] w^{[l]} w[l] 表示第 l l l 层的权重矩阵, b [ l ] b^{[l]} b[l] 表示第 l l l 层的偏置向量, a [ l ] a^{[l]} a[l] 表示第 l l l 层的神经元向量,结合上图讲述:

w [ 1 ] = [ w 11 [ 1 ] w 12 [ 1 ] w 21 [ 1 ] w 22 [ 1 ] w 31 [ 1 ] w 32 [ 1 ] ] w^{[1]}=\left[\begin{array}{lll}w_{11}^{[1]} & w_{12}^{[1]} & \\ w_{21}^{[1]} & w_{22}^{[1]} & \\ w_{31}^{[1]} & w_{32}^{[1]}\end{array}\right] w[1]=w11[1]w21[1]w31[1]w12[1]w22[1]w32[1] w [ 2 ] = [ w 11 [ 2 ] w 12 [ 2 ] w 13 [ 2 ] w 21 [ 2 ] w 22 [ 2 ] w 23 [ 2 ] ] w^{[2]}=\left[\begin{array}{lll}w_{11}^{[2]} & w_{12}^{[2]} & w_{13}^{[2]} \\ w_{21}^{[2]} & w_{22}^{[2]} & w_{23}^{[2]}\end{array}\right] w[2]=[w11[2]w21[2]w12[2]w22[2]w13[2]w23[2]]

b [ 1 ] = [ b 1 [ 1 ] b 2 [ 1 ] b 3 [ 1 ] ] b^{[1]}=\left[\begin{array}{l}b_{1}^{[1]} \\ b_{2}^{[1]} \\ b_{3}^{[1]}\end{array}\right] b[1]=b1[1]b2[1]b3[1] b [ 2 ] = [ b 1 [ 2 ] b 2 [ 2 ] ] b^{[2]}=\left[\begin{array}{l}b_{1}^{[2]} \\ b_{2}^{[2]}\end{array}\right] b[2]=[b1[2]b2[2]]

进行线性矩阵运算。

z [ 1 ] = [ w 11 [ 1 ] w 12 [ 1 ] w 21 [ 1 ] w 22 [ 1 ] w 31 [ 1 ] w 32 [ 1 ] ] ⋅ [ a 1 [ 0 ] a 2 [ 0 ] ] + [ b 1 [ 1 ] b 2 [ 1 ] b 3 [ 1 ] ] = [ w 11 [ 1 ] a 1 [ 0 ] + w 12 [ 1 ] a 2 [ 0 ] + b 1 [ 1 ] w 21 [ 1 ] a 1 [ 0 ] + w 22 [ 1 ] a 2 [ 0 ] + b 2 [ 1 ] w 31 [ 1 ] a 1 [ 0 ] + w 32 [ 1 ] a 2 [ 0 ] + b 3 [ 1 ] ] z^{[1]}=\left[\begin{array}{lll}w_{11}^{[1]} & w_{12}^{[1]} & \\ w_{21}^{[1]} & w_{22}^{[1]} & \\ w_{31}^{[1]} & w_{32}^{[1]}\end{array}\right] \cdot\left[\begin{array}{c}a_{1}^{[0]} \\ a_{2}^{[0]}\end{array}\right]+\left[\begin{array}{l}b_{1}^{[1]} \\ b_{2}^{[1]} \\ b_{3}^{[1]}\end{array}\right]=\left[\begin{array}{c}w_{11}^{[1]} a_{1}^{[0]}+w_{12}^{[1]} a_{2}^{[0]}+b_{1}^{[1]} \\ w_{21}^{[1]} a_{1}^{[0]}+w_{22}^{[1]}a_{2}^{[0]}+b_{2}^{[1]} \\ w_{31}^{[1]}a_{1}^{[0]}+w_{32}^{[1]}a_{2}^{[0]}+b_{3}^{[1]}\end{array}\right] z[1]=w11[1]w21[1]w31[1]w12[1]w22[1]w32[1][a1[0]a2[0]]+b1[1]b2[1]b3[1]=w11[1]a1[0]+w12[1]a2[0]+b1[1]w21[1]a1[0]+w22[1]a2[0]+b2[1]w31[1]a1[0]+w32[1]a2[0]+b3[1]

矩阵形状 (3,2) (2,1) (3,1) (3,1)

z [ 2 ] = [ w 11 [ 2 ] w 12 [ 2 ] w 13 [ 2 ] w 21 [ 2 ] w 22 [ 2 ] w 23 [ 2 ] ] ⋅ [ a 1 [ 1 ] a 2 [ 1 ] a 3 [ 1 ] ] + [ b 1 [ 2 ] b 2 [ 2 ] ] = [ w 11 [ 2 ] a 1 [ 1 ] + w 12 [ 2 ] a 2 [ 1 ] + w 13 [ 2 ] a 3 [ 1 ] + b 1 [ 2 ] w 21 [ 2 ] a 1 [ 1 ] + w 22 [ 2 ] a 2 [ 1 ] + w 23 [ 2 ] a 3 [ 1 ] + b 2 [ 2 ] ] z^{[2]}=\left[\begin{array}{ccc}w_{11}^{[2]} & w_{12}^{[2]} & w_{13}^{[2]} \\ w_{21}^{[2]} & w_{22}^{[2]} & w_{23}^{[2]}\end{array}\right] \cdot\left[\begin{array}{c}a_{1}^{[1]} \\ a_{2}^{[1]} \\ a_{3}^{[1]}\end{array}\right]+\left[\begin{array}{c}b_{1}^{[2]} \\ b_{2}^{[2]}\end{array}\right]=\left[\begin{array}{c}w_{11}^{[2]} a_{1}^{[1]}+w_{12}^{[2]} a_{2}^{[1]}+w_{13}^{[2]} a_{3}^{[1]}+b_{1}^{[2]} \\ w_{21}^{[2]} a_{1}^{[1]}+w_{22}^{[2]} a_{2}^{[1]}+w_{23}^{[2]} a_{3}^{[1]}+b_{2}^{[2]}\end{array}\right] z[2]=[w11[2]w21[2]w12[

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: BP神经网络是一种常见的人工神经网络,使用反向传播算法进行训练和预测。它具有很强的适应性和普适性,被广泛应用于分类、回归、聚类等各种任务中。 MATLAB是一种常用的科学计算软件,其具有强大的数学、统计和机器学习工具箱。通过MATLAB可以方便地实现BP神经网络的模型构建、训练、预测和评估。 BP神经网络MATLAB PDF是一种教程资料,旨在帮助用户快速掌握使用MATLAB实现BP神经网络的技能。它包含了BP神经网络的理论原理、MATLAB函数的使用方法、案例分析等内容,具有较高的实用性和可操作性。 通过学习BP神经网络MATLAB PDF,用户可以了解BP神经网络的基本概念和结构,掌握MATLAB实现BP神经网络的流程和技巧,以及了解BP神经网络在各种任务中的应用情况。这对于研究人员、工程师和学生等,都具有重要的意义。 总之,BP神经网络MATLAB PDF是BP神经网络和MATLAB相结合的教程资料,通过学习和实践,可以帮助用户快速掌握BP神经网络的理论和应用,实现各种机器学习任务。 ### 回答2: BP神经网络是一种人工神经网络模型,通过反向传播算法来训练网络并进行分类或者回归预测。Matlab是一种数据分析和处理的工具,也是初学者和研究者常用的编程语言之一。 BP神经网络与Matlab的结合,可以帮助用户更加高效地进行建模和数据处理。例如,使用Matlab可以方便地对数据进行预处理、可视化和分析,然后将处理好的数据输入到BP神经网络中进行训练。同时,Matlab也提供了丰富的函数库和工具,可以简化BP神经网络的搭建和训练过程。 PDF是一种跨平台的文档格式,可以方便地在不同操作系统和设备上进行查看和共享。许多基于Matlab的BP神经网络教程和资料都提供了PDF格式的文档,可以供用户下载和学习。 综上所述,BP神经网络Matlab PDF为学习和实践BP神经网络提供了很大的帮助。通过使用Matlab和PDF文档,用户可以更加高效地进行建模和数据处理,并且能够在不同的设备和环境下进行学习和交流。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值