【问题标题】:Unstable output values from ANN and improving accuracyANN 的输出值不稳定并提高准确性
【发布时间】:2014-08-11 21:44:05
【问题描述】:

我正在尝试使用 PyBrain 开发一个人工神经网络来对生物数据进行建模。我的 ANN 编译并运行,但其准确度值非常低,从未超过 ~62%。从编码的角度来看,如何提高 ANN 的准确性?我注意到的是,即使测试数据集没有改变,ANN 的输出也每次都不相同——ANN 的行为不稳定是否有原因,我该如何改进呢?

谢谢! :)

【问题讨论】:

  • 您使用的是什么类型的网络?您使用什么类型的学习/优化?
  • 我使用的是 PyBrain 库中内置的反向传播算法,而我的隐藏层使用的是 tanh 压缩函数。我希望这能回答这个问题——如果有帮助,我很乐意提供代码。

标签: statistics neural-network bioinformatics pybrain


【解决方案1】:

如果您每次运行脚本时都创建新网络,那么输出不同是正常的。

每次创建 ANN 时,pybrain 都会使用随机值(范围 0 到 1)初始化连接权重。

您可以使用 NetworkWriter 保存您的 ANN,并使用 pybrain.tools.customxml 中的 NetworkReader 读取它(请参阅代码文档以供参考,pybrain API 缺少一些东西)。

您可以使用learning rate and momentum 调整训练过程。您也可以将更多的训练时期应用于您的网络。

如果你提供你的代码,我可以说更多。

【讨论】:

  • 谢谢!但是,有没有办法保存产生最高准确度的迭代?
  • 我个人遍历动量值(从 0 到 1 步 0.1,但它可以更小,例如 0.01,如果你有时间)和学习率(从 0.1 到 1 步 0.1),我使用 @987654322 @ 保存在 testOnData() 上得分最高的网络,来自 BackpropTrainer 类。
猜你喜欢
  • 1970-01-01
  • 2019-11-14
  • 1970-01-01
  • 2023-04-05
  • 2019-12-11
  • 2019-06-08
  • 1970-01-01
  • 2021-01-13
  • 1970-01-01
相关资源
最近更新 更多