【问题标题】:Normalize/denormalize and testing & validate ANN matlab规范化/非规范化以及测试和验证 ANN matlab
【发布时间】:2014-06-17 17:15:05
【问题描述】:

我正在尝试在 Matlab 中设计神经网络, 我在许多来源中看到用于训练神经网络的数据 最好是规范化,使用[pn,ps] = mapstd(Input) 规范化输入和目标, 然后我训练网络,最后我通过a=sim(net,pn) 测试网络; 我的问题是:

如何将结果转换为正常结果?

最后一件事,有没有办法用新数据训练网络以提高性能? 我的意思是用更多数据训练,其中称重略有变化以提高旧性能 很明显,规范化是指这个函数[pn,ps] = mapstd(Input) 我认为所有值都将在 -1 到 1 的范围内,神经网络的 sim 将归一化结果,而我必须再次将其转换为原始范围如何?

【问题讨论】:

  • 我不知道投反对票的人是怎么想的!!
  • 反对票是因为您的问题太模糊,而且解释得非常糟糕和不清楚。您应该遵循 SO 规则,因为您需要一些帮助!给出一些代码,它出了什么问题以及你尝试了什么。据我所知,您可以重新调整您的神经网络,但我不知道如何。另外, sim() 的结果已经是正常的结果。你说的正常是什么意思?使用一些 xexample、要运行的代码等编辑您的问题,我会帮助您并为您投票
  • @AnderBiguri 非常感谢,归一化由 [pn,ps] = mapstd(Input) 完成,其中神经网络的结果将在 -1 到 1 的相同范围内,而我们有将其恢复到原始范围

标签: matlab neural-network


【解决方案1】:

要回答第一个问题,您不需要走得太远。阅读documentation of mapstd()。在那里你有一个名为“定义”的部分,你有你正在寻找的东西。解释了为什么/如何使用mapstd() 以及如何在模拟后反转网络(在您的情况下为 ANN)结果中的结果。阅读它,你现在就会知道如何去做!

对于第二个问题,我将参考另一篇 SO 帖子,它的解释比我要做什么更好,here it is!仔细阅读,因为它解释得很好。

【讨论】:

  • 非常感谢,我在发布这个问题之前阅读了 mapstd(),其中这个函数应该有一个最小和最大的输入,该变量应该反转 X = mapstd('reverse' ,Y,PS),除了标准化之外,我没有其他任何东西用于网络模拟的输出,用于重新训练神经网络,我尝试阅读但我不明白,我已经使用了火车函数,然后如何使用这个函数以及我如何告诉这个函数我已经训练了网络并且只需要改进它?
  • @Sayed 这个话题在一篇文章中解释起来有点复杂。如果您仔细阅读了这篇文章,您会注意到 1.- 回答者真的建议不要对 NN 使用在线学习 2.- 如果您转到答案中链接的 matlab 页面,您有 3 种方法,其中包含有关如何使用的代码去做吧。我真的不明白你的问题。你有什么问题?
  • @Sayed,不,你不需要最大和最小。对于反向“非规范化”结果,您只需要使用以下代码:anew = mapstd('reverse',a,ps);
  • 感谢您的反馈,使用mapstd的反向是使用要对其进行归一化的数据及其最小值和最大值,然后才能进行归一化!那么要反转它还需要云来自哪里的数据的最小值和最大值?
  • @Sayed 对于反向,您需要我的评论中提到的 3 个变量:1.- 'reverse',一个字符串。 2.-a,您的 sim 3.-ps 的结果,通过在 NN 训练之前将 mapstd 应用于输入而获得。问题出在哪里,我不明白。拜托,我知道英语我不是你的母语,但在发帖前试着复习一下,我真的不明白你的意思,对不起。
猜你喜欢
  • 2021-06-13
  • 2013-08-21
  • 2016-05-13
  • 2018-06-06
  • 2020-04-06
  • 1970-01-01
  • 2012-12-31
  • 1970-01-01
  • 2012-05-22
相关资源
最近更新 更多