【问题标题】:How to do machine learning when the inputs are of different sizes?当输入大小不同时如何进行机器学习?
【发布时间】:2015-05-03 08:30:38
【问题描述】:

在标准食谱机器学习中,我们对矩形矩阵进行操作;也就是说,我们所有的数据点都具有相同数量的特征。我们如何应对所有数据点具有不同数量特征的情况?例如,如果我们想做视觉分类,但我们所有的图片都是不同的维度,或者如果我们想做情感分析,但我们所有的句子都有不同的单词量,或者如果我们想做恒星分类,但所有的星星被观察了不同的次数,等等。

我认为正常的方法是从这些不规则大小的数据中提取规则大小的特征。但我最近参加了一个关于深度学习的演讲,演讲者强调,深度学习者可以自己学习适当的特征,而不是从数据中手工制作特征。但是我们如何使用例如如果输入层不是固定大小的神经网络?

【问题讨论】:

    标签: machine-learning neural-network deep-learning


    【解决方案1】:

    由于您询问的是深度学习,我假设您对端到端系统更感兴趣,而不是功能设计。可以处理可变数据输入的神经网络有:

    1) 具有池化层的卷积神经网络。它们通常用于图像识别上下文,但最近也被应用于建模句子。 (我认为他们也应该擅长对明星进行分类)。

    2) 循环神经网络。 (适用于时序数据,如时间序列、序列标注任务,也适用于机器翻译)。

    3) 基于树的自动编码器(也称为递归自动编码器),用于以树状结构排列的数据(可应用于句子解析树)

    通过谷歌搜索可以很容易地找到许多描述示例应用程序的论文。

    对于不常见的任务,您可以根据数据结构选择其中一项,也可以设计这些系统的一些变体和组合。

    【讨论】:

      【解决方案2】:

      您通常可以很容易地使所有实例的特征数量相同:

      如果我们想做视觉分类,但我们所有的图片都是不同尺寸的

      将它们全部调整为特定尺寸/像素数。

      如果我们想做情感分析,但我们所有的句子都有不同的单词量

      在所有文本数据中保留一个包含 k 单词的字典。每个实例将包含一个大小为 k 的布尔向量,如果字典中的单词 i 出现在该实例中,则 i-th 条目为真(这不是最好的表示,但许多都基于它) .查看词袋模型。

      如果我们想要进行恒星分类,但所有恒星的观测次数都不同

      获取所有恒星已观察到的特征。

      但我最近参加了一个关于深度学习的演讲,演讲者强调,深度学习者能够自己学习适当的特征,而不是从数据中手工制作特征。

      我认为演讲者可能提到了更高级别的功能。例如,如果要检测图像中的人脸,则不应手动提取“包含鼻子”的特征。你应该给它提供原始像素,深度学习器会在更深层的某个地方学习“包含鼻子”的特征。

      【讨论】:

      • "获取所有恒星的观测特征。"我不确定这意味着什么。在这个例子中,我们有一个恒星被观测到的时间列表,以及在这些时间测量的星等列表。对于每颗恒星,不仅观测的次数不同,而且次数列表的大小也不同。因此,所有恒星都观察到了 0 个特征。在实践中,人们会构建从这些观察中提取的特征集。但算法不是从观察中学习,而是从一些人工设计的特征中学习。
      • 基本上我想知道如何在不做这些事情的情况下完成这些任务:不调整图像大小,不构建字典。
      • @rhombidodedecahedron - 我不认为你可以。您必须能够提取一些适用于所有实例的基本特征。
      猜你喜欢
      • 2017-04-14
      • 2016-08-08
      • 2021-01-18
      • 1970-01-01
      • 2020-06-11
      • 2020-05-06
      • 2012-08-13
      • 2018-12-18
      • 1970-01-01
      相关资源
      最近更新 更多