1

当谈到正常的人工神经网络或任何标准机器学习技术时,我理解训练,测试和验证集应该是什么(概念上和经验法则比率)。但是,对于双向LSTM(BLSTM)网络,如何分割数据令我感到困惑。双向LSTM(BLSTM)的训练,测试和验证集

我在尝试改进由受监视的健康值组成的个别主题数据的预测。在最简单的情况下,对于每个主题,有一个长时间系列值(> 20k值),并且该时间系列的连续部分根据主题的当前健康状况从一组类别进行标记。对于BLSTM,网络将同时训练所有数据向前和向后。那么问题是,如何为一个主题分割时间序列?

  • 我不能只取最后的2,000个值(例如),因为它们可能都属于一个类别。
  • 我无法随机将时间序列切碎,因为然后学习和测试阶段都是由不相关的块组成。

最后,每个主题(据我所知)略有不同(但相似)的特点。所以,也许,因为我有成千上万的科目,我是否训练一些,测试一些并验证其他人?但是,由于存在主体间差异,如果我只考虑一个主题开始,我将如何设置测试?

回答

0

我认为这与你的特定数据集有关,比一般的Bi-LSTMs更多。

你在混淆分裂训练/测试数据集与分割特定样本中的序列。看起来你有很多不同的主题,这构成了不同的样本。对于标准的培训/测试拆分,您可以按照您在上一段中的建议,在各科目之间拆分数据集。

对于任何种类的RNN应用程序,您都不会沿着您的时间顺序进行分割;您将整个序列作为单个样本输入到Bi-LSTM。所以这个问题真的会变成这样一种模型是否适合你的问题,在序列中的特定点上有多个标签。您可以使用LSTM模型的从序列到序列的变体来预测序列中每个时间点属于哪个标签,但是又不会将序列分成多个部分。

相关问题