在上一篇博客中介绍了Keras,并使用Keras训练数据进行预测,得到的效果并不理想,接下来将以此为基础优化模型,提高预测的精度。
目录
误差分析
模型误差原因分析
在上一篇博客中,我们按照步骤建立了神经网络模型V1.0版本,效果很不理想,因此逐步回溯建模的过程,分析模型不理想的原因:
- 如果模型在训练集的准确率就不好,说明模型欠拟合,应该重新调整模型,提高训练集的拟合效果;
- 如果模型在训练集的准确率高而在测试集的准确率很低,就说明了模型存在过拟合的问题。
模型优化方案
针对这两种情况分别提出相应的优化措施。
New activation function
Vanishing Gradient Problem
常见的以sigmoid函数作为激活函数的神经网路在模型深度很高的时候往往存在梯度消失问题,接近input vector的神经层梯度小,在接近output vector的神经层梯度大,在学习速率一样的情况下,接近input vector的神经层学习速度慢,接近output vector的神经层学习速度快,因此会导致后面几层的神经层达到最优化而前面几层还没怎么进行调参,此时算法停止但并非最优解。如图,通过sigmoid函数会将变化减小,在多神经层的情况下,尽管很大,最终反映在后面几层的变动将大大减小。
ReLU
ReLU全称Rectified Linear Unit,以ReLU作为激活函数可以解决梯度消失问题,通过ReLU对于一个样本通常整个神经网络被简化为较简单的形式(剔除为output为0的神经元)。
ReLU还有多种变形:
Maxout
Maxout介绍
Maxout让神经网络自动地学习适合的激活函数,如图, (x1,