我的数据集中有很多空值,所以我想让我的神经网络在没有空值的行上“了解更多”,因为这些行更重要。
有没有办法做到这一点?
我的数据集中有很多空值,所以我想让我的神经网络在没有空值的行上“了解更多”,因为这些行更重要。
有没有办法做到这一点?
是的,您可以对每个示例的损失函数进行加权,这样您的成本函数就不是
这将是
在哪里迭代您的数据集,是您正在使用的损失函数,是每个示例的基本事实,并且是每个例子的预测。
您可以根据示例和您的数据集/目标,根据您喜欢的任何标准设置相关性权重。因此,例如,您可以将其设置为完整的例子和对于不完整的例子。根据您的 NN 框架,它可能已经提供了每个示例的权重,即使没有,自动微分也意味着您通常只需将前向逻辑实现到每个小批量的成本函数中,并且将应用权重无需更多工作即可正确渐变。如果确实需要自己实现梯度计算,只需将每个示例的初始梯度乘以示例的权重即可.
一旦你做出这样的改变,你需要注意如何设置和解释你的测试集。当您的模型用于生产时,如果仍然存在缺少细节的输入,您可能不想以相同的方式对指标(例如准确度评级)进行加权,而是针对正确采样的数据集按原样报告它来自预期投入人口的看不见的例子。