bp神经网络训练样本个数,bp神经网络训练时间

BP神经网络的训练集需要大样本吗?一般样本个数为多少?

BP神经网络的训练集需要大样本吗?一般样本个数为多少?

BP神经网络样本数有什么影响学习神经网络这段时间,有一个疑问,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}};12341234则(3,1)结果变成了三角形,如果你选前两个点 你会发现直接一条中间线就可以区分 这时候的你的结果跟之前4个点时有区别 so 你得增加样本 直到这些样本按照你所想要的方式分类 ,所以样本的多少 重要性体现在,样本得能反映所有的特征值(也就是输入值) ,样本多少或者特征(本例子指点的位置特征)决定的你的网络的训练结果,!

!!这是 我们反推出来的结果 。这里距离深度学习好像近了一步。另外,这个70行代码的神经网络没有保存你训练的网络 ,所以你每次运行都是重新训练的网络。

其实,在你训练过后 权值已经确定了下来,我们确定网络也就是根据权值,so只要把训练后的权值保存下来,将需要分类的数据按照这种权值带入网络,即可得到输出值,也就是一旦网络确定, 权值也就确定,一个输入对应一个固定的输出,不会再次改变!

个人见解。

最后附上作者的源码,作者的文章见开头链接下面的实现程序可以直接拿去使用,import .Random;public class BpDeep{ public double[][] layer;//神经网络各层节点 public double[][] layerErr;//神经网络各节点误差 public double[][][] layer_weight;//各层节点权重 public double[][][] layer_weight_delta;//各层节点权重动量 public double mobp;//动量系数 public double rate;//学习系数 public BpDeep(int[] layernum, double rate, double mobp){ = mobp; = rate; layer = new double[layernum.length][]; layerErr = new double[layernum.length][]; layer_weight = new double[layernum.length][][]; layer_weight_delta = new double[layernum.length][][]; Random random = new Random(); for(int l=0;l。

谷歌人工智能写作项目:神经网络伪原创

BP神经网络学习样本是不是越多越好!

这个没有明确要求,样本也不是越多越好文案狗。通常情况下,你的样本可以一部分用来做验证。加速你有100个样本,90%用来做训练,10%用来做验证等,当然,有时候还得留下10%做测试用。

我个人的经验是,样本数尽量在10以上吧。

在BP神经网络中,对输入的数据也就是训练集有要求吗?是不是要求训练集是固定的,然后每个训练周期都将训

训练集样本的不同肯定会影响到权值的变化。

你要训练的数据 就是你希望一个系统输入一些数据时 能固定得到的那些数据,训练集要是随即那就没意义了,神经网络权值初始值是可以随即的,但随着训练继续,权值将趋于稳定,这样才能达到神经网络的效果。

BP神经网络(误差反传

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值