用最简单的神经网络做数据分类,展示神经网络训练过程

用最简单的神经网络做数据分类,展示神经网络训练过程,第1张

本文用简单的神经网络做数据分类,展示神经网络训练过程,方便理解

神经网络模型:Y = w1 x1 + w2 x2 + b

第一步 :生成训练数据与标签

第二步 :合并数据并将数据打乱,然后将数据转换为Paddle框架所需要的数据类型

第三步 ,基于Paddle,构建神经网络、定义损失函数和优化器:Y = w1 x1 + w2 x2 + b

第四步 ,构建训练过程

最后一步 ,绘制训练结果

NaN意思是Not A Number,除非是发散,不过一般不会出现这种情况。可能你的程序有错。

如果是新定义算法的话理论上的收敛要证明,可以证明它在迭代次数趋近无穷的时候等于某一解,也可以证明它满足李普希兹条件(就是带有完备范数和李普希兹常数的那个),这种情形下我们叫做收敛,要是用已有算法或者干脆就是BP算法的时候不需要你证明理论上不收敛的情况是这样,当迭代次数趋近无穷的时候,权向量的解不唯一

实际上的收敛是这样,给定一个最大迭代次数n,一个误差限erl,反向传播算法应该很容易找,我不往上写了,每一步权值修正都会使er减小,直观的看就是权向量的分量沿着梯度减小的方向在前进,虽然理论上样本足够大并且n趋于无穷的时候会收敛,但是实际上有可能出现当迭代到第n次,误差er依然大于误差限erl的情况,也就是说我们没有解出来满足要求的权向量,所以网络训练失败,叫做不收敛当然,也可以使用梯度限来作为迭代终止的条件,这种情况下不收敛就是梯度在迭代了n次以后没有小于某一值,从而没有求出满足要求的权向量;收敛就是求出了满足梯度限的权向量

代表检验这个网络的训练结果。

mse表示均方差,当然越小越好。但是这与你训练样本的多少,训练次数都有很大关系。

这个其实没有统一的标准,任何人都知道0偏差当然是最好。但是根绝神经网络本身致命的缺陷,由于它是迭代收敛逼近解析式,所以不可能达到0误差。

这只有根据使用者的工程技术要求来加以判断,这个误差指标肯定应该在小于工程误差范围内啊。但是对于科研研究,也只能具体情况具体分析。定量一说没有具体绝对一说的。

扩展资料:

BP神经网络的计算过程由正向计算过程和反向计算过程组成。正向传播过程,输入模式从输入层经隐单元层逐层处理,并转向输出层,每~层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出,则转入反向传播,将误差信号沿原来的连接通路返回,通过修改各神经元的权值,使得误差信号最小。

-BP神经网络

没有loss曲线的说法,只有圆锥曲线的说法,也叫做二次曲线。

圆锥曲线包括椭圆(圆为椭圆的特例),抛物线,双曲线。

圆锥曲线(二次曲线)的(不完整)统一定义:到定点(焦点)的距离与到定直线(准线)的距离的商是常数e(离心率)的点的轨迹。当e>1时,为双曲线的一支,当e=1时,为抛物线,当0<e<1时,为椭圆,当e=0时,为一点。

2000多年前,古希腊数学家最先开始研究圆锥曲线,并获得了大量的成果。古希腊数学家阿波罗尼斯采用平面切割圆锥的方法来研究这几种曲线。用垂直于锥轴的平面去截圆锥,得到的是圆;把平面渐渐倾斜,得到椭圆;当平面倾斜到“和且仅和”圆锥的一条母线平行时,得到抛物线;用平行于圆锥的轴的平面截取,可得到双曲线的一支(把圆锥面换成相应的二次锥面时,则可得到双曲线)。阿波罗尼曾把椭圆叫“亏曲线”,把双曲线叫做“超曲线”,把抛物线叫做“齐曲线”。事实上,阿波罗尼在其著作中使用纯几何方法已经取得了今天高中数学中关于圆锥曲线的全部性质和结果。

希望我能帮助你解疑释惑。

用你训练出来的模型(就是那些连接权值参数),再代入输入数据和输出数据,然后模型会产生一个输出y0,在matlab里画出这个y和你已知的输出值,一看图就知道拟合的怎么样了;比如产生10个输出值y0(1)->y0(10),就会有十个真实值(已知)y(1)-y(10);n=1:10;plot(n,y(n),'r-',n,y(n),'b');

你在编写BP神经网络程序时肯定是设定了训练次数或者结束训练条件的,BP算法的训练具有随机性,耽叮槽顾噩该茶双偿晶所以达到结束条件的时间或训练次数一般是不同的。如果每次训练次数相同的话,训练结果可信程度极小,建议增大训练次数数值!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/11678146.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存