当前位置:首页 > 生活百科

matlab直线拟合函数(线性拟合matlab编程)

栏目:生活百科日期:2025-03-27浏览:0

上次讨论了基于Hopfield神经网络的数字识别,BP(Back Propagation)神经网络也可以进行相关的数字识别如手写数字识别等,由于BP神经网络的特性,该网络需要一定的样本进行对网络进行训练、测试以及校验。本次不再赘述数字识别,而是将目光集中于基于BP神经网络的数据拟合。

本次所采用的神经网络为BP神经网络,是一个误差反向传播训练(Error Back Propagation Training)的多层前馈网络,主要包含输入层、隐含层和输出层。数据由输入层输入,经过标准化处理后,传到第二层即隐含层,隐含层进行输入数据的权值计算、转换,然后传输到输出层,输出层将给出神经网络的预测值。 由于人工神经网络不需要事先给定输入量与输出量之间的映射关系,BP网络需要通过范例进行学习。因此,给定一个包含了输入量样本以及已知的正确输出量样本是必须的。利用给定的示例,BP神经网络可以得知什么是所期望达到的行为并且BP算法也能支持网络进行调整来达到预期。

BP网络包含正向计算和反向计算两个过程,其学习过程是通过循环步骤来实现的。当接收到范例时,该网络会先进行正向计算过程,随机输出一些数据。这个输出的结果将会与已知的正确样本进行比较,然后一个含有其均方误差的信号将会通过建立的神经网络进行反向传递。隐含层接收到信号后,会“分摊”给各个神经单元,每个单元的权值因此将根据接收到的误差进行相应的调整。这个过程将会不断循环,直到误差达到规定的阈值或完成了规定的学习次数而停止。此时该神经网络被认为已经学习成功,完成了训练过程。BP神经网络仿真虽然无法达到最理想的功能,但是其结果已经接近了完美。

在BP算法中采用的激活函数是S型(Sigmoid)函数,该函数应用于隐含层的输出中。S函数有效地将非线性变化引入到了神经网络中,使得每一层权值得变化呈现非线性趋势而不是直接承接上一层的线性变化输出结果。此外,S型函数具有将小信号放大、大信号缩小的特征,可以保证输出结果在(0,1)之间,如下图所示。然而在输出层中,需要直接保障输出端能接收到输出层输出的任何值,故采用线性函数。该特征也将在MATLAB生成网络结构视图中体现。

图1. Sigmoid函数曲线示意图

现在开始使用MATLAB中的函数feedforwardnet创建BP神经网络结构。如图2所示,绿色图标代表的输入端(Input)和输出端(Output)各为1个,蓝色图标代表着隐含层和输出层。其中20代表着隐含层神经元数为20,1指代输出层只有一个神经元。代表隐含层的方框中其中一个含有S曲线的图标指激活函数为S函数,输出层中的直线代表着输出层使用的线性函数。此外,w指权值(weight,b为偏置(bias)。

图2. 创建BP网络视图

本次神经网络的训练方法采用默认的Levenberg-Marquardt方法,误差指标为均方差(MSE),设置的训练次数为1000次,期望达到的误差目标为10-10。训练结果完成的示意图如图3所示。在进展(Progress)项中,Epoch为训练次数,绿色指标显示1000 iterations意为已经完成了设置的1000次循环。性能指(Performance)为均方差中的最大值,蓝色精度条显示地为当前均方差,当该值小于设定的指标时,则停止训练。和性能指一样,当梯度值(Gradient)小于目标值时,也会停止训练。泛化能力检查(Validation Checks)在训练中始终为0,这个是指在训练过程中没有出现过误差不降反升的情况,如果超过6次误差不降反升,为防止出现过度拟合的情况,训练将会强行停止。

训练过程中生成的训练结果可以绘出如回归线图、性能指图等来体现该次训练的特征,以及为输出的拟合结果提供判断可靠性的有力佐证。当回归率R越接近于1时,则证明数据拟合效果越好。

图3. 训练结果信息图

本次数据拟合的结果如图4所示,采用的样本数据为MATLAB自带的数据库(simplefit_dataset),可以看出拟合曲线与样本值的趋势完美重合。不同于Hopfield神经网络输出结果的不稳定性,BP神经网络每次训练的迭代过程中产生的误差以及权值等会变化但是输出结果总是可靠的。除了使用MATLAB自带的数据库进行数据拟合测试外,也可以自己创建样本矢量,进行对多项式、正余弦函数以及其他函数映射等的数据拟合分析。

图4. 数据拟合结果

最后,有机器学习相关需求,欢迎通过微信公众号联系我们。

“matlab直线拟合函数(线性拟合matlab编程)” 的相关文章

google关键字推广怎么做,如何选择合适的关键字匹配

谷歌推广中,关键词的匹配类型至关重要,匹配太广泛就浪费费用,匹配太绝对,又没什么流量,词组匹配也会带来不必要的点击,那么到底怎么办呢?GoogleAds推广中如...

post在线请求工具(教你手机模拟post请求)

Get和Post是什么?HTTP定义了与服务器交互的不同方法,最常用的方法有四种Put,Delete、post,get,即增删改查。1.Get,它用于获取信息,...

2019VIP营销策划培训课程免费分享(品牌营销策划方案)

年度营销新增长战略就是方向:先胜再战品牌就是空军:抢占心智销售就是陆军:攻城略地运营就是裂变:客多买多服务就是情感:好好好好年度营销新增长=战略+品牌+销售+运...

如何做网络营销推广,网络推广三种营销方式

seo是进行网站排名优化的一种技术,也是网络运营推广的一种有效方法。很多从事cpa推广的站长渠道都会采用这种方法来进行自己网站的优化,但是往往很多新站长因为对于...

linux上安装jdk系统(linux操作系统基础知识)

一、背景说明:对于从事运维或者做开发的朋友来说,配置javajdk环境都是常有的事情,刚好这几天年末了,事情没有那么多,抽时间整理了一份批处理一键自动安装配置j...

如何提高网站排名的方法(企业网站提高SEO整体排名的4个

企业在做网站后无非就是想要网站在搜索引擎的排名靠前,让更多的客户能够看到。但是,很多企业会发现自己好像做了很多优化的工作,但是最终排名还是上不去。不知道该怎么办...

五万元怎么投资理财,闲钱50000元理财妙招

随着中国资本市场的日益发展,投资理财观念早已深入人心,投资理财成了很多人资产保值必不可少的方法。对于初入职场的理财小白而言,5万款钱的积蓄该如何合理的投资呢?今...

华为手机怎么设置来电转移(教你设置通话来电转移功能)

随着用户需求的不断变化,很多手机都推出了各种各样的功能,其中“来电转移功能”为用户提供了很多便利,本期文章就说说如何设置“来电转移”。点击手机内的“齿轮状”图标...

2023顺丰快递员的真实工资(揭秘顺丰快递员的真实收入)

顺丰快递员工真实工资曝光,月入工资意想不到,网友:让人心酸随着互联网现在发展越来越好,大家都发现快递行业十分迅速进展者那么很多购买东西都是由快递小哥来送那这些快...

冰雪皇后加盟条件,最适合加盟的6个冰激凌店推荐

排行榜就是为把同一个行业不同品牌进行排名,冰淇淋加盟店排行榜,网络上有很版本,每一个排行榜的侧重点都不同,其排名也不同,对加盟商来说,只有多了解一份资料,才能做...