首页 文章

神经网络自定义二进制预测

提问于
浏览
1

我正在尝试设计一个自定义二进制预测的神经网络 .

通常做二进制预测,我会使用softmax作为我的最后一层,然后我的损失可能是我做的预测和真正的二进制值之间的差异 .

但是,如果我不想使用softmax图层怎么办?相反,我输出一个实数值,并检查此数字上的某些条件是否为真 . 在一个非常简单的情况下,我检查这个数字是否为正数 . 如果是,我预测 1 ,否则我预测 0 . 假设我希望所有数字都是正数,所以真正的预测应该都是1,然后我想训练这个网络,使其输出所有正数 . 我很困惑如何为这个问题制定一个损失函数,以便我能够反向传播和训练网络 .

有谁知道如何创建这种网络?

1 回答

  • 1

    我很困惑如何为这个问题制定一个损失函数,以便我能够反向传播和训练网络 .

    这是你应该如何处理它 . 实际上,您需要将标签转换为正目标值和负目标值(例如 +1-1 )并解决回归问题 . 损失函数可以是简单的L1或L2损失 . 网络将尝试学习输出接近训练目标的预测,然后您可以解释它是否更接近一个目标或另一个目标,即正面或负面 . 你甚至可以继续做一些更大的目标(例如 +2+10 )来强调这些例子非常重要 . 示例代码:linear regression in tensorflow .

    但是,我只需要警告你,你的方法有严重的缺点,例如参见this question . 训练数据中的一个异常值很容易扭曲您的预测 . softmax交叉熵损失的分类更稳定,这就是为什么几乎总是更好的选择 .

相关问题