基于神经网络的知识推理实质上是在一个已经训练成熟的网络基础上对未知样本进行反应或者判断。神经网络的训练是一个网络对训练样本内在规律的学习过程,而对网络进行训练的目的主要是为了让网络模型对训练样本以外的数据具有正确的映射能力通常定义神经网络的泛化能力,也称推广能力,是指神经网络在训练完成之后输入其训练样本以外的新数据时获得正确输出的能力。它是人工神经网络的一个属性,称为泛化性能。
不管是什么类型的网络,不管它用于分类、通近、推理还是其他问题,都存在一个泛化的问题。泛化特性在人工神经网络的应用过程中表现出来,但由网络的设计和建模过程所决定。从本质上来说,不管是内插泛化还是外推泛化,泛化特性的好坏取决于人工神经网络是否从训练样本中找到内部的真正规律。
影响泛化能力的因素主要有:
①训练样本的质量和数量。
②网络结构。
③问题本身的复杂程度。
下图是一个简单的曲线拟合实验,图中实线部分表示理想曲线,“十”表示训练样本数据。(a)、(b)、(c)、(d)分别表示训练100、200、300、400次后,神经网络根据输入的样本数据进行曲线拟合的效果。
神经网络的训练次数也称为神经网络的学习时间,由试验结果可以看出,在一定范围内,训练次数的增加可以提高神经网络的泛化能力。然而,在神经网络的训练过程中经常出现一种过拟合现象,即在网络训练过程中,随着网络训练次数的增加,网络对训练样本的误差逐渐减小,并很容易达到中止训练的最小误差的要求,从而停止训练。
然而,在训练样本的误差逐渐减小并达到某个定值以后,往往会出现网络对训练样本以外的测试样本的误差反而开始增加的情况。对网络的训练,并不是使训练误差越小越好,而是要从实际出发,提高对训练样本以外数据的映射能力,即泛化性能。
神经网络的泛化性能还体现在网络对噪声应具有一定的抗干扰能力上。过多的训练无疑会增加神经网络的训练时间,但更重要的是会导致神经网络拟合数据中噪声信号的过学习(over learning),从而影响神经网络的泛化能力。学习和泛化的评价基准不一样是过学习产生的原因。Reed等人对单隐含层神经网络训练的动态过程进行分析后发现,泛化过程可分为三个阶段:
第一阶段,泛化误差单调下降;
第二阶段的泛化动态较为复杂,但在这一阶段,泛化误差将达到最小点;
第三阶段,泛化误差又将单调上升。
最佳的泛化能力往往出现在训练误差的全局最小点出现之前,最佳泛化点出现存在一定的时间范围。理论上可以证明在神经网络训练过程中,存在最优的停止时间。
正向网络推理的步骤和特征
一般来说,正向网络推理的步骤如下:
(1)把已知数据输入网络输入层的各个节点。
(2)利用特性函数分别计算网络中各层的输出。计算中,前一层的输出作为后一层有关节点的输入,逐层进行计算,直至计算出输出层的输出值。
(3)用阈值函数对输出层的输出进行判定,从而得到输出结果。
正向网络推理具有如下特征:
(1)同一层的处理单元(神经元)是完全并行的,但层间的信息传递是串行的。由于层中处理单元的数目要比网络的层数多得多,因此它是一种并行推理。
(2)在网络推理中不会出现传统人工智能系统中推理的冲突问题。
(3)网络推理只与输入及网络自身的参数有关,而这些参数又是通过使用学习算法对网络进行训练得到的,因此它是一种自适应推理。