解决反向传播算法中的过度拟合问题的方法:
权值衰减
它在每次迭代过程中以某个小因子降低每个权值,这等效于修改E的定义,加入一个与网络权值的总量相应的惩罚项,此方法的动机是保持权值较小,从而使学习过程向着复杂决策面的反方向偏置。
验证数据
一个最成功的方法是在训练数据外再为算法提供一套验证数据,应该使用在验证集合上产生最小误差的迭代次数,不是总能明显地确定验证集合何时达到最小误差。
k-fold交叉方法
把训练样例分成k份,然后进行k次交叉验证过程,每次使用不同的一份作为验证集合,其余k-1份合并作为训练集合。
每个样例会在一次实验中被用作验证样例,在k-1次实验中被用作训练样例。
每次实验中,使用上面讨论的交叉验证过程来决定在验证集合上取得最佳性能的迭代次数,然后计算这些迭代次数的均值。
最后,运行一次反向传播算法,训练所有m个实例并迭代 i次。
前馈网络的表征能力
布尔函数:任何布尔函数可以被具有两层单元的网络准确表示,尽管在最坏情况下所需隐藏单元的数量随着网络输入数量的增加成指数级增长。
连续函数:每个有界的连续函数可以由一个两层的网络以任意小的误差逼近。这个结论适用于在隐藏层使用sigmoid单元、在输出层使用(非阈值)线性单元的网络。所需的隐藏单元数量依赖于要逼近的函数。
任意函数:任意函数可以被一个有三层单元的网络以任意精度逼近。两个隐藏层使用sigmoid单元,输出层使用线性单元,每层所需单元数不确定。