简单阐述一下BP的过程

1.基本概念
BP(Back Propogation)算法是一种最有效的学习方法,主要特点是信号前向传递,而误差后向传播,通过不断调节网络权重值,使得网络的最终输出与期望输出尽可能接近,以达到训练的目的。前向过程中通过与正确标签计算损失,反向传递损失,更新参数,优化至最后的参数。
一个两层的神经网络。其中xxx是网络的输入,yyy是网络的输出,www是网络学习到的参数。"
在这里插入图片描述

“在这里,www的值就是我们需要更新的目标,但是我们只有一些xxx与跟它对应的真实y=f(x)y=f(x)y=f(x)的值,所以呢?我们需要使用这两个值来计算www的值了,整个问题就转变成了下面的优化问题了,也就是我们需要求函数的最小值。
在这里插入图片描述
在实际中,这类问题有一个经典的方法叫做梯度下降法。意思是我们先使用一个随机生成的www,然后使用下面的公式不断更新www的值,最终逼近真实效果。
在这里插入图片描述
这里www 是一个随机初始化的权重,∂E∂w\frac{\partial E}{\partial w}wE是表示当前误差对权重www的梯度。η\etaη是表示的学习率,通常不会很大,都是0.01以下的值,用来控制更新的步长。

  1. BP基础之链式求导若y=g(x)y=g(x)y=g(x),那么z=h(x)z=h(x)z=h(x),其中 。其中dydx=g′(x),dzdy=f′(y)\frac{d y}{d x}=g^{\prime}(x), \frac{d z}{d y}=f^{\prime}(y)dxdy=g(x),dydz=f(y)

当我们需要求zzzxxx的导数dzdx\frac{d z}{d x}dxdz就需要使用链式求导了。根据我们之前学过的知识:
h′(x)=dzdx=dzdy⋅dydxh^{\prime}(x) =\frac{dz}{dx} =\frac{dz}{dy}· \frac{dy}{dx}h(x)=dxdz=dydzdxdy
这里说的都还是以单变量作为例子,实际中,多维变量就是变成了求偏导数了。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值