当input数量可变时neural network是如何使用的?

我所看到的所有关于neural network的例子都是针对图像和固定长度数据的固定input。 你如何处理可变长度的数据,如句子,查询或源代码? 有没有办法将可变长度数据编码成固定长度的input,仍然可以得到neural network的泛化特性?

您通常会从数据中提取function并将其提供给networking。 只采集一些数据并将其inputnetworking是不可取的。 在实践中,预处理和select正确的特征将决定你的成功和neural network的性能。 不幸的是,恕我直言,需要经验来发展,没有人可以从书中学习。

总结:“垃圾进出垃圾”

我一直在那里,我面临这个问题。 人工neural network是针对固定特征向量长度做的,其他许多分类器如KNN,SVM,贝叶斯等也是如此,即input层应该是明确的而不是变化的,这是一个devise问题。 然而,一些研究人员select加零来弥补缺失的差距,我个人认为这不是一个好的解决scheme,因为这些零(不真实的值)会影响networking会聚的权重。 另外可能有一个以零结尾的实际信号。

人工neural network不是唯一的分类器,还有更多,甚至更好的如随机森林。 这个分类器在研究人员中被认为是最好的,它使用less量的随机特征,使用引导装箱法创build数百个决策树,这可能工作得很好,所选特征的数量通常是特征向量大小的sqrt。 这些function是随机的。 每个决策树收敛到一个解决scheme,使用最有可能的类将select的多数规则。

另一个解决scheme是使用dynamic时间规整DTW,或者甚至更好地使用隐马尔可夫模型HMM。

另一种解决scheme是插值,插值(补偿沿着小信号的缺失值)所有小信号与最大信号具有相同的大小,插值方法包括但不限于平均,B样条,立方。

另一个解决scheme是使用特征提取方法来使用最好的特征(最有特色的),这个时候使它们具有固定的尺寸,那些方法包括PCA,LDA等等。

另一种解决scheme是使用特征select(通常在特征提取之后)一种简单的方法来select提供最佳准确性的最佳特征。

现在就是这样,如果没有人为你工作,请与我联系。

一些问题可以通过循环neural network来解决。 例如,对于input序列计算奇偶性是很好的。

计算奇偶性的recursionneural network只有一个input特征。 随着时间的推移,这些比特可以被送入。 它的输出也被反馈给隐藏层。 这可以让学习只有两个隐藏单位的平价。

正常的前馈双层neural network需要2 **个序列长度的隐藏单元来表示奇偶性。 这个限制适用于任何只有2层的架构(例如,SVM)。

我想一个办法是将一个时间成分添加到input(循环neural network),并一次input到networking的一个块(基本上创build一个词法分析器的neural network等价物),这将允许input是相当大的,但会有一个缺点,就是不一定有一个停止的符号来分隔彼此不同的input序列(相当于一个时期的官能)

为了在不同尺寸的图像上使用neural network,图像本身通常会被裁剪并缩放以更好地适应networking的input。 我知道这并不能真正回答你的问题,但是对于其他types的input,可能会有类似的东西,对input使用某种变换函数呢?

我不完全确定,但我会说,使用最大数量的input(例如,对于单词,可以说任何单词将超过45个字符(根据维基百科在字典中find最长的单词),如果更短遇到字,将其他input设置为空白字符。

或者使用二进制数据,将其设置为0.使用这种方法的唯一问题是,如果input中填充空白字符/零/任何与有效的全长input冲突(不像单词和数字一样有问题)。