从零开始学习深度学习第二课:五分钟掌握BP算法


BP算法的推导


上一周我给大家带来了开发环境的部署,这一周我来给各位刚开始学习深度学习的人带来了核心算法BP算法的详细推导过程BP算法是在深度学习领域经常用到的算法,学好了BP算法会发现之后的卷积也就那么回事。
我看了大量的关于BP算法的博客,发现一个弊端,不同的人写的推导过程有差异,而同一个人写的又不能完全看懂,而我今天给大家带来的,只需要你五分钟便可以掌握BP算法!但是在此之前大家要先了解一下神经网络的基本结构,这一部分内容我会在下次博客里面进行补充
在这里插入图片描述
这是一个比较简单的神经网络了吧,一个输入层,一个隐藏层,一个输出层。X代表输入的特征,W代表每个数据的权重,b代表偏置
接下来来看看BP算法吧
这是我用mathtype写出来的BP算法

在此之前在接下来的BP算法中:
我们要用到一个叫做激活函数的东西,激活函数说简单点就是为了解决非线性分类的问题(这里大家不是很理解也没关系不影响后面学习)
常用的激活函数有:
tanh 双曲正切函数
在这里插入图片描述
求导也比较简单,中间一段变化较快,可以更快的训练模型,但是在两边变化率几乎为零
它的图像为:
在这里插入图片描述
sigmoid S型函数:
在这里插入图片描述
其值在 0-1之间并且求导比较简单,具有连续变化的特点
函数图像为:
在这里插入图片描述
还有其他的一些函数比如softmax函数,sign函数等等这里就不一 一介绍了,我们这里选择sigmoid函数作为激活函数
在这里插入图片描述
这里面涉及一些我还没有给大家提到过的东西,在下一次的博客我会为大家补上,或者大家可以先去其他地方了解一下这里我简单给大家提一下:
1.神经网络的基本结构(三层:输入层,隐藏层,输出层)
2. 链式求导(将原式子化为多个式子相乘)
3. 梯度(求偏导既为函数下降的方向)
4. 梯度下降的步长(既下降一次下降多少)
5. 激活函数:大家可能不怎么明白激活函数是怎么回事,这次博客我也没有详细介绍,说明白一点就是在隐藏层把加权求和加偏置得到的结果再进行一次非线性计算,为的是能更好地为非线性问题分类。上文我列举了两类常用激活函数,其他的激活函数大家可以下去了解一下,大家只要明白激活函数用来干嘛,在哪工作就行。
6. 损失函数:用来刻画通过模型预测得到的结果与真实值之间的差距,一般的损失函数有:均方误差还有交叉熵
说简单一点BP算法就是对W和b进行一次次的优化,也就是求偏导,求梯度。

欢迎大家留言:
如果大家觉得这一次博客里面用到的一些概念比如神经网路的基本结构,激活函数还有损失函数不明白的,觉得有必要讲解的话,那么我就单独写一次博客为大家讲解。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值