机器学习 – 在前馈神经网络中,我能够输入“不关心”的功能输入吗?

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

假设这个神经网络是正方形和圆形的二元分类器,假设并保持简单.

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

[number_of_corners,
number_of_edges,
area,
height,
width]

到目前为止,我的二元分类器可以很好地区分这两个形状,因为我给它一个完整的特征向量.

我的问题:是否有可能只输入2或3个这些功能?甚至1?我理解结果会不那么准确,我只需要能够这样做.

如果有可能,怎么样?

如何在输入向量中具有213种不同特征的神经网络中进行此操作?

最佳答案 例如,假设您知道区域,高度和宽度要素(因此您不知道number_of_corners和number_of_edges要素).

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

同样,如果您只知道区域特征,则可以在给定几个输入值的随机组合的情况下对网络输出进行平均,其中唯一的固定值是区域,而所有其他值都不同. (即每个矢量的区域特征相同,但每个其他特征都具有随机值.)

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

编辑

如果你有很多功能,我的解决方案将不是一个好的选择.在这种情况下,您可以尝试使用深度信念网络或某些自动编码器来推断给定少量其他功能的值.例如,DBN可以“重建”嘈杂的输出(当然,如果训练得足够的话);然后,您可以尝试将重建的输入向量提供给前馈网络.

点赞