CV学习笔记-BP神经网络训练实例(含详细计算过程与公式推导)

简介: CV学习笔记-BP神经网络训练实例(含详细计算过程与公式推导)

BP神经网络训练实例

1. BP神经网络

关于BP神经网络在我的上一篇博客《CV学习笔记-推理和训练》中已有介绍,在此不做赘述。本篇中涉及的一些关于BP神经网络的概念与基础知识均在《CV学习笔记-推理和训练》中,本篇仅推演实例的过程。

BP的算法基本思想:


将训练集数据输入到神经网络的输入层,经过隐藏层,最后达到输出层并输出结果,这就是前

向传播过程。

由于神经网络的输出结果与实际结果有误差,则计算估计值与实际值之间的误差,并将该误差

从输出层向隐藏层反向传播,直至传播到输入层;

在反向传播的过程中,根据误差调整各种参数的值(相连神经元的权重),使得总损失函数减

小。

迭代上述三个步骤(即对数据进行反复训练),直到满足停止准则。

2. 训练实例

1. 实例设计

image.png

sigmoid函数是一种激活函数,在笔者上一篇博文《CV学习笔记-推理和训练》中已有介绍,此处不再赘述。

2018122814580746.png

2. 训练过程

1. 前向传播

输入层->隐藏层:

根据网络结构示意图,神经元h1接收前一层i1和i2的加权求和结果作为输入,将此输入用zh1表示,则有

image.png

由于激活函数为sigmoid函数,故而神经元h1的输出ah1为

image.png

同理可得,神经元h2的输出ah2为

image.png

image.png

image.png

同理可以计算出ao2 =0.772928465至此,一个完整的前向传播过程结束输出值为[ 0.751365069 , 0.772928465 ] ,与实际值[ 0.01 , 0.99 ] 误差还比较大,需要对误差进行反向传播,更新权值后重新计算。

2. 反向传播

计算损失函数:

传递误差需要经过损失函数的处理,来估计出合适的传递值进行反向传播并合理的更新权值。

image.png

隐藏层->输出层的权值更新:

2018122814580746.png

image.png

image.png

如果我们将上述的步骤去除具体数值,抽象出来

则得到

image.png

第二行的公式在笔者的上一篇博客中提到过,现作了推导。

image.png

η为学习率,在笔者的上一篇博文《CV学习笔记-推理和训练》中介绍过,不再赘述。

同理,可更新w 6 , w 7 , w 8

image.png

隐藏层->隐藏层的权值更新:

2018122814580746.png

image.png

同理可得:

image.png

两者相加得:

image.png

image.png

image.png

至此,一次反向传播的过程结束。

训练过程就是这样反复迭代,正向传播后得误差,在反向传播更新权值,再正向传播,这样反复进行,本例再第一次迭代后总误差从0.298371109下降到了0.291027924,在迭代10000次后,总误差降至0.000035085。输出为[0.015912196,0.984065734]


相关文章
|
4月前
|
机器学习/深度学习 PyTorch 算法框架/工具
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
这篇文章介绍了如何使用PyTorch框架,结合CIFAR-10数据集,通过定义神经网络、损失函数和优化器,进行模型的训练和测试。
264 2
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
|
2天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
|
2月前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
215 80
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于CNN卷积神经网络的金融数据预测matlab仿真,对比BP,RBF,LSTM
本项目基于MATLAB2022A,利用CNN卷积神经网络对金融数据进行预测,并与BP、RBF和LSTM网络对比。核心程序通过处理历史价格数据,训练并测试各模型,展示预测结果及误差分析。CNN通过卷积层捕捉局部特征,BP网络学习非线性映射,RBF网络进行局部逼近,LSTM解决长序列预测中的梯度问题。实验结果表明各模型在金融数据预测中的表现差异。
152 10
|
2月前
|
机器学习/深度学习 算法
基于遗传优化的双BP神经网络金融序列预测算法matlab仿真
本项目基于遗传优化的双BP神经网络实现金融序列预测,使用MATLAB2022A进行仿真。算法通过两个初始学习率不同的BP神经网络(e1, e2)协同工作,结合遗传算法优化,提高预测精度。实验展示了三个算法的误差对比结果,验证了该方法的有效性。
|
3月前
|
机器学习/深度学习 算法 Serverless
基于WOA-SVM的乳腺癌数据分类识别算法matlab仿真,对比BP神经网络和SVM
本项目利用鲸鱼优化算法(WOA)优化支持向量机(SVM)参数,针对乳腺癌早期诊断问题,通过MATLAB 2022a实现。核心代码包括参数初始化、目标函数计算、位置更新等步骤,并附有详细中文注释及操作视频。实验结果显示,WOA-SVM在提高分类精度和泛化能力方面表现出色,为乳腺癌的早期诊断提供了有效的技术支持。
|
2月前
|
机器学习/深度学习 算法 Python
基于BP神经网络的金融序列预测matlab仿真
本项目基于BP神经网络实现金融序列预测,使用MATLAB2022A版本进行开发与测试。通过构建多层前馈神经网络模型,利用历史金融数据训练模型,实现对未来金融时间序列如股票价格、汇率等的预测,并展示了预测误差及训练曲线。
|
3月前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
117 8
|
3月前
|
弹性计算 监控 数据库
制造企业ERP系统迁移至阿里云ECS的实例,详细介绍了从需求分析、数据迁移、应用部署、网络配置到性能优化的全过程
本文通过一个制造企业ERP系统迁移至阿里云ECS的实例,详细介绍了从需求分析、数据迁移、应用部署、网络配置到性能优化的全过程,展示了企业级应用上云的实践方法与显著优势,包括弹性计算资源、高可靠性、数据安全及降低维护成本等,为企业数字化转型提供参考。
101 5
|
3月前
|
机器学习/深度学习 算法 关系型数据库
基于PSO-SVM的乳腺癌数据分类识别算法matlab仿真,对比BP神经网络和SVM
本项目展示了利用粒子群优化(PSO)算法优化支持向量机(SVM)参数的过程,提高了分类准确性和泛化能力。包括无水印的算法运行效果预览、Matlab2022a环境下的实现、核心代码及详细注释、操作视频,以及对PSO和SVM理论的概述。PSO-SVM结合了PSO的全局搜索能力和SVM的分类优势,特别适用于复杂数据集的分类任务,如乳腺癌诊断等。

热门文章

最新文章