隐藏层的数目如何确定?
这个问题换成理论来讲:函数逼近程度如何确定?
假设隐藏层数目为m,数据集数据量为N。
①最佳逼近精确度:m要足够大
②逼近的拟合程度:m/N要足够小
所以,隐藏层m越大越好,但是数据集不大,没用,因为会过拟合!
模型训练到什么时候该停止?
理论分析:停止训练,也就是停止学习,理论上就是收敛。
经验分析:经常用一个training steps值表示算法迭代的次数。
收敛准则:
①当梯度向量的欧几里得范数达到充分小的梯度阈值,反向传播算法收敛
②当每一个回个的均方误差变化绝对小(0.1%-1%),反向传播算法收敛
学习率如何确定和调整?
delta法则中加入动量项,可以让梯度下降的快而且稳定
经验分析:学习率刚开始要快,到了中后期就该变慢。如果学习率一直不变容易导致波动太大,不收敛,形成震荡,不稳定。
理论分析:待续
初始化参数要求?
①权值初始化:均值为0的均匀分布
原因:
⑴权值初始化过大,网络的神经元很可能会趋于饱和。
why?
梯度一般不是很大,权值更新非常慢,导致饱和。
⑵权值初始化过小,反向传播算法可能就在误差曲面的原点的一个平缓的区域内进行。
why?
鞍点如果是原点(sigmoid激活函数可能性更大),这也是一个稳定点,该点与鞍正交的误差曲面的曲率为负,而沿着鞍方向为正。