【问题标题】:Continuously train MATLAB ANN, i.e. online training?不断训练MATLAB ANN,即在线训练?
【发布时间】:2013-04-04 23:37:50
【问题描述】:

我想问问有什么选项可以连续训练 MATLAB ANN(人工神经网络),即没有预先准备好的训练集?这个想法是有一个“在线”数据流,因此,在第一次创建网络时,它完全未经训练,但随着 ANN 中的样本流被训练并收敛。

ANN 将用于对一组值进行分类,并且实施将可视化 ANN 的训练如何随着样本流经系统而得到改进。 IE。每个样本都用于训练,然后还由 ANN 评估,并将响应可视化。

我期望的效果是,对于第一个样本,ANN 的响应或多或少是随机的,但随着训练的进行,准确性会提高。

欢迎提出任何想法。

问候,奥拉

【问题讨论】:

  • 与其使用一个样本进行训练然后也进行评估,不如在样本进入时将它们分开。所以第一个“x”仅用于训练,之后每“nth”一个被使用评估而不是训练。
  • 您好,Vicky,感谢您的回答。我意识到我有点不清楚;我实际上要做的是对一个项目进行分类,然后用它训练 ANN。因此,我希望第一个分类是随机的,然后越来越好。这里的主要思想是不划分样本,而是跳入连续的数据流并使用每个样本进行训练。我知道如何在带有训练集的正常情况下使用 train(),但我不确定在这种情况下最好的方法,实际上没有训练集但不断训练 ANN?

标签: matlab neural-network


【解决方案1】:

在 MATLAB 中,您可以使用 adapt 函数代替 train。您可以渐进式地执行此操作(每次获得新信息时更改权重),也可以每 N 个样本以批处理方式执行此操作。

This document 从时间序列问题的角度深入剖析了不同的训练方式。

我真的会考虑您在这里尝试做什么,因为适应性学习策略可能很困难。我发现与他们的批量同行相比,他们喜欢到处乱砍。在我处理非常嘈杂的信号的情况下尤其如此。

您确定需要自适应学习吗?你不能定期重新训练你的神经网络吗?或者构建一个泛化能力足够好的?

【讨论】:

  • 谢谢,似乎正是我要找的。它实际上是出于教育目的,即可视化 ANN 如何通过训练得到改进。对于生产 ANN,我同意批处理是首选。
猜你喜欢
  • 1970-01-01
  • 2016-02-18
  • 2014-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-14
  • 2022-11-04
相关资源
最近更新 更多