Machine learning 在前馈神经网络中,我是否能够输入“的特征输入?”;don';“不在乎”吗;?

Machine learning 在前馈神经网络中,我是否能够输入“的特征输入?”;don';“不在乎”吗;?,machine-learning,neural-network,artificial-intelligence,Machine Learning,Neural Network,Artificial Intelligence,我用Java中的DL4J创建了一个前馈神经网络 假设并且为了简单起见,假设这个神经网络是一个正方形和圆形的二元分类器 输入,一个特征向量,将由…组成。。。5个不同的变量: [number_of_corners, number_of_edges, area, height, width] 到目前为止,我的二元分类器可以很好地区分这两种形状,我给它一个完整的特征向量 我的问题:是否可以只输入其中的2或3个功能?甚至是1?我知道这样做的结果会不太准确,我只需要能够做到这一点 如果可能,怎么做 对于一

我用Java中的DL4J创建了一个前馈神经网络

假设并且为了简单起见,假设这个神经网络是一个正方形和圆形的二元分类器

输入,一个特征向量,将由…组成。。。5个不同的变量:

[number_of_corners,
number_of_edges,
area,
height,
width]
到目前为止,我的二元分类器可以很好地区分这两种形状,我给它一个完整的特征向量

我的问题:是否可以只输入其中的2或3个功能?甚至是1?我知道这样做的结果会不太准确,我只需要能够做到这一点

如果可能,怎么做


对于一个在输入向量中有213个不同特征的神经网络,我该怎么做呢?

例如,假设您知道
区域
高度
,和
宽度
特征(因此您不知道
角数
边数
特征)

如果知道一个形状最多可以有10个角和10条边,则可以输入10个具有相同面积、高度和宽度的特征向量,但每个向量的角数和边数的值不同。然后,您可以对网络的10个输出进行平均,并四舍五入到最接近的整数(这样您仍然可以得到一个二进制值)

类似地,如果您只知道
区域
功能,您可以在给定几个随机输入值组合的网络输出上求平均值,其中唯一的固定值是
区域
,所有其他值都不同。(即,
区域
特征对于每个向量都是相同的,但每个其他特征都有一个随机值。)

这可能是一个“技巧”,但我认为随着(几乎)随机向量数量的增加,平均值将收敛到一个值

编辑
如果您有很多功能,我的解决方案将不是一个好的选择。在这种情况下,您可以尝试使用深层信念网络或一些自动编码器来推断其他特征的值,只要这些特征数量很少。例如,DBN可以“重建”有噪声的输出(当然,如果您对其进行了足够的训练);然后,您可以尝试将重建的输入向量提供给前馈网络。

您是否有一些数据向量缺少特征的场景?用于训练、验证和测试神经网络的所有数据都是完全完整的,因为输入向量中的所有特征都存在并且具有有意义的值。然而,我的网络的另一个可能的用例确实涉及对某些字段丢失的数据进行分类。该解决方案可以用于简单的神经网络,如我所描述的。对于一个更复杂的神经网络,如果计算的复杂性使得事情几乎不可能,人们会怎么做呢?例如,我的实际神经网络是一个基于213个不同特征的二元分类器,其中一些特征的值基本上是布尔值(0,1),而其他特征的值则是双倍的,其顺序为0到7位之间的任意长度,如果输入向量更复杂,如果你想得到一个好的平均值,那么我担心实现我的解决方案的唯一方法是增加输入求值的数量。因此,对于213个功能,我的解决方案可能不是一个好的解决方案:)在m个功能总数中的N个中推断出其他功能的值,这正是我想要做的。dbn是否适用于二进制分类?假设我的变量是在0和1之间标准化的完全数字连续数,我应该用什么填充其他向量来避免NullPointerException?该字段的平均值?DBN不是用于分类,而是用于“重建”(你可以说DBN是一种生成模型,而前馈网络是一种区分模型——试着用谷歌搜索这些术语了解更多信息)。但是,在生成输入的重构后,可以将其传递给二进制分类器。因此,您将有:[input vector]->DBN->[重构输入向量]->FFNN->二进制结果