神经网络反向传播算法(BP)
前面讲了神经网络的前向传播算法,下面再对反向传播算法进行总结。
反向传播算法也称为误差逆传播(error BackPropagation),是指基于梯度下降对神经网络的损失函数进行迭代优化求极小值的过程,它不仅可应用于前馈神经网络,还可以用于其他类型的神经网络。需要注意的是,大家提及到的“BP网络”,通常是指用BP算法训练的前馈神经网络。
神经网络反向传播工作原理
首先,定义神经网络的损失函数。神经网络的损失函数有很多,这里采用平方误差来度量。对于单个样品输出层的参数,损失函数可表示为:
假设我们有m个样品,则总体的损失函数为:
接下来,求参数
从上面两个偏导数公式中,可看到求参数
对于输出层
对于
将公式1-4、1-5和1-6结合起来,就可以求出来每层的参数
将反向传播算法的矩阵形式进行总结如下:
1. 执行前馈传递,分别计算
2. 对于输出层
3. 对于
4. 对
反向传播算法具体步骤
1)初始化各隐藏层与输出层的权重
2)for 样品
a.首先执行前馈传播,分别计算
b.通过损失函数计算输出层
c.对于
3)分别对每一层的
4)如果所有的
参考资料
1. Neural Networks and Deep Learning by By Michael Nielsen
2. 刘建平Pinard博客https://www.cnblogs.com/pinard/p/6422831.html
3. 周志华《西瓜书》
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人