【问题标题】:Deep learning models with different input size?具有不同输入大小的深度学习模型?
【发布时间】:2018-12-18 18:57:37
【问题描述】:

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

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

假设我们用特征来描述一个城市(有几百万个属性,固定大小但太多了),一个国家可能包含不同数量的城市,最后我们想验证这个国家来自哪个大陆。

所以输入是这样的:

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. 城市特征太多,无法以one-hot编码形式表示。

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

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

欢迎提出任何建议。

【问题讨论】:

    标签: machine-learning deep-learning


    【解决方案1】:

    嗯嗯让我们看看:

    我将从简单的开始:

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

    1:您不必表示为 one-hot enconding。如果你有太多的特征并且想减少数量,你为什么不尝试一些特征分析呢?我想到了一些:Pearson 相关性(也许您的输入是相关的并且不添加新信息),您可以使用随机森林来确定输入对输出是否重要(如果我想预测股票价格,也许知道月相不重要)...您还可以使用PCA或SVD等工具降低特征的维度,希望对您有所帮助!

    【讨论】:

      【解决方案2】:

      我建议如下:

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

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

      • 此特征向量长度可能是为您的数据集调整的超参数
      • 最后,您将获得此可变长度数据的固定长度向量表示
      • 如果输入数据是文本,您可以先对其进行标记[使用 spacy、gensim 等],然后使用简单的 tf-idf 或词袋方法构建简单的 2D 特征表示,然后将其传递给自动编码器获得固定长度的表示
      • 如果需要捕获语义信息,可以使用 RNN/LSTM

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-10-24
        • 1970-01-01
        • 2018-09-03
        • 2017-09-14
        • 1970-01-01
        • 1970-01-01
        • 2021-04-16
        相关资源
        最近更新 更多