基本神经网络架构参数

来源:互联网 发布:易采网站数据采集系统 编辑:程序博客网 时间:2024/06/05 16:45

1、节点数以及层数

一般的神经元架构都是3层(1个隐藏层),最多情况下不会超过5层(3个隐藏层)。输入层神经元节点对应训练数据(xi)的特征,输出层神经元节点对应训练目标(yi),有多少个类输出层就有多少个点。NG的视频中说到,默认有一个隐藏层,如果有多个,则每个隐藏层的单元数量一样多(一般越多越好,稍大于输入层)。

2、权值初始化

神经网络的初始权值不能像线性回归和逻辑回归那样,全部初始化为0,这里应该初始化为不完全相等的一组值(采用随机初始化的方法)。如果wij的初始值彼此相等,它们将在学习过程中始终保持相等,可能达不到学习不同特征的目的,失去了神经网络架构的意义;初始wij不全相同,每个神经元学到不同的代表特征(represent feature),对模型准确性有很大的帮助。

3、学习率(α

在经典的反向传播算法(BP)中,学习率一般由经验确定,学习率较大,权重变化越大,可能收敛越快;但学习率过大,会引起系统的振荡,也会导致很难或无法收敛。因此,在不导致振荡前提下,学习率越大越好。因此,在DPS(Data Processing System)数据处理系统中,学习率会自动调整,并尽可能取大一些的值;但用户可规定一个初始的学习率,该值一般取0.9。

4、允许误差

自己设置一个比较小的阈值(β),一般设为103105之间。当相邻两次迭代结果的减小量小于该值时,系统结束迭代计算,认为损失函数收敛,给出最优结果。

5、迭代次数

由于神经网络需要不断的调整参数,不保证在每次的训练过程中最终的结果会收敛,因此需要设置一个最大的迭代次数,一般取1000次,超过该数字便停止迭代,输出当前训练结果。