首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >`pos_weight`参数在“`BCEWithLogitsLoss`”中的影响是什么?

`pos_weight`参数在“`BCEWithLogitsLoss`”中的影响是什么?
EN

Stack Overflow用户
提问于 2022-02-09 14:27:44
回答 1查看 1K关注 0票数 0

根据[医]火把多 of nn.BCEWithLogitsLosspos_weight是一个可选的参数a,它考虑了正面例子的权重。我不完全理解页面中的"pos_weight >1增加回忆和pos_weight <1提高精确度“的说法。你们怎么理解这句话的?

EN

回答 1

Stack Overflow用户

发布于 2022-02-09 14:53:36

具有logits损失的二进制交叉熵(nn.BCEWithLogitsLoss,等价于F.binary_cross_entropy_with_logits)是乙状结肠层(nn.Sigmoid),其次是二进制交叉熵损失(nn.BCELoss)。一般情况下,假设您处于多标签分类任务中,即可以用多个类标记单个输入。一个常见的子案例是有一个类:二进制分类任务。如果您将q定义为预测类的张量,并定义p,则基础真理[0,1]对应于每个类的真实概率。

二元交叉熵的显式是:

代码语言:javascript
运行
复制
z = torch.sigmoid(q)
loss = -(w_p*p*torch.log(z) + (1-p)*torch.log(1-z))

引入w_p__,即与每个类的真正标签相关联的权重。有关这个职位使用的加权方案的更多详细信息,请阅读BCELoss

对于给定的班级:

代码语言:javascript
运行
复制
precision =  TP / (TP + FP)
recall = TP / (TP + FN)

然后,如果w_p > 1,它增加了对正分类的权重(分类为真)。这将倾向于增加假阳性(FP),从而降低精度。类似地,如果是w_p < 1,我们将减少真类的权重,这意味着它将倾向于增加假阴性(FN),从而降低回忆。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71051342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档