artificial-intelligence - 当输入数量可变时如何使用神经网络?

标签 artificial-intelligence machine-learning neural-network pattern-recognition

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

最佳答案

我也遇到过这个问题。 ANN 是为固定特征向量长度而设计的,许多其他分类器也是如此,例如 KNN、SVM、贝叶斯等。 即输入层应该明确定义并且不变化,这是一个设计问题。 然而,一些研究人员选择添加零来填补缺失的空白,我个人认为这不是一个好的解决方案,因为这些零(虚值)会影响网络收敛到的权重。此外,可能存在以零结尾的真实信号。

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

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

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

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

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

目前就这些,如果这些都不适合您,请与我联系。

关于artificial-intelligence - 当输入数量可变时如何使用神经网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1766461/

相关文章:

python - Keras 模型根本不学习

artificial-intelligence - 在国际象棋的 Alpha-Beta 搜索中实现 killer 启发式

machine-learning - 这两种神经网络结构的根本区别是什么?

python - 神经网络(无隐藏层)与逻辑回归?

swift - Apple Vision 错误 – 使用无法解析的标识符 'ObjectDetector'

python - ValueError : Unable to coerce to Series, 长度必须为 1:给定 n

python - 如何在 Python 中有效地模拟图像压缩伪影?

deep-learning - 如何在 YOLOv5 中仅在感兴趣的区域进行检测?

machine-learning - 定时从Google Colab下载

python - sklearn 在尝试预测数字时总是预测 1