use*_*778 2 multilabel-classification deep-learning multiclass-classification pytorch loss-function
在我的实验中,我试图训练一个神经网络来检测患者是否表现出症状 A、B、C、D。我的数据由每位患者的不同角度照片以及他们是否表现出症状 A、B、C、D 组成。
现在,在 pytoch 中,我正在使用 MSELoss 并将测试误差计算为分类总数中正确分类的总数。我想这太天真了,甚至是不恰当的。
测试误差计算的示例如下:假设我们有 2 名患者,每人都有两张图像。那么总共会有 16 个分类(1 个分类代表患者 1 是否有照片 1 中的症状 A、B、C、D 等)。如果模型正确预测照片 1 中的患者 1 表现出症状 A,那么正确分类的总数就会增加 1。
binary-crossentropy我建议在多类多标签分类中使用。对于多标签分类来说,这似乎违反直觉,但请记住,这里的目标是将每个输出标签视为独立的分布(或类)。
在pytorch你可以使用torch.nn.BCELoss(weight=None, size_average=None, reduce=None, reduction='mean'). 这创建了一个测量目标和输出之间的二元交叉熵的标准。