【发布时间】:2017-04-16 05:00:16
【问题描述】:
我知道将神经网络用于与文本相关的任何事情都很困难,因为它们在处理非数字输入数据时存在问题。 但我不确定数学集合。和套套。
例如 [0, 1, 2] 和 [3, 4, 5] 或 [[0, 1], [2, 3]] 和 [[4, 5], [6, 7]]
应该可以通过计算所有对应元素之间的距离来计算它们之间的距离,对吧?我真的找不到任何相关信息,也不想在不确定的情况下开始使用神经网络。
(使用“set”搜索任何内容都没有希望,因为您得到的结果只是“数据集”一词..)
编辑:
首先:作业特别要求神经网络,所以我不能使用 k-means 或任何其他聚类方法。
所以最初的问题并没有真正解决实际问题。我不必考虑距离度量,而是考虑将集合添加到激活函数以及如何将它们映射到单个值的方法。但是,关于距离度量,我实际上并不确定我在神经网络的哪个点需要它。我想这是一个基本的理解问题。
我现在就写一些想法。
让我感到困惑的是类别的标准化。拥有三个类别“红色”、“绿色”和“蓝色”,您可以将它们映射到数字 1 到 3,但这意味着“红色”与“蓝色”的距离比“绿色”更大,这不是案子。因此,类别被编码为 (1, 0, 0) 和 (0, 1, 0) 和 (0, 0, 1),这使它们具有相同的距离。
所以必须可以以某种方式将这些添加到激活函数中。我可以想象它们被解释为二进制数,因此 (1,0,0)=100=4, (0,1,0)=010=2 和 (0,0,1)=001=1。那将是一个独特的映射。但是数字 1 到 3 是不同的,因此如上所述,距离度量在某些时候必须是必要的。
所以问题仍然是如何将集合映射到单个值。我可以在将其添加到函数之前立即执行此操作,因此我不必选择同时保持集合之间的逻辑距离的映射,因为当到达应用距离度量的点时,我仍然可以将其应用到原始集,不必使用映射值。那是对的吗?还是我还缺少什么?
【问题讨论】:
-
计算集合之间的距离是否是目标?因为有很多方法可以做到这一点,具体取决于您如何定义它,但是一旦您定义了距离度量,就不需要机器学习;你可以直接计算它。如果这不是目标,那是什么?几乎可以肯定有一种方法可以对数据进行编码(与您所听到的相反,对文本数据进行编码也非常简单),但这取决于问题描述。
-
嗯,聚类是目标。我想我的问题实际上是激活函数。我需要以某种方式将集合映射到可以添加到计算中的简单值,对吗?或者是否有一个激活函数可以将集合作为输入向量的一部分来处理?或者我应该在一开始就更改输入向量的格式?所以 (4, 5.2, [1, 0]) 变成 (4, 5.2, 1, 0)?像那样赋予系列更多的重要性似乎是不对的。对于这些基本问题,我很抱歉,但我对此完全陌生,找不到令人满意的答案。
-
如果你想使用神经网络,你需要找到某种方法将你的输入映射到一个向量上。这种特定的执行方式是否理想取决于区分 {{1,0}} 和 {1,0} 的重要性。我认为,如果您编辑问题以提供有关集合所代表的确切含义以及为什么要对它们进行聚类的更多详细信息,这将有所帮助。也许你想聚集在一起的那种集合的一些例子。例如,
{0,1,2}是否更类似于{0,1}或{{0},{1},{2}}?一旦我们掌握了这类信息,我们就可以就如何(继续...)提出建议 -
(...continued) 创建到输入向量的映射(以便您可以使用神经网络)或正式的距离度量(因此您可以使用其他聚类算法,如 K-means 或分层聚类)。只要您尝试自己研究过基本问题,就无需为基本问题道歉。 (无论如何,这可能不像您想象的那么基本。即使有经验,找到好的编码有时也很棘手。)
标签: machine-learning neural-network artificial-intelligence