基于BP神经网络的非线性函数拟合(一维高斯函数)研究-含Matlab代码
目录
- 一、引言
- 二、BP神经网络的结构与原理
- 2.1 信息前向传播
- 2.2 误差的反向传播过程
- 三、基于BP神经网络的非线性函数拟合
- 3.1 数据生成
- 3.2 神经网络拟合结果
- 四、参考文献
- 五、Matlab代码获取
一、引言
以生物学基础的BP网络为全局网络,于多变量函数逼近理论不同, BP神经网络是输入输出的映射,其优势在诸多方面比函数逼近理论要更为明显。本质上,神经网络是一个非线性系统,任意复杂的非线性函数它都能够充分逼近。良好的鲁棒性、联想记忆能力、容错性高及并行处理信息等优异特性使神经网络成为智能领域中的重要算法之一。
二、BP神经网络的结构与原理
图1 多层神经网络结构[1]
图1所示为多层神经网络结构。其中,n表示输入层神经元个数,l表示隐含层中神经元个数,m为输出层神经元个数。ωij、ωjk为连接权值,分别表示输入层第i个神经元和隐含层第j个神经元、隐含层第j个神经元与输出层第k个神经元之间的权值。取线性函数作为输入层神经元的作用函数,即神经元的输入和输出相同。分别将隐含层和输出层神经元的上一层神经输出加权和对应作为他们的输入,激励程度和作用函数决定了各个神经元的输出。
基本BP算法包括两个方面:信息的前向传播和误差的反向传播。计算实际输出时,按从输入到输出的方向进行;而权值和阈值的修正从输出到输入的方向进行。
2.1 信息前向传播
信息前向传播过程对于图1,设各神经元的阈值为0,便于后续分析。
输入层:对于第i个神经元,其输出为
隐含层:其第 j 个神经元的净输入为 ,其中输入层神经元个数为n。
隐含层第 j 个神经元的输出为: ,其神经元的作用函数 。
输出层:输出 通过加权系数向前传播到输出层第k个神经元,净输入为 , 为隐含层神经元数。
实际网络的输出为 ,输出层第k个神经元的作用函数为
2.2 误差的反向传播过程
误差的方向传播,即首先由输出层开始逐层计算各层神经元的输出误差,然后根据误差梯度下降法来调节各层的权值和阈值,使修改后的网络的最终输出能接近期望值。
三、基于BP神经网络的非线性函数拟合
3.1 数据生成
利用BP网络拟合非线性函数如下:
它表示一维高斯分布高斯分布(Gaussian distribution),又称正态分布(Normal distribution)。若随机变量x服从一个数学期望为μ、方差为σ^2 的正态分布,记为N(μ,σ^2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。当μ= 0,σ=1时的正态分布是标准正态分布。
图2 一维高斯函数
根据上述高斯函数得到该函数的2000组输入输出数据,从输入输出数据中随机选取1900组数据作为网络训练数据,用于网络训练。剩下的100组数据作为网络测试数据,用于测试网络的拟合性能。具体数据规划如下图所示:
图3 训练数据与测试数据划分
3.2 神经网络拟合结果
基于BP神经网络的非线性函数拟合算法流程可以分为BP神经网络构建、BP神经网络训练和BP神经网络预测三步,如图4所示。
图4 神经网络算法流程
通过设置不同的训练要求精度,得到的拟合结果不一样,当训练精度设置为0.0000004时,神经网络训练到最佳状态,拟合输出与期望输出完全一致。
图5 神经网络预测输出结果对比
四、参考文献
[1] 吴琼. 基于BP神经网络对非线性函数拟合 [J]. 电子世界, 2018, (07): 69.
五、Matlab代码获取
完整的Matlab代码,包括非线性函数数据生成Matlab代码,可私信博主获取。
博主简介:研究方向涉及智能图像处理、深度学习等领域,先后发表过多篇SCI论文,在科研方面经验丰富。任何与算法、程序、科研方面的问题,均可私信交流讨论。
基于BP神经网络的非线性函数拟合(一维高斯函数)研究-含Matlab代码相关推荐
- 【预测模型】基于BP神经网络、LSTM、GRNN实现风电功率预测附matlab代码
1 简介 风电功率预测结果的准确性,不仅关系到风力发电厂的综合运行效率,也与区域运行成本具备直接联系,基于BP神经网络.LSTM.GRNN实现风电功率预测.经过实例分析,证明设计的方法对风电功率的预 ...
- 基于BP-Adaboost神经网络的高斯函数模型预测研究-含Matlab代码
目录 一.引言 二. 预测建模及原理 2.1 BP 神经网络模型 2.2 BP-Adaboost 模型 三.模型预测结果对比 3.1 数据模拟 3.2 预测结果对比 四.参考文献 五.Matlab代码 ...
- 基于径向基函数RBF神经网络的非线性函数拟合研究-含Matlab代码
目录 一.RBF神经网络基本原理 二.模型建立 三.RBF网络拟合结果分析 四.注意事项 五.参考文献 六.Matlab代码获取 一.RBF神经网络基本原理 1988年Broomhead和Lowe将径 ...
- 优化算法 | 基于粒子群优化算法的Bp神经网络预测21~22赛季NBA总冠军(附MATLAB代码)
文章目录 前言 一.数据准备 二.基于PSO的Bp神经网络预测 1.粒子表达方式 2.目标函数 3.粒子速度和位置的更新 三.MATLAB代码 四.预测结果 五.代码获取方式 总结 近期你可能错过了的 ...
- 一种基于卷积神经网络的图像去雾研究-含matlab代码
目录 一.绪论 二.去雾卷积网络 2.1 特征提取 2.2 多尺度映射 2.3 局部均值 2.4 非线性回归 三.实验与分析 四.Matlab代码获取 一.绪论 雾是一种常见的大气现象,空气中悬浮的水 ...
- 【BP回归预测】改进的鲸鱼算法优化BP神经网络回归预测(多输入单输出)【含Matlab源码 2184期】
⛄一.鲸鱼算法优化BP神经网络简介 1 鲸鱼优化算法(Whale Optimization Algorithm,WOA)简介 鲸鱼优化算法(WOA),该算法模拟了座头鲸的社会行为,并引入了气泡网狩猎策 ...
- 基于动态时间规整算法(DTW)的语音识别技术研究-含Matlab代码
⭕⭕ 目 录 ⭕⭕ ⏩ 一.引言 ⏩ 二.动态时间规整算法基本原理 ⏩ 三.语音识别实例分析 ⏩ 四.参考文献 ⏩ 五.Matlab代码获取 ⏩ 一.引言 在语音识别技术的发展过程中,动态时间规整算法 ...
- 基于模板匹配的图像拼接技术研究-含Matlab代码
目录 一.引言 二.模板匹配原理 三.图像融合 四.图像拼接结果 五.参考文献 六.Matlab代码(GUI界面)获取 一.引言 图像拼接是将一组具有重叠区域的图像集合拼接成一幅完整的无缝的图像的技术 ...
- 【乌鸦算法】基于正弦余弦指引乌鸦算法求解单目标优化问题含Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.
最新文章
- linux 进程隐藏常见方法
- 新技能get!判断盒子的实际大小及位置。。。
- 【转载】ABAP自定义长文本的处理
- DSP学习 -- Visual Studio 操作
- postgresql数据库基础
- 万万没想到,刷1000道题目,还不如搞懂这几个机械动图!
- 详解华为与三星专利之争 律师称可能会打持久战
- 门面模式(Facade)
- java udp套接字_Java - UDP通过套接字发送数据..没有记录。所有数据
- 2019-06-15
- js数组指定位置添加元素_34. 在排序数组中查找元素的第一个和最后一个位置(难度:中等)
- HDU 4664 Triangulation(SG函数)
- ISO 22301 业务连续性管理(BCM) 认证培训及标准
- 华为HCIE云计算培训笔记第一天
- CrossApp的环境配置教程Windowsmac
- 短视频SDK技术选型
- 模糊图像的倒谱matlab,基于倒谱分析方法的离焦模糊图像特征鉴别
- dell设置从ssd启动_戴尔dell笔记本bios怎么设置第一启动项为硬盘
- 敞开心扉,来聊聊跨域方式吧!
- SimpleDateFormat日期格式转换及时间戳转换