神经网络 样本不平衡,神经网络结果不稳定

rbf神经网络的训练样本要多大

因课题而异。1、样本最关键在于正确性和准确性。你所选择的样本首先要能正确反映该系统过程的内在规律。

我们从生产现场采得的样本数据中有不少可能是坏样本,例如由于测量仪器故障导致测量数据误差较大等,这样的样本会干扰你的神经网络训练。

通常我们认为坏样本只是个别现象,所以我们希望通过尽可能大的样本规模来抵抗坏样本造成的负面影响。2、其次是样本数据分布的均衡性。你所选择的样本最好能涉及到该系统过程可能发生的各种情况。

例如某化工生产中某反应炉的温度主要分布在350度—400度,且出现在380度的情况较多,那么你的样本数据最好也是在350-400度各种情况都有,并且也是在380度左右的样本较多些,这样可以极大可能的照顾到系统在各个情况下的规律特征。

通常我们对系统的内在规律不是很了解,所以我们希望通过尽可能大的样本规模来“地毯式”覆盖对象系统的方方面面。3、再次就是样本数据的规模,也就是你要问的问题。

在确保样本数据质量和分布均衡的情况下,样本数据的规模决定你神经网络训练结果的精度。样本数据量越大,精度越高。

还用刚才的例子,假如反应炉的温度主要均匀分布在375-385度之间,那么你用100个均衡分布在375-385度的训练样本去训练,经过无限次或者说是足够多次迭代之后,理论上你的神经网络的精度就是0.1度。

如果你觉得0.1度足够细腻了,那么样本规模为100也就可以接受了。由于样本规模直接影响计算机的运算时间,所以在精度符合要求的情况下,我们不需要过多的样本数据,否则我们要等待很久的训练时间。

补充说明一下,不论是径向基(rbf)神经网络还是经典的bp神经网络,都只是具体的训练方法,对于足够多次的迭代,训练结果的准确度是趋于一致的,方法只影响计算的收敛速度(运算时间),和样本规模没有直接关系。

谷歌人工智能写作项目:小发猫

用BP神经网络做数据拟合回归,每次运行结果都不一致,望高人指点,谢了

大哥你这个目标要求的也太高了吧,要1e-12!1e-5,1e-6就行了AI爱发猫

而且就训练100次由什么用,BP的话起码要3000到5000次训练,复杂问题要10000次左右,再说BP网络存在“殊途同归”的问题,所以每次不太一样也是正常的,只要测试误差满足要求就行了。

什么是神经网络堆栈平衡

神经网络堆栈平衡是人工智能神经网络如今在人工智能领域中已经变得非常流行,但是很多人对它们仍然缺乏了解人工智能(ArtificialIntelligence),英文缩写为AI。

它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。

人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。

人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。

人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。

人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。

但不同的时代、不同的人对这种“复杂工作”的理解是不同的。2017年12月,人工智能入选“2017年度中国媒体十大流行语”。

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=newdouble[][]{{1,2},{2,2}};//设置目标数据,对应4个坐标数据的分类double[][]target=newdouble[][]{{1,0},{0,1}};12341234则(3,1)结果变成了三角形,如果你选前两个点你会发现直接一条中间线就可以区分这时候的你的结果跟之前4个点时有区别so你得增加样本直到这些样本按照你所想要的方式分类,所以样本的多少重要性体现在,样本得能反映所有的特征值(也就是输入值),样本多少或者特征(本例子指点的位置特征)决定的你的网络的训练结果,!

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

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

个人见解。

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

如何处理机器学习中的不平衡分类问题

天生适合多分类,RBF神经网络等),欢迎补充;神经网络(如bp神经网络,通过投票算法选择概率最大的分类标签。

或许不太完善;也可以通过聚类算法(KNN,随机权神经网络,kMeans等)等无监督学习算法实现分类;通过建立多个支持向量机或者最小二乘支持向量机分类模型maxsoft作为logistics二分类的改进版。

在模式识别、人工神经网络方法中,为什么要进行数据预处理呢?

1.原数据可能数据量很大,维数很,计算机处理起来时间复杂度很高,预处理可以降低数据维度。2.数据的很多特性非常影响神经网络等分类模型的效果。

比如数据值得分布不在一个尺度上,当地气温值与当地月工资显然不在一个数量级上,这时,需要数据规范化,把这两个特征的数据都规范到0到1,这样使得它们对模型的影响具有同样的尺度。

3.当然,数据预处理还有很多,比如中心化,去噪,降维,平滑,变换等等,各有各的目的,总之都是为了最终分类器的效果服务,由于原数据可能含有大量的噪声,去除噪声是有必要的。

神经网络,训练样本500条,为什么比训练样本6000条,训练完,500条预测比6000条样本好!

并非训练样本越多越好,因课题而异。1、样本最关键在于正确性和准确性。你所选择的样本首先要能正确反映该系统过程的内在规律。

我们从生产现场采得的样本数据中有不少可能是坏样本,这样的样本会干扰你的神经网络训练。通常我们认为坏样本只是个别现象,所以我们希望通过尽可能大的样本规模来抵抗坏样本造成的负面影响。

2、其次是样本数据分布的均衡性。你所选择的样本最好能涉及到该系统过程可能发生的各种情况,这样可以极大可能的照顾到系统在各个情况下的规律特征。

通常我们对系统的内在规律不是很了解,所以我们希望通过尽可能大的样本规模来“地毯式”覆盖对象系统的方方面面。3、再次就是样本数据的规模,也就是你要问的问题。

在确保样本数据质量和分布均衡的情况下,样本数据的规模决定你神经网络训练结果的精度。样本数据量越大,精度越高。

由于样本规模直接影响计算机的运算时间,所以在精度符合要求的情况下,我们不需要过多的样本数据,否则我们要等待很久的训练时间。

补充说明一下,不论是径向基(rbf)神经网络还是经典的bp神经网络,都只是具体的训练方法,对于足够多次的迭代,训练结果的准确度是趋于一致的,方法只影响计算的收敛速度(运算时间),和样本规模没有直接关系。

如何确定何时训练集的大小是“足够大”的?

神经网络的泛化能力主要取决于3个因素:1.训练集的大小2.网络的架构3.问题的复杂程度一旦网络的架构确定了以后,泛化能力取决于是否有充足的训练集。

合适的训练样本数量可以使用Widrow的拇指规则来估计。

拇指规则指出,为了得到一个较好的泛化能力,我们需要满足以下条件(WidrowandStearns,1985;Haykin,2008):N=nw/e其中,N为训练样本数量,nw是网络中突触权重的数量,e是测试允许的网络误差。

因此,假如我们允许10%的误差,我们需要的训练样本的数量大约是网络中权重数量的10倍。

bp神经网络,是不是数据越多,预测能力越好!

准确的说是数据越全面,越能体现数据分布,预测才越好但一般我们也不知道数据原本的分布是怎么样的~所以,收集越多的不同的数据,一般来说预测就越好。

当然,如果发现数据多到一个程度后,预测效果没什么变化,说明数据的表达能力,或者说数据的分布已经很充沛了,特征方差不变了,多了也没什么用。

BP神经网络数据分类总出错。 30

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值