当输入数量可变时,如何使用神经网络?
artificial-intelligence
machine-learning
neural-network
7
0

我所看到的神经网络的所有示例都是针对一组固定的输入,这些输入对于图像和固定长度的数据非常有效。您如何处理长度可变的数据,例如句子,查询或源代码?有没有一种方法可以将可变长度的数据编码为固定长度的输入,并且仍然获得神经网络的泛化特性?

参考资料:
Stack Overflow
收藏
评论
共 4 个回答
高赞 时间 活跃

递归神经网络可以解决一些问题。例如,对于计算输入序列上的奇偶校验很有用。

用于计算奇偶校验递归神经网络将只有一个输入功能。随着时间的流逝,比特可以被馈送到其中。其输出也将反馈到隐藏层。这样就可以只用两个隐藏单元来学习奇偶校验。

正常的前馈两层神经网络将需要2 ** sequence_length个隐藏单元来表示奇偶校验。此限制适用于只有2层的任何体系结构(例如SVM)。

收藏
评论

我去过那里,遇到了这个问题。人工神经网络是为固定的特征向量长度而设计的,因此还有许多其他分类器,例如KNN,SVM,贝叶斯等,即输入层应定义良好且不变,这是一个设计问题。但是,有些研究人员选择添加零以填补缺失的空白,我个人认为这不是一个好的解决方案,因为这些零(虚幻值)会影响网络收敛的权重。另外,可能会有一个以零结尾的真实信号。

ANN不是唯一的分类器,还有更多甚至更好的分类器,例如随机森林。该分类器被认为是研究人员中最好的分类器,它使用少量随机特征,通过使用装袋法创建数百个决策树,这可能效果很好,所选特征的数量通常是特征向量大小的平方根。这些功能是随机的。每个决策树都收敛到一个解决方案,然后使用多数规则选择最有可能的类别。

另一种解决方案是使用动态时间规整DTW,甚至更好地使用HMM的隐马尔可夫模型。

另一个解决方案是插值,将所有小信号插值(补偿沿着小信号的缺失值),使其大小与最大信号相同,插值方法包括但不限于平均,B样条,三次...。 。

另一种解决方案是使用特征提取方法来使用最佳特征(最独特),这一次将它们固定大小,这些方法包括PCA,LDA等。

另一种解决方案是使用特征选择(通常是在特征提取之后),这是一种简单的方法,可以选择能够提供最佳准确性的最佳特征。

仅此而已,如果没有一个适合您,请与我联系。

收藏
评论

我想这样做的一种方法是向输入(递归神经网络)添加一个时间分量,然后一次将输入流传输到网络中一个块(基本上创建等效于词法分析器和解析器的神经网络),这将允许输入会很大,但会带来一个缺点,即不一定会有一个停止符号来将不同的输入序列彼此分开(相当于一个句点的句法)

收藏
评论

通常,您将从数据中提取特征并将其馈送到网络。不建议仅获取一些数据并将其馈入网络。实际上,预处理和选择正确的功能将决定您的成功以及神经网络的性能。不幸的是,恕我直言,它需要经验来发展这种感觉,而从书中学到的东西也不是。

总结:“垃圾进,垃圾出”

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号