假设我们有一个要使用一组特征向量训练的 MLP,其中一些向量包含未知值。我应该如何处理?MLP能做到这一点吗?
假设训练向量是:
(1.0, 3.4, unknown, 2.0), (3.1, unknown, 1.2, 0.1), (2.1,3.4,1.2,4.5), ...
我正在使用 FANN。
假设我们有一个要使用一组特征向量训练的 MLP,其中一些向量包含未知值。我应该如何处理?MLP能做到这一点吗?
假设训练向量是:
(1.0, 3.4, unknown, 2.0), (3.1, unknown, 1.2, 0.1), (2.1,3.4,1.2,4.5), ...
我正在使用 FANN。
您指的是缺失数据问题(Little. and Rubin 1987)。这不是神经网络分类器可以单独处理的事情。您应该预处理您的数据,并尝试通过基于已知实例变量值的简单统计估计值 (1) 或更高级的算法 (2) 来填充缺失的数据。
instance1 = 0, 0, 1, 0, 1
instance2 = 0, 0, 1, 0, 1
instance3 = 1, 1, 1, 0, 0
instanceX = 1, 1, 1, 0, ?
# The statistical approach
We can see that instanceX shares a lot of instance3's features,
thus we will set the unknown variable accoring to instance3's defined value: 0
# The mean
We could calculate the dataset's mean value for this variable and
use the calculated value: 1
这是一种更复杂的算法,用于查找缺失数据的近似估计值。在此处阅读算法介绍。