具有离散输出的多类分类:选择哪种损失函数和激活



我正在使用Keras Sequential模型处理一个多类分类问题。在我的数据集中,输出类具有以下值之一:CCD_ 1。

是的,我已经尝试过对输出进行热编码,并在输出层中使用categorical_crossentropy作为损失函数和softmax

然而,我认为softmax和分类交叉熵在我的情况下不是正确的选择。在我的数据集中,输出类具有一定的"离散性"(或规模(。1类是"最差的",5类是"最好的"。

假设在特定输入上,模型预测2,而真实类为1,则与模型预测类5,而真实类别为1时相比,这是一个更好的预测。

我希望损失函数将这些"小错误"考虑在内,而不是以相同的方式处理所有错误。

总之,我想知道对于给定的问题,在损失函数和输出层激活方面我有什么选择

根据您的要求,我强烈建议您创建损失函数。这样你就可以按照你想要的方式处理结果。基本上,在创建损失函数时,你只需要y_predy_true,然后将其作为张量返回

还值得注意的是,当创建任何自定义丢失优化器时。只允许使用Tensor Flow后端操作,因为使用类似Numpy的库会导致编译错误

这是在您的模型中执行自定义训练时Tensor Flow中文档的链接。

相关内容

  • 没有找到相关文章

最新更新