其他分享
首页 > 其他分享> > 如何处理不均衡数据

如何处理不均衡数据

作者:互联网

 

定义

以二分类问题为例,假设我们的数据集是S,数据集中的多数类为S_maj,少数类为S_min,通常情况下把多数类样本的比例为100:1,1000:1,甚至是10000:1,这种情况下为不平衡数据,不平衡数据的学习即需要在如此分布不均匀的数据集中学习到有用的信息。

 

问题:不均衡的数据理解预测起来很简单,永远都是预测多的数据的那一方,这样准没错,特别是数据多很多的情况的那一方,比如多的占了90%,少的占10%.只要每一次都预测多的那一批数据,预测的准确性就可以达到90%了。

 

为什么类不平衡是不好的

1.从模型的训练过程来看

从训练模型的角度来说,如果某类的样本数量很少,那么这个类别所提供的“信息”就太少。

使用经验风险(模型在训练集上的平均损失)最小化作为模型的学习准则。设损失函数为0-1 loss(这是一种典型的均等代价的损失函数),那么优化目标就等价于错误率最小化(也就是accuracy最大化)。考虑极端情况:1000个训练样本中,正类样本999个,负类样本1个。训练过程中在某次迭代结束后,模型把所有的样本都分为正类,虽然分错了这个负类,但是所带来的损失实在微不足道,accuracy已经是99.9%,于是满足停机条件或者达到最大迭代次数之后自然没必要再优化下去,训练结束,于是模型没有学习到如何去判别出少数类。

2.从模型的预测过程来看

考虑二项Logistic回归模型。输入一个样本X ,模型输出的是其属于正类的概率y^ 。当 y^ > 0.5 时,模型判定该样本属于正类,否则就是属于反类。

为什么是0.5呢?可以认为模型是出于最大后验概率决策的角度考虑的,选择了0.5意味着当模型估计的样本属于正类的后验概率要大于样本属于负类的后验概率时就将样本判为正类。但实际上,这个后验概率的估计值是否准确呢?

从几率(odds)的角度考虑:几率表达的是样本属于正类的可能性与属于负类的可能性的比值。模型对于样本的预测几率为 y^/(1-y^) 。

模型在做出决策时,当然希望能够遵循真实样本总体的正负类样本分布:设 N等于正类样本数除以全部样本数,那么样本的真实几率为N/(1-N) 。当观测几率大于真实几率时,也就是y^ >0 时,那么就判定这个样本属于正类。

虽然我们无法获悉真实样本总体,但之于训练集,存在这样一个假设:训练集是真实样本总体的无偏采样。正是因为这个假设,所以认为训练集的观测几率 n^/(1-n^) 就代表了真实几率n/(1-n) 。

 

解决方法

方法1:想办法获取更多的数据

首先我们要想一想我们是否可以获取更多的数据,有的时候我们在获取数据的前期,通常数据会呈现一个变化的趋势,这时候表现为某一种数据量偏多,等到数据的后半段的时期,数据的变化的趋势可能就会不一样了。

如果没有获取后半期的数据,从整体来看,预测就可能不会那么的精准.所以想办法获得更多的数据有可能会改善这个情况~

方法2:换一种评判方式

通常情况下,我们会使用准确率(Accuracy)和误差(Cost)两种方式来判断机器学习的成果.但是在不均衡的数据面前,高的准确率和低的误差就显得没有那么有用和重要了.

所以我们就可以换个方式去计算,很多时候我们会使用Confusion Matrix去计算Precision&Recall,然后在通过Precision&Recall去计算F1 Score(or F-score).通过这样的数据,我们可以很大程度上去区分不均衡数据,并且可以给出更好的分数.

方法3:重组数据

这中方法相对来说最为简单粗暴,对不均衡的数据进行重新组合,使之均衡。第一种方式是复制少数数据里的样本,使其可以达到和多数数据样本差不多的数量,也就是过采样。第二种方式就是对多数样本的数据进行开刀,砍掉一些多数样本的数据,还是使两者的数量差不多 ,即欠采样方法。

但是,简单粗暴的去处或者增加数据容易改变原有分布,降低模型泛化能力,需要考虑到数据的分布。

方法4:使用其他的机器学习方法

在使用一些机器学习的方法中,比如神经网络,在面对不均衡数据的时候都是束手无策的,但是像决策树这样的方法就不会受到不均衡数据的影响

方法5:修改算法

在所有方法中,最具有创造力的方法莫过于这个修改算法了,如果你使用的是Sigmoid函数,他会有一个预测的门槛,如果低于门槛,预测的结果为梨,如果超过了门槛,预测的结果为苹果。

不过因为现在梨的数量过多,这个时候我们就需要调解下门槛的位置,使得门槛更加的偏向于苹果这一边,只有数据非常准确的情况下,模型才会预测为苹果,从而使机器学习学习到更好的效果.

标签:几率,处理,模型,样本,正类,均衡,数据,预测
来源: https://www.cnblogs.com/shona/p/12165786.html