bp神经网络训练样本增加很多,但是隐含层节点数还是不变会不会欠拟合,或者过拟合?求大神告知!
发布网友
发布时间:2022-04-19 09:49
我来回答
共1个回答
热心网友
时间:2023-10-23 22:34
学习神经网络这段时间,有一个疑问,BP神经网络中训练的次数指的网络的迭代次数,如果有a个样本,每个样本训练次数n,则网络一共迭代an次,在n>>a 情况下 , 网络在不停的调整权值,减小误差,跟样本数似乎关系不大。而且,a大了的话训练时间必然会变长。
换一种说法,将你的数据集看成一个固定值, 那么样本集与测试集 也可以按照某种规格确定下来如7:3 所以如何看待 样本集的多少与训练结果呢? 或者说怎么使你的网络更加稳定,更加符合你的所需 。
我尝试从之前的一个例子中看下区别
如何用70行Java代码实现深度神经网络算法
作者其实是实现了一个BP神经网络 ,不多说,看最后的例子
一个运用神经网络的例子
最后我们找个简单例子来看看神经网络神奇的效果。为了方便观察数据分布,我们选用一个二维坐标的数据,下面共有4个数据,方块代表数据的类型为1,三角代表数据的类型为0,可以看到属于方块类型的数据有(1,2)和(2,1),属于三角类型的数据有(1,1),(2,2),现在问题是需要在平面上将4个数据分成1和0两类,并以此来预测新的数据的类型。

图片描述
我们可以运用逻辑回归算法来解决上面的分类问题,但是逻辑回归得到一个线性的直线做为分界线,可以看到上面的红线无论怎么摆放,总是有一个样本被错误地划分到不同类型中,所以对于上面的数据,仅仅一条直线不能很正确地划分他们的分类,如果我们运用神经网络算法,可以得到下图的分类效果,相当于多条直线求并集来划分空间,这样准确性更高。

图片描述
简单粗暴,用作者的代码运行后 训练5000次 。根据训练结果来预测一条新数据的分类(3,1)

预测值 (3,1)的结果跟(1,2)(2,1)属于一类 属于正方形
这时如果我们去掉 2个样本,则样本输入变成如下
//设置样本数据,对应上面的4个二维坐标数据 double[][] data = new double[][]{{1,2},{2,2}}; //设置目标数据,对应4个坐标数据的分类 double[][] target = new double[][]{{1,0},{0,1}};
1
2
3
bp神经网络训练样本增加很多,但是隐含层节点数还是不变会不会欠拟合...
学习神经网络这段时间,有一个疑问,BP神经网络中训练的次数指的网络的迭代次数,如果有a个样本,每个样本训练次数n,则网络一共迭代an次,在n>>a 情况下 , 网络在不停的调整权值,减小误差,跟样本数似乎关系不大。而且,a大了的话训练时间必然会变长。 换一种说法,将你的数据集看成一个...
机器学习,咱先从过拟合与欠拟合讲起
在神经网络中,DropOut 是一种用于减少过拟合的技巧。在训练开始时随机删除部分神经元,保持输入层和输出层神经元数不变。每次迭代随机选择神经元,直至训练结束。欠拟合可通过增加模型复杂度、特征数量或使用更复杂的学习算法解决。
【5】过拟合处理的一些技巧
由于设置的epoch过小,神经网络没有完全训练好,所以目前loss还是不断地在降低,还没有出现过拟合的情况,所以目前还不需要人为的挑选参数,来给最后的test样本集来进行训练。3.regularization正则化 问题:正则化的操作是为了使得参数分布减小,从而避免过拟合的情况,但是为什么参数范数接近于0的时候,其模型的复杂度会减少?
【论文】ICCV美文:从过拟合到欠拟合?
O2U-Net的训练过程分为三个步骤:首先让网络过拟合,然后通过大学习率使其返回欠拟合,再逐步训练至过拟合。这种方法利用了损失指标的动态变化,因为在过拟合阶段,噪声样本的loss与干净样本接近,通过监测损失变化,可以识别噪声样本。然而,依赖loss指标的挑选策略并非始终有效。如co-teaching等方法在早期能...
深度学习与神经网络有什么区别
1)比较容易过拟合,参数比较难tune,而且需要不少trick; 2)训练速度比较慢,在层次比较少(小于等于3)的情况下效果并不比其它方法更优; 所以中间有大约20多年的时间,神经网络被关注很少,这段时间基本上是SVM和boosting算法的天下。但是,一个痴心的老先生Hinton,他坚持了下来,并最终(和其它人一起Bengio、Yann.lecun...