首页 文章

双向LSTM(BLSTM)的培训,测试和验证集

提问于
浏览
1

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

我正在努力改进对受监控 Health 值组成的个别主题数据的预测 . 在最简单的情况下,对于每个主题,存在一个长时间序列的值(> 20k值),并且该时间序列的连续部分从一组类别中标记,这取决于主题的当前 Health 状况 . 对于BLSTM,网络将同时训练所有前后数据 . 那么问题是,如何分割一个主题的时间序列?

  • 我不能只拿最后2,000个值(例如),因为它们可能都属于一个类别 .

  • 我不能随机砍掉时间序列,因为学习和测试阶段都会由脱节的块组成 .

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

1 回答

  • 0

    我认为这与您的特定数据集有关,而不是Bi-LSTM .

    您难以分割数据集以进行训练/测试,而不是拆分特定样本中的序列 . 看起来你有许多不同的科目,它们构成了不同的样本 . 对于标准的训练/测试分割,您可以按照上一段中的建议在主题之间分割数据集 .

    对于任何类型的RNN应用程序,您不会沿着时间顺序分开;您将整个序列作为单个样品输入Bi-LSTM . 因此,问题确实在于这样的模型是否适合您的问题,该问题在序列中的特定点处具有多个标签 . 您可以使用LSTM模型的序列到序列变体来预测序列中每个时间点所属的标签,但同样不会将序列分成多个部分 .

相关问题