(学习笔记)神经网络--------BP算法

作为深度学习领域的一个重要算法,BP算法为神经网络中权值计算找出最优权值值

BP算法优缺点

优点:

  1. 自适应,自主学习.通过不断的参数更新找出最适宜的权值
  2. 非线性映射
    缺点:
  3. 参数过多时,每次更新都需要操作过多权值,导致收敛速度慢
  4. 容易陷入局部最小值

BP算法主要组成

  1. 正向传播
  2. 逆向传播

正向传播

首先,我们要根据设计好的神经网络图来对参数进行正向传播,这里使用341的神经网络来作为例子

1.向隐藏层的正向传播
在这里插入图片描述
在这里插入图片描述

以此类推,我们相继求出h1,h2,h3和h4
(这里注意两个地方,一是b1和b2是偏置值,因此数据为1.二是权值总共有(3+1)*4=16个,因此要设16个权值,并不是只有v1到v4

2.向输出层的正向传播
在这里插入图片描述
在这里插入图片描述

由此,就完成了一次正向的传播

反向传播

反向传播的核心思想在于对误差进行权值的求偏导,找出权值为何值的时候误差最小

首先找出误差值
在这里插入图片描述

现在,我们要分析的问题是:error为何值时,权值最小,这里用求w1何值时最小来作为例子
在这里插入图片描述
在这里插入图片描述

这里的out2就是o1
因此,我们分类求出这三个值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

现在,我们整合这三个式子
在这里插入图片描述

现在,我们找到了误差权值和最适权值的变化范围,直接更新

在这里插入图片描述

用同样的方法,找出w2,w3,w4,w5的最适权值,向隐藏层的一次反向传播就到此结束,但并不意味着找到了最适,我们还需要多次的反向传播,才能确定出最合适的权值

现在,我们要分析的问题是:error为何值时,权值最小,这里用由w1求v1何值时最小来作为例子
在这里插入图片描述
在这里插入图片描述

由于上面已经求出error关于net2偏导,这里不过多叙述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
用同样的方法,找出v1,v2,v3,v4的最适权值,向输入层的一次反向传播就到此结束,但并不意味着找到了最适,我们还需要多次的反向传播,才能确定出最合适的权值


实战案例

鸢尾花数据python-Numpy实现BP算法

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值