双向 LSTM (BLSTM) 的训练、测试和验证集
Training, testing, and validation sets for bidirectional LSTM (BLSTM)
当谈到普通 ANN 或任何标准机器学习技术时,我了解训练、测试和验证集应该是什么(概念上和经验法则比率)。然而,对于双向LSTM(BLSTM)网络,如何拆分数据让我很困惑。
我正在尝试改进对由监测到的健康值组成的个体受试者数据的预测。在最简单的情况下,对于每个受试者,都有一个很长的时间序列值(> 20k 值),并且该时间序列的连续部分根据一组类别进行标记,具体取决于受试者的当前健康状况。对于 BLSTM,网络在所有数据上同时向前和向后进行训练。那么问题来了,如何拆分一个主题的时间序列呢?
- 我不能只取最后 2,000 个值(例如),因为它们可能都属于一个类别。
- 而且我不能随机分割时间序列,因为这样学习和测试阶段都将由不连续的块组成。
最后,每个主题(据我所知)都具有略微不同(但相似)的特征。所以,也许,因为我有成千上万的科目,我是否训练一些,测试一些,验证其他的?但是,由于学科间存在差异,如果我只考虑一个学科开始,我将如何设置测试?
我认为与一般的 Bi-LSTM 相比,这更多地与您的特定数据集有关。
您混淆了为 training/testing 拆分数据集与拆分特定样本中的序列。看起来你有很多不同的主题,它们构成了不同的样本。对于标准 training/testing 拆分,您将按照上一段中的建议在主题之间拆分数据集。
对于任何类型的 RNN 应用程序,您都不会沿着时间序列进行拆分;您将整个序列作为单个样本输入到 Bi-LSTM。所以问题真的变成了这样的模型是否非常适合你的问题,它在序列中的特定点有多个标签。您可以使用 LSTM 模型的序列到序列变体来预测序列中每个时间点属于哪个标签,但同样您不会将序列分成多个部分。
当谈到普通 ANN 或任何标准机器学习技术时,我了解训练、测试和验证集应该是什么(概念上和经验法则比率)。然而,对于双向LSTM(BLSTM)网络,如何拆分数据让我很困惑。
我正在尝试改进对由监测到的健康值组成的个体受试者数据的预测。在最简单的情况下,对于每个受试者,都有一个很长的时间序列值(> 20k 值),并且该时间序列的连续部分根据一组类别进行标记,具体取决于受试者的当前健康状况。对于 BLSTM,网络在所有数据上同时向前和向后进行训练。那么问题来了,如何拆分一个主题的时间序列呢?
- 我不能只取最后 2,000 个值(例如),因为它们可能都属于一个类别。
- 而且我不能随机分割时间序列,因为这样学习和测试阶段都将由不连续的块组成。
最后,每个主题(据我所知)都具有略微不同(但相似)的特征。所以,也许,因为我有成千上万的科目,我是否训练一些,测试一些,验证其他的?但是,由于学科间存在差异,如果我只考虑一个学科开始,我将如何设置测试?
我认为与一般的 Bi-LSTM 相比,这更多地与您的特定数据集有关。
您混淆了为 training/testing 拆分数据集与拆分特定样本中的序列。看起来你有很多不同的主题,它们构成了不同的样本。对于标准 training/testing 拆分,您将按照上一段中的建议在主题之间拆分数据集。
对于任何类型的 RNN 应用程序,您都不会沿着时间序列进行拆分;您将整个序列作为单个样本输入到 Bi-LSTM。所以问题真的变成了这样的模型是否非常适合你的问题,它在序列中的特定点有多个标签。您可以使用 LSTM 模型的序列到序列变体来预测序列中每个时间点属于哪个标签,但同样您不会将序列分成多个部分。