1. 神经网络的泛化性能如何计算
神经网络的泛化能力就是通过仿真来测验的,输入测试样本后看输出能与期望输出保持多大的一致。
2. BP神经网络当中 所提到的泛化能力是指什么
就是外推的能力。
很多时候训练的网络对于训练的数据能很好的拟合,但是对于不在训练集内的数据拟合就很差强人意了。这种情况就叫泛化能力----差。也就是说可能你的网络存在过拟合的现象。
3. 交叉验证会影响网络泛化能力嘛
你这个问题本来就问的很模糊,你是想问神经网络的过拟合变现什么样还是为什么出现过拟合呢。为此针对于第一个问题,神经网络的过拟合与支持向量机、高斯混合模型等建模方法的过拟合类似,表现为针对于训练数据集的建模效果很好,而对于测试数据集的建模效果很差,因为过于强大的学习能力是的预测模型中的噪声将有用信息湮没了,致使泛化能力很差。针对于第二个问题,出现上述现象的主要原因在于隐层节点数太多(隐层节点数越多,学习能力越强),使得预测模型在训练时候将训练数据集中的噪声也挖掘出来了,也就是噪声将有用信息湮没了。所以在使用神经网络进行建模时一定要处理好模型过拟合的问题,可以一方面增加数据的样本集,另一方面采用交叉验证选择合适的隐层节点数,在精度与泛化能力之间做一个权衡,最常用的方法就是增加正则化项,一定程度上可以防止模型的过拟合问题。(+机器学习算法与Python学习)
4. BP神经网络的核心问题是什么其优缺点有哪些
人工神经网络,是一种旨在模仿人脑结构及其功能的信息处理系统,就是使用人工神经网络方法实现模式识别.可处理一些环境信息十分复杂,背景知识不清楚,推理规则不明确的问题,神经网络方法允许样品有较大的缺损和畸变.神经网络的类型很多,建立神经网络模型时,根据研究对象的特点,可以考虑不同的神经网络模型. 前馈型BP网络,即误差逆传播神经网络是最常用,最流行的神经网络.BP网络的输入和输出关系可以看成是一种映射关系,即每一组输入对应一组输出.BP算法是最着名的多层前向网络训练算法,尽管存在收敛速度慢,局部极值等缺点,但可通过各种改进措施来提高它的收敛速度,克服局部极值现象,而且具有简单,易行,计算量小,并行性强等特点,目前仍是多层前向网络的首选算法.
多层前向BP网络的优点:
网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能。这使得它特别适合于求解内部机制复杂的问题;
网络能通过学习带正确答案的实例集自动提取“合理的”求解规则,即具有自学习能力;
网络具有一定的推广、概括能力。
多层前向BP网络的问题:
从数学角度看,BP算法为一种局部搜索的优化方法,但它要解决的问题为求解复杂非线性函数的全局极值,因此,算法很有可能陷入局部极值,使训练失败;
网络的逼近、推广能力同学习样本的典型性密切相关,而从问题中选取典型样本实例组成训练集是一个很困难的问题。
难以解决应用问题的实例规模和网络规模间的矛盾。这涉及到网络容量的可能性与可行性的关系问题,即学习复杂性问题;
网络结构的选择尚无一种统一而完整的理论指导,一般只能由经验选定。为此,有人称神经网络的结构选择为一种艺术。而网络的结构直接影响网络的逼近能力及推广性质。因此,应用中如何选择合适的网络结构是一个重要的问题;
新加入的样本要影响已学习成功的网络,而且刻画每个输入样本的特征的数目也必须相同;
网络的预测能力(也称泛化能力、推广能力)与训练能力(也称逼近能力、学习能力)的矛盾。一般情况下,训练能力差时,预测能力也差,并且一定程度上,随训练能力地提高,预测能力也提高。但这种趋势有一个极限,当达到此极限时,随训练能力的提高,预测能力反而下降,即出现所谓“过拟合”现象。此时,网络学习了过多的样本细节,而不能反映样本内含的规律
由于BP算法本质上为梯度下降法,而它所要优化的目标函数又非常复杂,因此,必然会出现“锯齿形现象”,这使得BP算法低效;
存在麻痹现象,由于优化的目标函数很复杂,它必然会在神经元输出接近0或1的情况下,出现一些平坦区,在这些区域内,权值误差改变很小,使训练过程几乎停顿;
为了使网络执行BP算法,不能用传统的一维搜索法求每次迭代的步长,而必须把步长的更新规则预先赋予网络,这种方法将引起算法低效。
5. 神经网络学习样本越多,泛化能力越强
是的。
构复杂性和样本复杂性:神经网络的容量以及规模称之为神经网络的结构复杂性,样本复杂性是训练某一固定结构神经网络所需的样本数目。
样本质量是训练样本分布反映总体分布的程度,或者说由整个训练样本集提供的信息量。样本质量可以强烈地影响神经网络的泛化能力,改进训练样本质量,也是改善神经网络泛化能力的一种重要方法。
(5)神经网络为什么会有泛化能力扩展阅读:
注意事项:
由于学习速率是固定的,因此网络的收敛速度慢,需要较长的训练时间。对于一些复杂问题,BP算法需要的训练时间可能非常长,这主要是由于学习速率太小造成的,可采用变化的学习速率或自适应的学习速率加以改进。
BP算法可以使权值收敛到某个值,但并不保证其为误差平面的全局最小值,这是因为采用梯度下降法可能产生一个局部最小值。对于这个问题,可以采用附加动量法来解决。
6. RBF神经网络和BP神经网络有什么区别
1.RBF 的泛化能力在多个方面都优于BP 网络, 但是在解决具有相同精度要求的问题时, BP网络的结构要比RBF 网络简单。
2. RBF 网络的逼近精度要明显高于BP 网络,它几乎能实现完全逼近, 而且设计起来极其方便, 网络可以自动增加神经元直到满足精度要求为止。但是在训练样本增多时, RBF 网络的隐层神经元数远远高于前者, 使得RBF 网络的复杂度大增加, 结构过于庞大, 从而运算量也有所增加。
3. RBF神经网络是一种性能优良的前馈型神经网络,RBF网络可以任意精度逼近任意的非线性函数,且具有全局逼近能力,从根本上解决了BP网络的局部最优问题,而且拓扑结构紧凑,结构参数可实现分离学习,收敛速度快。
4. 他们的结构是完全不一样的。BP是通过不断的调整神经元的权值来逼近最小误差的。其方法一般是梯度下降。RBF是一种前馈型的神经网络,也就是说他不是通过不停的调整权值来逼近最小误差的,的激励函数是一般是高斯函数和BP的S型函数不一样,高斯函数是通过对输入与函数中心点的距离来算权重的。
5. bp神经网络学习速率是固定的,因此网络的收敛速度慢,需要较长的训练时间。对于一些复杂问题,BP算法需要的训练时间可能非常长,这主要是由于学习速率太小造成的。而rbf神经网络是种高效的前馈式网络,它具有其他前向网络所不具有的最佳逼近性能和全局最优特性,并且结构简单,训练速度快。
7. bp神经网络的缺点
1)局部极小化问题:从数学角度看,传统的BP神经网络为一种局部搜索的优化方法,它要解决的是一个复杂非线性化问题,网络的权值是通过沿局部改善的方向逐渐进行调整的,这样会使算法陷入局部极值,权值收敛到局部极小点,从而导致网络训练失败。加上BP神经网络对初始网络权重非常敏感,以不同的权重初始化网络,其往往会收敛于不同的局部极小,这也是很多学者每次训练得到不同结果的根本原因。
2)BP神经网络算法的收敛速度慢:由于BP神经网络算法本质上为梯度下降法,它所要优化的目标函数是非常复杂的,因此,必然会出现“锯齿形现象”,这使得BP算法低效;又由于优化的目标函数很复杂,它必然会在神经元输出接近0或1的情况下,出现一些平坦区,在这些区域内,权值误差改变很小,使训练过程几乎停顿。
3)BP神经网络结构选择不一:BP神经网络结构的选择至今尚无一种统一而完整的理论指导,一般只能由经验选定。网络结构选择过大,训练中效率不高,可能出现过拟合现象,造成网络性能低,容错性下降,若选择过小,则又会造成网络可能不收敛。而网络的结构直接影响网络的逼近能力及推广性质。因此,应用中如何选择合适的网络结构是一个重要的问题。
4)应用实例与网络规模的矛盾问题:BP神经网络难以解决应用问题的实例规模和网络规模间的矛盾问题,其涉及到网络容量的可能性与可行性的关系问题,即学习复杂性问题。
5)BP神经网络预测能力和训练能力的矛盾问题:预测能力也称泛化能力或者推广能力,而训练能力也称逼近能力或者学习能力。一般情况下,训练能力差时,预测能力也差。
8. bp神经网络提高泛化能力有几种方法
常规的几种增强泛化能力的方法,罗列如下:1、较多的输入样本可以提高泛化能力;
但不是太多,过多的样本导致过度拟合,泛化能力不佳;样本包括至少一次的转折点数据。
2、隐含层神经元数量的选择,不影响性能的前提下,尽量选择小一点的神经元数量。隐含层节点太多,造成泛化能力下降,造火箭也只要几十个到几百个神经元,拟合几百几千个数据何必要那么多神经元?
3、误差小,则泛化能力好;误差太小,则会过度拟合,泛化能力反而不佳。
4、学习率的选择,特别是权值学习率,对网络性能有很大影响,太小则收敛速度很慢,且容易陷入局部极小化;太大则,收敛速度快,但易出现摆动,误差难以缩小;一般权值学习率比要求误差稍微稍大一点点;另外可以使用变动的学习率,在误差大的时候增大学习率,等误差小了再减小学习率,这样可以收敛更快,学习效果更好,不易陷入局部极小化。
5、训练时可以采用随时终止法,即是误差达到要求即终止训练,以免过度拟合;可以调整局部权值,使局部未收敛的加快收敛。
9. 神经网络,训练样本500条,为什么比训练样本6000条,训练完,500条预测比6000条样本好!
并非训练样本越多越好,因课题而异。 1、样本最关键在于正确性和准确性。你所选择的样本首先要能正确反映该系统过程的内在规律。我们从生产现场采得的样本数据中有不少可能是坏样本,这样的样本会干扰你的神经网络训练。通常我们认为坏样本只是个别现象,所以我们希望通过尽可能大的样本规模来抵抗坏样本造成的负面影响。 2、其次是样本数据分布的均衡性。你所选择的样本最好能涉及到该系统过程可能发生的各种情况,这样可以极大可能的照顾到系统在各个情况下的规律特征。通常我们对系统的内在规律不是很了解,所以我们希望通过尽可能大的样本规模来“地毯式”覆盖对象系统的方方面面。 3、再次就是样本数据的规模,也就是你要问的问题。在确保样本数据质量和分布均衡的情况下,样本数据的规模决定你神经网络训练结果的精度。样本数据量越大,精度越高。由于样本规模直接影响计算机的运算时间,所以在精度符合要求的情况下,我们不需要过多的样本数据,否则我们要等待很久的训练时间。 补充说明一下,不论是径向基(rbf)神经网络还是经典的bp神经网络,都只是具体的训练方法,对于足够多次的迭代,训练结果的准确度是趋于一致的,方法只影响计算的收敛速度(运算时间),和样本规模没有直接关系。
如何确定何时训练集的大小是“足够大”的?
神经网络的泛化能力主要取决于3个因素:
1.训练集的大小
2.网络的架构
3.问题的复杂程度
一旦网络的架构确定了以后,泛化能力取决于是否有充足的训练集。合适的训练样本数量可以使用Widrow的拇指规则来估计。 拇指规则指出,为了得到一个较好的泛化能力,我们需要满足以下条件(Widrow and Stearns,1985;Haykin,2008): N = nw / e 其中,N为训练样本数量,nw是网络中突触权重的数量,e是测试允许的网络误差。 因此,假如我们允许10%的误差,我们需要的训练样本的数量大约是网络中权重数量的10倍。