第9章 神经网络优化与自适应

在本章中,读者将会看到有助于优化神经网络的技术,从而使其达到最佳性能。例如输入选择、数据集分离和过滤等任务以及隐藏层神经元的数量选择的任务都是可以被调整以提高神经网络性能的例子。另外,本章还关注让神经网络适应实时数据的方法。本章会展示这些技术的两个实现,并选择一些应用问题来做练习。本章涉及以下主题:

  • 输入选择
    • 降维
    • 数据过滤
  • 结构选择
    • 剪枝
  • 在线再训练
    • 随机在线学习
  • 自适应神经网络
    • 自适应共振理论

当开发一个神经网络应用时,经常会面对关于结果准确性的问题。这些问题的源头是多样的:

  • 不良的输入数据;
  • 噪声数据;
  • 非常大的数据集;
  • 不合适的结构;
  • 不合适的隐藏层神经元;
  • 不合适的学习率;
  • 不良的数据分段。

神经网络应用的设计有时需要很多耐心和试错方法。不存在一种方法论可以特别指出隐藏单元的数量应该是多少或者应该用哪种架构,但是对于如何正确选择这些参数还是有一些推荐项的。程序员可能会面对的另一个问题是训练时间过长,这经常引起神经网络无法学习数据。无论训练过程运行了多长时间,神经网络都不会收敛。

提示:

设计一个神经网络需要程序员或者设计者按需多次测试和重新设计结构,直到得到一个可以接受的结果。

另一方面,人们希望提高结果质量。直到学习算法达到停止条件,即迭代次数或者均方误差(译者注,指达到这两个条件的预设值),神经网络才停止学习过程。即便这样,有时结果还是不够准确或者不够泛化,那就需要对神经网络结构和数据集进行重新设计。 ...

Get 神经网络算法与Java编程 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.