二分类问题中,大量的负样本会影响到网络的训练吗?

在二分类问题中,如果负样本远超正样本,可能会导致训练困难。负样本虽在损失值计算时表现为0,但影响分母,比例失衡时会阻碍训练。可以通过修改损失函数统计方式或针对多目标检测场景调整策略缓解问题。
摘要由CSDN通过智能技术生成

在分类问题中,比如我们训练一个网络,让它识别出这张照片是否为人,我们的数据集假设有张1000张,其中100张为人,900张不是人(里面包含了车,飞机,花朵等乱七八糟的图片),可以看到这个数据集出现了负样本远大于正样本的情况.现在假设我们把这1000张图片一次性送入网络进行训练,那么得到的损失值如何计算?负样本对损失值有贡献吗?

答案:

(1)损失值loss计算公式:

假设真实标签值y_true=[y1,y2,y3,...yn]

预测值y_pred=[z1,z2,z3,...zn]

loss=-\frac{y_1*logz_1+y_2*logz_2+y_3*logz_3...+y_n*logz_n}{n}      (1)

(2) 负样本对损失值有贡献,主要体现到上面的loss计算上,虽然负样本标签值=0,分子中遇到负样本0,y_i*log(z_i)=0, 但是在分母中,n的值是正负样本样本的总数量,所以负样本对损失值是有贡献的,特别当正负样本比例失衡,负样本远大于正样本时,会造成训练进行不下去.

还是用一段程序来证明吧

import tensorflow as tf
y_true=[[0], [0],[0],[0],[1], [1]]#真实标签
y_pre=[[0.9],[0.9],[0.9],[0.9],[0.6],[0.5]]#预测值
cross_entropy=-tf.reduce_mean(y_true*tf.log(tf.clip_by_value(y_pre,1e-10,1.0)))#-ylogp
a=-tf.log
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值