机器学习中,正负样本比例差距大,导致分类效果差的理论依据是什么?怎么解决正负样本不均衡问题?

论坛 期权论坛 期权     
匿名的论坛用户   2020-12-30 12:09   8189   8
机器学习中,正负样本比例差距大,使用lr等做分类,预测效果差的理论依据是什么?
怎么更好的解决正负样本不均衡的问题?
分享到 :
0 人收藏

8 个回复

正序浏览
9#
热心的小回应  16级独孤 | 2020-12-30 12:09:20
期待答案 我最近也很关心这个问题
8#
热心的小回应  16级独孤 | 2020-12-30 12:09:19
期待
7#
热心的小回应  16级独孤 | 2020-12-30 12:09:18
loss function上默认是不区分正负的,如使用平方损失函数:
,其中Y并没有区分所属正负样本,样本比例差距大,就会更关注样本多的label,从而导致分类效果差。解决办法:1.采样,减小样本不均衡;2,修改loss function,如为不同label的error增加一个权重系数,增加对比例小样本对关注。
6#
热心的小回应  16级独孤 | 2020-12-30 12:09:17
5#
热心的小回应  16级独孤 | 2020-12-30 12:09:16
数据不均衡需要采样吗?
假若真实分布也是严重倾斜的,例如ctr是否点击,信用卡欺诈等场景下,是否需要采样?
直觉告诉我采样并不会影响分类器的排序能力而只会影响将概率值切分为01的阈值吧
4#
热心的小回应  16级独孤 | 2020-12-30 12:09:15
按照周志华老师《机器学习》中所说,假如反例998个,正例2个,那么只要学习方法学习一个永远将样本预测为反例的学习器,那么精度就能达到99.8%,这样的学习器是没有价值的。
关于正负样本不均衡的问题,最常见的方法就是过采样(如SMOTE)、欠采样(如EasyEnsemble)了,而像lr这样直接用概率做分类的,本来分类阈值是50%,所以可以根据正负样本比例调整阈值(叫做“阈值移动”)。
3#
热心的小回应  16级独孤 | 2020-12-30 12:09:14
这篇博客讲的很详细。
不均衡学习的抽样方法 - CSDN博客
2#
热心的小回应  16级独孤 | 2020-12-30 12:09:13
[h1]1 通过过抽样和欠抽样解决样本不均衡[/h1]抽样是解决样本分布不均衡相对简单且常用的方法,包括过抽样和欠抽样两种。
过抽样
过抽样(也叫上采样、over-sampling)方法通过增加分类中少数类样本的数量来实现样本均衡,最直接的方法是简单复制少数类样本形成多条记录,这种方法的缺点是如果样本特征少而可能导致过拟合的问题;经过改进的过抽样方法通过在少数类中加入随机噪声、干扰数据或通过一定规则产生新的合成样本,例如SMOTE算法。
欠抽样
欠抽样(也叫下采样、under-sampling)方法通过减少分类中多数类样本的样本数量来实现样本均衡,最直接的方法是随机地去掉一些多数类样本来减小多数类的规模,缺点是会丢失多数类样本中的一些重要信息。
总体上,过抽样和欠抽样更适合大数据分布不均衡的情况,尤其是第一种(过抽样)方法应用更加广泛。
[h1]2 通过正负样本的惩罚权重解决样本不均衡[/h1]通过正负样本的惩罚权重解决样本不均衡的问题的思想是在算法实现过程中,对于分类中不同样本数量的类别分别赋予不同的权重(一般思路分类中的小样本量类别权重高,大样本量类别权重低),然后进行计算和建模。
使用这种方法时需要对样本本身做额外处理,只需在算法模型的参数中进行相应设置即可。很多模型和算法中都有基于类别参数的调整设置,以scikit-learn中的SVM为例,通过在class_weight : {dict, 'balanced'}中针对不同类别针对不同的权重,来手动指定不同类别的权重。如果使用其默认的方法balanced,那么SVM会将权重设置为与不同类别样本数量呈反比的权重来做自动均衡处理,计算公式为:n_samples / (n_classes * np.bincount(y))。
如果算法本身支持,这种思路是更加简单且高效的方法。
[h1]3 通过组合/集成方法解决样本不均衡[/h1]组合/集成方法指的是在每次生成训练集时使用所有分类中的小样本量,同时从分类中的大样本量中随机抽取数据来与小样本量合并构成训练集,这样反复多次会得到很多训练集和训练模型。最后在应用时,使用组合方法(例如投票、加权投票等)产生分类预测结果。
例如,在数据集中的正、负例的样本分别为100和10000条,比例为1:100。此时可以将负例样本(类别中的大量样本集)随机分为100份(当然也可以分更多),每份100条数据;然后每次形成训练集时使用所有的正样本(100条)和随机抽取的负样本(100条)形成新的数据集。如此反复可以得到100个训练集和对应的训练模型。
这种解决问题的思路类似于随机森林。在随机森林中,虽然每个小决策树的分类能力很弱,但是通过大量的“小树”组合形成的“森林”具有良好的模型预测能力。
如果计算资源充足,并且对于模型的时效性要求不高的话,这种方法比较合适。
[h1]4 通过特征选择解决样本不均衡[/h1]上述几种方法都是基于数据行的操作,通过多种途径来使得不同类别的样本数据行记录均衡。除此以外,还可以考虑使用或辅助于基于列的特征选择方法。
一般情况下,样本不均衡也会导致特征分布不均衡,但如果小类别样本量具有一定的规模,那么意味着其特征值的分布较为均匀,可通过选择具有显著型的特征配合参与解决样本不均衡问题,也能在一定程度上提高模型效果。
提示 上述几种方法的思路都是基于分类问题解决的。实际上,这种从大规模数据中寻找罕见数据的情况,也可以使用非监督式的学习方法,例如使用One-class SVM进行异常检测。分类是监督式方法,前期是基于带有标签(Label)的数据进行分类预测;而采用非监督式方法,则是使用除了标签以外的其他特征进行模型拟合,这样也能得到异常数据记录。所以,要解决异常检测类的问题,先是考虑整体思路,然后再考虑方法模型。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3118703
帖子:623848
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP