单隐层BP神经网络推导

单隐层BP神经网络推导

标签:神经网络

今天重新提到了多隐层神经网络,虽然还是挺简单的,但是突然发现没有理解。遂决定整理一下上学期学习的单隐层神经网络,再看看和多隐层BP有什么区别。

符号定义

  • 输入向量:n维向量X
  • 隐层输出向量:m维向量Y
  • 输出向量:l维向量O
  • 期望输出向量:l维向量d
  • 输入层和隐层间权重矩阵V
  • 隐层和输出层间权重矩阵W

神经网络激活函数

定义 f ( x ) = 1 1 + e − x f(x)=\frac{1}{1+e^{-x}} f(x)=1+ex1为激活函数

其中输出向量的值为前一层输出向量的加权和 o k = f ( n e t k ) , n e t k = ∑ j = 0 m ( w j k ∗ y j ) , k = 1 , 2 , . . . , l o_k=f(net_k),net_k=\sum_{j=0}^{m}(w_{jk}*y_j),k=1,2,...,l ok=f(netk),netk=j=0m(wjkyj),k=1,2,...,l

隐层输出向量的值为输入向量的加权和 y j = f ( n e t j ) , n e t j = ∑ i = 0 n ( v i j ∗ x i ) , j = 1 , 2 , . . . , m y_j=f(net_j),net_j=\sum_{i=0}^{n}(v_{ij}*x_i),j=1,2,...,m yj=f(netj),netj=i=0n(vijxi),j=1,2,...,m

定义误差 E = 1 2 ( d − O ) 2 = 1 2 ∑ k = 1 l ( d k − O k ) 2 E=\frac{1}{2}(d-O)^2=\frac{1}{2}\sum_{k=1}^{l}(d_k-O_k)^2 E=2

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
BP神经网络推导公式是基于反向传播算法的。首先,我们需要定义代价函数,通常使用平方误差函数作为代价函数。然后,通过梯度下降算法来最小化代价函数,从而求得最优的权重和偏置值。具体推导过程如下: 1. 前向传播: a. 输入层:将输入样本数据传递给第一个隐藏层; b. 隐藏层:根据输入数据和权重、偏置值进行加权求和,并通过激活函数(如Sigmoid函数)进行非线性映射; c. 输出层:将隐藏层的输出数据传递给输出层,并使用输出层的激活函数(如Sigmoid函数或线性函数)进行非线性映射。 2. 反向传播: a. 计算输出层的误差:根据代价函数对输出层的输出值进行求导,得到输出层的误差; b. 传播误差至隐藏层:根据输出层的误差以及权重值,逐层反向计算隐藏层的误差; c. 更新权重和偏置值:根据误差和梯度下降算法,更新权重和偏置值。 推导公式具体如下: 1. 计算输出层的误差: δL = (aL - y) * f'(zL) 其中,δL表示输出层的误差,aL表示输出层的输出值,y表示样本的真实值,f'表示输出层激活函数的导数,zL表示输出层的加权求和值。 2. 传播误差至隐藏层: δl = (W(l+1) * δ(l+1)) ⊙ f'(zl) 其中,δl表示第l层隐藏层的误差,W(l+1)表示第l+1层到第l层的权重矩阵,⊙表示元素级别的乘法,f'表示隐藏层激活函数的导数,zl表示第l层的加权求和值。 3. 更新权重和偏置值: ΔW(l) = α * δ(l+1) * a(l)^T Δb(l) = α * δ(l+1) 其中,ΔW(l)表示第l层到第l+1层的权重矩阵的更新值,Δb(l)表示第l层到第l+1层的偏置值的更新值,α表示学习率,a(l)表示第l层的输出值。 以上就是BP神经网络推导公式

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值