BCELoss&BCEWithLogitsLoss

BCELoss

torch.nn.BCELoss(weight=None,size_average=True)
weight:控制正样本权重;
size_average:对Loss值取平均。

l o s s ( o , t ) = − 1 n ∑ i ( t [ i ] l o g ( o [ i ] ) + ( 1 − t [ i ] ) l o g ( 1 − o [ i ] ) ) loss(o,t)=-\frac{1}{n}\sum_i(t[i] log(o[i])+(1-t[i]) log(1-o[i])) loss(o,t)=n1i(t[i]log(o[i])+(1t[i])log(1o[i]))
如果weight被指定 : l o s s ( o , t ) = − 1 n ∑ i w e i g h t s [ i ] ( t [ i ] l o g ( o [ i ] ) + ( 1 − t [ i ] ) ∗ l o g ( 1 − o [ i ] ) ) loss(o,t)=-\frac{1}{n}\sum_iweights[i] (t[i] log(o[i])+(1-t[i])* log(1-o[i])) loss(o,t)=n1iweights[i](t[i]log(o[i])+(1t[i])log(1o[i]))

BCEWithLogitLoss

将BCELoss与Sigmoid融合。

ASRF中,最后的输出应该是没有加Sigmoid的,这会导致数据不在[0,1]之间。

torch.nn.BCEWithLogitsLoss(weight=None, size_average=None, reduce=None, reduction='mean', pos_weight=None)

l ( x , y ) = L = { l 1 , . . . , l N } T l(x,y)=L=\{l_1,...,l_N\}^T l(x,y)=L={l1,...,lN}T
l n = − ω n [ y n l o g σ ( x n ) + ( 1 − y n ) l o g ( 1 − σ ( x n ) ) ] l_n = -\omega_n[y_nlog\sigma(x_n)+(1-y_n)log(1-\sigma(x_n))] ln=ωn[ynlogσ(xn)+(1yn)log(1σ(xn))]
l ( x , y ) = m e a n ( L )   i f   r e d u c t i o n = ′ m e a n ′ l(x,y)=mean(L)~if~reduction='mean' l(x,y)=mean(L) if reduction=mean
l ( x , y ) = s u m ( L )   i f   r e d u c t i o n = ′ s u m ′ l(x,y)=sum(L)~if~reduction='sum' l(x,y)=sum(L) if reduction=sum

加入pos_weight后:
l c ( x , y ) = L c = { l 1 , c , . . . l N , c } T l_c(x,y)=L_c=\{l_{1,c,...l_{N,c}}\}^T lc(x,y)=Lc={l1,c,...lN,c}T
l n , c = − ω n , c [ p c y n , c l o g σ ( x n , c ) + ( 1 − y n , c ) l o g ( 1 − σ ( x n , c ) ) ] l_{n,c}=-\omega_{n,c}[p_cy_{n,c}log\sigma(x_{n,c})+(1-y_{n,c})log(1-\sigma(x_{n,c}))] ln,c=ωn,c[pcyn,clogσ(xn,c)+(1yn,c)log(1σ(xn,c))]

其中n是batch中的样本。

p c > 1 p_c\gt1 pc>1,提高召回率;

p c < 1 p_c\lt1 pc<1,提高精度。

c > 1 c\gt1 c>1,多标签分类;

c < 1 c\lt1 c<1,单标签分类。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

右边是我女神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值