当样本是不同长度的二维数字数组时,如何在Python中训练深度学习模型?

问题描述 投票:0回答:1

我想创建一个深度学习模型,我知道如何使用简单的样本来实现,其中数据集的每一行代表一个样本,但我的样本是二维数字表。所有样本中的特征都是相同的,但它们的长度(行)因样本而异,如下表所示。

样品1:

特点1 特点2 ... 功能 结果
第 1 行F1 第 1 行F2 ... 第 1 行Fn S1
第2行F1 第2行F2 ... 第 2 行Fn S1
... ... ... ...
第 1000 行F1 第 1000 行F2 ... 第 1000 行Fn S1

样本2:

特点1 特点2 ... 功能 结果
第 1 行F1 第 1 行F2 ... 第 1 行Fn S2
第2行F1 第2行F2 ... 第 2 行Fn S2
... ... ... ...
第 1200 行F1 第 1200 行F2 ... 第 1200 行Fn S2

特征是相同的,例如假设特征1代表所有样本中的“姓名”,特征2代表“城市”等等;但每个样本中的行数各不相同。

我无法删除一些行以使样本长度相等,因为它们会影响结果。我也无法将行转换为新特征以将样本转换为一维数字数组,因为有太多行无法做到这一点。

  1. 我想知道我是否需要以某种方式标准化样本的尺寸? (如果是的话我该怎么做?)
  2. 或者是否有一个深度学习模型可以像我的样本一样接受不同维度的输入?

(我正在使用 Python;我读到一种方法是使用 LSTM seq-2-seq 对样本进行编码和解码,但我不知道这是否是处理我的数据集的正确方法。)

提前致谢。

python deep-learning conv-neural-network
1个回答
0
投票

是否有深度学习模型可以像我的样本一样接受不同维度的输入?

我认为这种数据格式适合一维卷积网络。卷积网络能够处理长且不规则的序列,这两者都适用于这种情况。

我读到一种方法是使用 LSTM 对样本进行编码和解码

我认为超过几百步的序列长度对于 LSTM 来说被认为太长,因此 LSTM 不能直接在这里使用。但如果您首先使用卷积网络来压缩内容,那么您可以在该阶段使用 LSTM 进行后续操作。

© www.soinside.com 2019 - 2024. All rights reserved.