在前馈神经网络中,我可以输入一个“无关紧要”的特征吗?

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

假设为了简化问题,这个神经网络是一个用于区分正方形和圆形的二元分类器。

输入是一个特征向量,由5个不同的变量组成,例如:

[number_of_corners,number_of_edges,area,height,width]

到目前为止,我的二元分类器在给定完整特征向量的情况下,能够很好地区分这两种形状。

我的问题是:是否可以只输入其中的2到3个特征?甚至是1个?我明白这样做会导致结果的准确性降低,我只是需要知道是否可以这样做。

如果可以,如何实现?

如果输入向量有213个不同的特征,我该如何操作?


回答:

假设你知道areaheightwidth这三个特征(所以你不知道number_of_cornersnumber_of_edges这两个特征)。

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

同样,如果你只知道area特征,你可以对网络的输出进行平均,这些输出是基于多个随机组合的输入值,其中唯一固定的值是area,而其他所有特征的值都是随机变化的。(即,每个向量的area特征相同,但其他所有特征的值都是随机的。)

这可能是一种“技巧”,但我认为随着(几乎)随机向量的数量增加,平均值会趋向于一个值。

编辑

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

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注