BP神经网络模型一篇入门

这篇具有很好参考价值的文章主要介绍了BP神经网络模型一篇入门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本站原创文章,转载请说明来自《老饼讲解-BP神经网络》 www.bbbdata.com

BP神经网络广泛应用于解决各种问题,是知名度极高的模型之一
为了方便初学者快速学习,本文进行深入浅出讲解BP神经网络的基本知识
通过本文,可以初步了解BP神经网络的各个核心要素,并弄清BP神经网络是什么

目录

 一. BP神经网络的模型结构    

1.1 BP神经网络通用结构    

1.2 常用的BP神经网络结构    

二. BP神经网络的工作原理    

2.1 BP神经网络的工作原理    

2.2 BP神经网络数学表达式   

三. BP神经网络的训练   

3.1 什么是BP神经网络的训练     

3.2 BP神经网络的训练算法  

四. BP神经网络的用途     

4.1 BP神经网络的主要用途-数值预测    

4.2 BP神经网络的其它用途    


 一. BP神经网络的模型结构    

本节讲解BP神经网络的基本拓扑结构
通过本节的介绍,对BP神经网络有个初步认识

1.1 BP神经网络通用结构    


BP神经网络结构解说
BP神经网络的通用结构如下:

怎么去学bp网络模型,神经网络,人工智能,深度学习

  
 它属于前馈型神经网络,结构具体解说如下
 1. 网络层数     :共包括三大功能层:输入层、隐层和输出层                          
其中隐层可以包含多个子层                       
 2. 神经元个数 :输入层的神经元个数就是输入的个数                                    
 隐层的神经元个数自行设定                        
输出层的神经元个数就是输出的个数         
3. 网络权重     :每层的神经元都与后一层神经元用权重一一连接                 
4. 神经网阈值  :隐层和输出层每个神经元都有自己的阈值                           
5. 激活函数     :隐层和输出层都有自己的激活函数                                     


✍️关于结构中的待定参数
以上仅是一个通用的结构形式,
在使用时,我们需要设定具体的参数,让它有具体的结构
需要确定的参数有以下:
👉 隐层个数                         
👉 每个隐层的隐神经元个数 
👉 每层神经元的激活函数    


1.2 常用的BP神经网络结构    


虽然通用结构里允许有多个隐层,并且可以设置不同的激活函数,
但实际上,最常用的是设一个隐层               
隐层神经元的激活函数设为tansig函数      
输出层神经元激活函数设为purelin函数     
如此一来,结构就如下图所示:

  

怎么去学bp网络模型,神经网络,人工智能,深度学习


 其中 
tansig函数为S型函数:  怎么去学bp网络模型,神经网络,人工智能,深度学习
purelin 为恒等线性映射函数:             
上图为3个隐神经元,在实际中,隐神经元个数由具体问题具体设定


✍️  为什么实践中采用三层结构     
为什么实践中一般采用上述结构呢?
主要是因为这样的结构简单又有效
简单是因为它只有一个隐层,比起多隐层网络,无疑是要简洁许多               
有效是因为隐层激活函数采用了S型函数,这样网络就有了拟合非线性的能力
而输出层采用purelin,又可以让它的输出不受限制                                      
如此一来,这种结构就“麻雀虽小,却五脏俱全”,简单又有效                   
后来有人证明,这种结构只要隐神经元足够,就能逼近任何函数                   
如此一来,基本就都使用这种结构了
✍️关于激活函数   
激活函数中有两点常识,如下
1、当激活函数设为purelin时,相当于没有激活函数
2、隐层激活函数往往也可以设为logsig               
logsig的表达式为怎么去学bp网络模型,神经网络,人工智能,深度学习

它和tansig没有太多质的区别     
区别只在于,logsig的取值范围是【0,1】,而tansig是【-1,1】  


二. BP神经网络的工作原理    

本节讲解BP神经网络的工作原理和数学表达式
通过本节,了解BP神经网络模型是如何运算的

2.1 BP神经网络的工作原理    


BP神经网络的前馈机制
BP神经网络的工作原理为逐层前馈传递,如下

怎么去学bp网络模型,神经网络,人工智能,深度学习


👉1. 先由输入层接受输入     
👉2. 前馈式逐层向前传递      
👉3. 最终在输出层进行输出  
神经元的输入输出
神经元具体的输出输出如下所示
神经元加权累加前一层传过来的值,然后加上自身的阈值
最后经过激活函数传递给下一层各个节点


2.2 BP神经网络数学表达式   


从数学表达式理解BP神经网络的机制是最直接的
下面以一个例子来说明数学表达式
网络的设置如下:
1、只设一个隐层, 输入层、隐层、输出层的节点个数分别为 [2 ,3,1]
2、激活函数设置:隐层( tansig函数),输出层(purelin函数)        
则网络拓扑结构如下:
根据模型原理,
BP神经网络的数学表达式如下

怎么去学bp网络模型,神经网络,人工智能,深度学习

表达式中参数很多,
但实际只有两类参数:权重w和阈值b       
代表这个权值是第2层的第2个节点到第3层的第1个节点的权值         
代表这个阈值是第2层的第1个节点的阈值                                          
上标用于标示是第几层,下标用于表示是该层第几个神经元



✍️关于多层BP神经网络的表达式
对于多层BP神经网络的表达式,
只需不断按以上方式进行套娃就可以了
具体写出来过于冗长,这里将不再具体表达


三. BP神经网络的训练   


本节讲解BP神经网络的训练是什么,以及主要的训练有哪些

3.1 什么是BP神经网络的训练     


在BP神经网络结构确定后,模型的表达式也就确定了,
进一步我们需要确定模型里的W,b(权重阈值)
使得网络预测得最准确,也就是误差最小
关于BP神经网络的误差
BP神经网络的均方误差函数如下

其中
m   :训练样本个数                       
k    :输出个数                             
:第i个样本第k个输出的预测值  
 :第i个样本第k个输出的真实值 
误差函数是一个关于W,b的函数,
采用不同的权重和阈值,就有不同的误差

什么是BP神经网络的训练

BP神经网络的训练,就是指求求取一组W,b,使得网络的误差最小
也即求W,b取何值时,能令上述均方误差函数\textbf{E}(W,b)最小
这个求解的过程,就称为BP神经网络的训练


3.2 BP神经网络的训练算法  


对W,b的求解并不是一件容易的事情,
目前的数学水平还没有能力求得 W,b 的精确解,
通常是使用算法进行求解
BP神经网络的训练算法  
BP神经网络的训练算法很多,
较经典、实用的有如下几种算法:
👉 梯度下降算法                           
👉 自适应学习率梯度下降法         
👉 Fletcher-Reeves共轭梯度法   
👉 LM算法                                   
其中,梯度下降法是最基本,最基础的算法, 
很多算法是在梯度下降法的基础上进一步改进得到


四. BP神经网络的用途     

本节简单介绍一下BP神经网络怎么用,用来干什么

4.1 BP神经网络的主要用途-数值预测    


在我们不知道X、y的具体关系,

而又需要用X来获取y的值的时候,
就可以使用BP神经网络来拟合X和y的关系
具体主要流程如下:

怎么去学bp网络模型,神经网络,人工智能,深度学习


1. 采集X、y的数据                                        
2. 设置一个合适的BP神经网络模型结构         
3. 用数据训练BP神经网络的权重和阈值         
4. 测试BP神经网络在新样本中的效果            
5. 测试成功后,即可将BP神经网络投入使用  


4.2 BP神经网络的其它用途    


BP神经网络的其它用途也很多,全然靠脑洞,
在这里我们不一一举例,仅以一个例子尽下兴致
BP神经网络应用于特征提取
当我们的X变量个数很多时,
我们希望把这些变量综合成几个关键变量(也称为特征)
同时又希望综合后的关键变量尽可能包括原始变量里的关键信息
 例如,语文成绩、数学成绩、英语成绩、政治成绩、历史成绩等等,
我们可以把它们综合成文科成绩、理科成绩两个特征变量
BP神经网络如何解决这问题呢?
脑洞开一下就可以了,
例如,我们要从10个变量中提取出3个特征变量,
那么只需如下设置

怎么去学bp网络模型,神经网络,人工智能,深度学习


也就是用10个变量自己预测自己
如果训练成功,就说明3个隐节点的值已经能还原出X了
 也即3个隐节点就已经包含了原本10个变量的信息了
那么我们就可以把这3个隐节点的值作为特征变量


OK,本文作为BP神经网络的入门,就先介绍到这里,
后面再慢慢一点一点解读BP神经网络的相关内容


相关文章

《BP神经网络梯度推导》

《BP神经网络提取的数学表达式》

《一个BP的完整建模流程》文章来源地址https://www.toymoban.com/news/detail-777971.html

到了这里,关于BP神经网络模型一篇入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python实现猎人猎物优化算法(HPO)优化BP神经网络回归模型(BP神经网络回归算法)项目实战

    说明:这是一个机器学习实战项目(附带 数据+代码+文档+视频讲解 ),如需 数据+代码+文档+视频讲解 可以直接到文章最后获取。 猎人猎物优化搜索算法(Hunter–prey optimizer, HPO)是由Naruei Keynia于2022年提出的一种最新的优化搜索算法。受到捕食动物(如狮子、豹子和狼)和猎物

    2024年02月09日
    浏览(51)
  • Python实现PSO粒子群优化算法优化BP神经网络回归模型(BP神经网络回归算法)项目实战

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。 PSO是粒子群优化算法(Particle Swarm Optimization)的英文缩写,是一种基于种群的随机优化技术,由Eberhart和Kennedy于1995年提出。粒子群算法模仿昆虫、

    2024年02月13日
    浏览(55)
  • Python实现HBA混合蝙蝠智能算法优化BP神经网络回归模型(BP神经网络回归算法)项目实战

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。   蝙蝠算法是2010年杨教授基于群体智能提出的启发式搜索算法,是一种搜索全局最优解的有效方法。该算法基于迭代优化,初始化为一组随机解,

    2024年02月16日
    浏览(55)
  • 数学建模:BP神经网络模型及其优化

    🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 设 x 1 , x 2 , . . . , x i x_1,x_2,...,x_i x 1 ​ , x 2 ​ , ... , x i ​ 为输入变量, y y y 为输出变量, u j u_j u j ​ 为隐藏层神经元 的输出, f 为 激活函数 的映射关系。 设 v i j v_{ij} v ij ​ 为第 i i i 个输入变量与第 j j j 个隐藏层神经

    2024年02月11日
    浏览(55)
  • BP神经网络入门(原理+matlab代码实现)

    对于很多刚入门的小伙伴来说,神经网络可能比较陌生。神经网络其实是对人认知物体的一种仿真。比如幼儿园老师再教小朋友认动物的时候,会让记住一些特征:比如兔子有长长的耳朵,爱吃萝卜和青菜.........,神经网络也是这样通过构建特征值之间的关系来预测一个较为可

    2023年04月23日
    浏览(48)
  • 神经网络模型之BP算法及实例分析

            神经网络(Neural Networks)是从微观结构与功能上对人脑神经系统进行模拟而建立起来的数学模型,它具有模拟人脑思维的能力,其特点主要是具有非线性特性、学习能力和自适应性等,是模拟人类智能的一种重要方法。神经网络是由神经元互联而成的,能接收并处理

    2024年01月16日
    浏览(40)
  • 【数学建模】matlab| BP神经网络入门学习

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:以下本章里有大量作者自己的口水话和心里对白,请谨慎观看,若有不适,后果自负! 这部分学习内容以及代码参考(抄袭)了教材《matlab在数学建模中的应用》(第二版 主编:卓金武),加入

    2024年02月09日
    浏览(51)
  • 基于BP神经网络的模型建立,然后用多目标优化进行寻优

    背影 遗传算法的原理及步骤 基本定义 编码方式 适应度函数 运算过程 代码 结果分析 完整代码下载: 基于BP神经网络的模型建立,然后用多目标优化进行寻优(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88689232 基于BP神经网络的模型建立,然后用

    2024年02月03日
    浏览(41)
  • 多元回归预测 | Matlab主成分分析PCA降维,BP神经网络回归预测。PCA-BP回归预测模型

    效果一览 文章概述 多元回归预测 | Matlab主成分分析PCA降维,BP神经网络回归预测。PCA-BP回归预测模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码

    2024年02月13日
    浏览(50)
  • A.机器学习入门算法(八):基于BP神经网络的乳腺癌的分类预测

    【机器学习入门与实践】入门必看系列,含数据挖掘项目实战:数据融合、特征优化、特征降维、探索性分析等,实战带你掌握机器学习数据挖掘 专栏详细介绍:【机器学习入门与实践】合集入门必看系列,含数据挖掘项目实战:数据融合、特征优化、特征降维、探索性分析

    2024年02月02日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包