参数对神经网络的影响

P.S. 后来发现这里的分析结论都是错的。

写完机器学习的作业,顺便对神经网络使用过程分析一下。

#0 表现较好的网络

训练数据 : 2000笔

网络结构:

  • 使用两层 layer

  • 每层 unit 为 20个

  • 激活函数为 sigmoid

img

#1 表现不好的网络

1.同样参数下 activation 为 relu 的结果
由于relu的一次微分比sigmoid函数大导致训练结果反复震荡。

img

2.同样参数下的将每层节点由20个增加至200个的结果
由于神经网络参数多,但是训练数据batch太小导致模型严重震荡。

img

3.与2对比,将batch大小增加20倍的结果

img

可见, 神经网络确实需要吃足够的数据才能让整个模型训练得足够比较好,在训练集相同时候也不见得越胖越高的神经网络的表现更好。