如何解决用于多步多类时间序列分类的一维 CNN
假设您有一个具有 n_classes
个可能类别的时间序列分类任务,并且您希望输出每个时间步长(如 seq2seq)的每个类别的概率。我们如何使用 Conv1D 网络实现多步多类分类?
如果使用 RNN,它将类似于:
# input shape (n_samples,n_timesteps,n_features)
layer = LSTM(n_neurons,return_sequences=True,input_shape=(n_timesteps n_features))
layer = Dense(n_classes,activation="softmax")(layer)
# objective output shape (n_samples,n_classes)
keras 会知道,由于 LSTM 层正在输出序列,因此它应该将 Dense
层包裹在 Timedistributed
层周围。
我们如何实现相同的但使用 Conv1D 层?我想我们需要手动将最后一个Dense层用时间分布包裹起来,但是我不知道之前如何构建网络以输出序列
# input shape (n_samples,n_features)
layer = Conv1D(n_neurons,3,input_shape=(n_timesteps n_features))
# ... ?
# can we use a Flatten layer in this case?
layer = Timedistributed(Dense(n_classes,activation="softmax"))(layer)
# objective output shape (n_samples,n_classes)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。