【问题标题】:Multilabel classification using LSTM on variable length signal using Keras使用 Keras 对可变长度信号使用 LSTM 进行多标签分类
【发布时间】:2018-06-12 06:48:15
【问题描述】:

我最近开始研究各种类别的心电图信号分类。它基本上是多标签分类任务(共 4 类)。我是深度学习、LSTM 和 Keras 的新手,所以我对一些事情感到困惑。

  1. 我正在考虑将归一化的原始信号作为网络的输入,这是一个好方法吗?

  2. 我还需要了解 LSTM 的训练输入形状,因为 ECG 信号具有可变长度(9000 到 18000 个样本),并且通常分类器需要固定的可变输入。如果是 LSTM,我该如何处理这种类型的输入。

  3. 最后,对于如此长的输入,深度 LSTM 网络的结构应该是什么,我应该使用多少层。

感谢您的宝贵时间。 问候

【问题讨论】:

    标签: python keras signal-processing lstm multilabel-classification


    【解决方案1】:

    我正在考虑将标准化的原始信号作为输入到网络,是这种良好的方法吗?

    这是一个很好的方法。深度学习算法实际上是非常标准的,使其输入的输入归一化或重新定义。

    这通常可以帮助您的模型更快,因为现在您在较小的范围内(即:[-1,1])而不是来自原始输入的更大的未归一成分范围(例如[0,1000])。它还可以帮助您获得更好的,更精确的结果,因为它有助于解决像消失的梯度等问题,也可以适应现代激活和优化器功能。


    我还需要了解LSTM的训练输入形状,因为ECG信号是可变长度(9000到18000个样本),并且通常对Classifier需要固定变量输入。如何处理LSTM的这种输入类型。

    这个部分非常重要。您是正确的, LSTM希望接收具有固定形状的输入,您预先知道(实际上,任何深度学习层都期望固定的形状输入)。这也在@ 987654321上解释在他们说的经常性层上:

    输入形状

    3d带 shape(batch_size,timesteps,input_dim)

    正如我们所看到的,它希望您的数据有多个timesteps以及每个时间步(批量大小通常为1)的维度。为了举例说明,假设您的输入数据包含以下元素:[[1,4],[2,3],[3,2],[4,1]]。然后,使用1的batch_size 数据的形状是(1,4,2)。正如您所拥有的4个时间,每个时间都有2个功能。

    所以底线,你必须确保你预先处理你的数据,所以它有一个固定的形状,然后可以传递给您的LSTM层。这个你必须要找出你自己,你知道你的数据和问题比我们更好。

    也许您可以修复您从信号中获得的样本,丢弃一些并保持别人,因此每个信号都具有相同的长度(如果您说出您的信号在9k和18k选择9000之间,则可能是逻辑选择,从而丢弃样品你得到的其他人)。您甚至可以以一种从9000-18000的输入映射到固定大小的方式对您的数据进行其他转换。


    最后应该是深层LSTM网络的结构,用于这种冗长的输入以及我应该使用多少层。

    这个真的很广泛,没有一个独特的答案。这取决于您的问题的性质,并确定这些参数先验 em>并不是那么简单。

    我建议你做的是以简单的模型开始,然后逐步添加图层和块(神经元),直到您对结果感到满意。

    首先尝试一个隐藏的图层,培训和测试您的模型并检查您的性能。然后,您可以添加更多块,看看您的性能是否有所改善。您还可以添加更多的图层并在满意之前检查相同。

    这是创建深度学习模型的好方法,因为您将在将网络保持尽可能瘦的同时到达您想要的结果,从而有助于您的执行时间和复杂性。祝你的编码好运,希望你找到这个有用的。

    【讨论】:

    • 谢谢@darkcygnus for细节解释非常感谢!在那里我仍然混淆的是时间戳。以下时间表是样本数量? span>
    • 其次是提供实际归一化信号的正常,或者我应该从信号中提取特征并将这些功能作为输入提供......考虑到我的输入大小是最好的? span>
    • @ Naqvi按Timesteps表示,这意味着您的ECG的“时间”维度。换句话说,在给出的示例中,它是4,因为数据集的单个元素包括四个连续信号的离散样本(巧合地有2个特征),每一个具有不同的电压(或无论单位)观点。像4“框架”或信号的特定时刻一样。 span>
    • 所以在你的例子中,我们有两个输入样本,每个输入样本有四个特征呢? span>
    • 谢谢男人现在几乎清楚了..我会把它给予...... span>
    猜你喜欢
    • 2019-06-24
    • 2020-06-26
    • 2017-10-25
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    • 2017-09-27
    • 1970-01-01
    • 2020-02-08
    相关资源
    最近更新 更多