具有不同输入大小的深度学习模型?

时间:2018-07-10 20:37:24

标签: machine-learning deep-learning

我使用的所有模型都特别针对具有相同输入大小(图像或矢量)的数据进行训练。

我最近遇到了一个我想使用深度学习方法解决的问题。

假设我们使用特征来描述城市(有数百万个属性,固定大小但太多),并且一个国家可能包含不同数量的城市,最后,我们要验证该国家/地区来自哪个洲。< / p>

所以输入类似于:

country A :{<city_1 attributes: 1, 3, ...> ... <city_n attributes: 21, 11, 294,...>}
...
...
...
country N :{<city_x attributes: 55, 21, ...> ... <city_n attributes: 25, 2, ...>}

*index represents corresponding entry in characteristics database that has millions entries.

我可以将数据转换为类似的内容

< <1, 4, 32> <23, 55, 203123, ...> ... <2, 4 ,23 ...> >
...
...
...
< <21, 55, 87...> <5> ...>

有两个问题

  1. 城市特征太多,无法以一键编码形式表示。

  2. 每个条目中的城市数量不同,并且没有上限。

我不确定这是否是一个很好的例子,但是您明白了。 我只能想到RNN,但是这种情况下的数据是完全独立的,每个城市之间没有顺序关系。

任何建议都值得赞赏和欢迎。

2 个答案:

答案 0 :(得分:0)

嗯,让我们看看:

我将从简单的一开始:

2:为什么不只训练一个分类器,其中输入是城市的属性,输出是国家?

1:您不必将其表示为一站式服务。如果功能太多,并且想减少数量,为什么不尝试某些功能分析呢?我想到了一些:Pearson相关性(也许您的输入是相关的,并且不添加新信息),您可以使用随机森林来确定输入是否对输出重要(如果我想预测股票价格,也许知道月相并不重要)...您还可以使用PCA或SVD等工具缩小功能的尺寸,希望对您有所帮助!

答案 1 :(得分:0)

我建议以下内容:

  • 由于数据不是图像,也不是时间顺序,因此最好使用N层神经网络

  • 由于输入大小是可变的,因此您可以使用自动编码器之类的东西来获取输入数据的固定长度表示形式。

  • 此特征向量的长度可能是针对您的数据集调整的超参数
  • 最后,您将获得可变长度数据的固定长度矢量表示形式
  • 如果输入数据是文本,则可以先将其令牌化(使用spacy,gensim等),然后使用简单的tf-idf或词袋方法来构建简单的2D特征表示,然后将其传递给自动编码器获取固定长度的表示形式
  • 如果需要捕获语义信息,则可以使用RNN / LSTM