机器学习 非均衡分类问题

相关文章

1.其他分类性能度量指标:正确率,召回率及ROC曲线

混淆矩阵(confusion matrix):可视化工具,特别用于监督学习,在无监督学习一般叫做匹配矩阵。

混淆矩阵预测结果 +1预测结果 -1
真实结果+1真正例(True Positive,TP)伪反例(False Negative,FN)
真实结果-1伪正例(False Positive,FP)真反例(True Negative,TN)

在分类中,当某个类别的重要性高于其他类别时,我们就可以利用上述定义来定义出多个比错误率更好的新指标。
第一个指标是正确率(Precision),它等于TP/(TP+FP),给出的是预测为正例的样本中的真正正例的比例。
第二个指标是召回率(Recall),它等于TP/(TP+FN),表示预测为正例的真实正例占所有真实正例的比例。
在召回率很大的分类器中,真正判错的正例的数目并不多。
我们可以很容易构造一个高正确率或高召回率的分类器,但是很难同时保证两者成立。如果将任何样本都判为正例,那么召回率达到100%而此时正确率很低,构建一个同时使正确率和召回率最大的分类器是很难的。

另一个用于度量分类中的非均衡工具是ROC曲线(ROC curve),
ROC : Receiver Operating Characteristic,接收者操作特征

基于代价函数的分类器决策控制

除了调节分类器的阈值之外,我们还有一些其他可以用于处理非均衡分类代价的方法,其中的一种称为代价敏感的学习(cost-sensitive learning)
考虑下表所示的代价矩阵:

代价矩阵预测结果 +1预测结果 -1
真实结果+101
真实结果-110

目前为止分类器的代价矩阵(代价不是0就是1)
我们可以基于该代价函数计算其总代价:
TP*0+FN*1+FP*1+FN*0

接下来考虑下面的第二张表,基于该代价矩阵的分类代价的计算公式为:
TP*(-5)+FN*1+FP*50+FN*0

代价矩阵预测结果 +1预测结果 -1
真实结果+1-51
真实结果-1500

这两种正确分类所得到的收益是不一样的。如果在构建分类器时,知道了这些代价值,那么就可以选择付出最小代价的分类器。
在分类算法中,我们有很多方法可以用来引入代价信息。

  • 在AdaBoost中,可以基于代价函数来调整权重向量D。
  • 在朴素贝叶斯中,可以选择具有最小期望代价而不是最大概率的类别作为最后的结果。
  • 在SVM中,可以在代价函数中对于不同的类别选择不同的参数C
  • 上述做法会给较小类更多的权重,即在训练时,小类当中只允许出现更少的错误。

    3.处理非均匀问题的数据抽样方法

    另外一种针对非均衡问题调节分类器的方法:对分类器的训练数据进行改造。
    如:

  • 欠抽样(undersampling):删除样例
  • 过抽样(oversampling):复制样例
  • 不管采用哪种方式,数据都会从原始形式改造为新形式。抽样过程则可以通过随机方式或者某个预定方式来实现。
    一种解决办法,就是选择那些远离决策边界的样例进行删除。假定我们有一个数据集,其中有50例信用卡欺诈交易和5000例合法交易。如果我们想要对合法交易进行 欠抽样处理(删除样例),使得这两类数据比较均衡的话,那么我们就需要去掉4950个样例,而这些样例中可能包含很多有价值的信息。这看上去有些极端,因此有一种代替的策略就是使用 反例类别的欠抽样和正例类别的过抽样相混合的方法
    要对正例类别进行过抽样,我们可以 复制已有样例或者加入与已有样例相似的点,一种方法是 加入已有数据点的插值点,但是这种做法可能会 导致过拟合问题

    总结

    处理非均衡分类问题时:

  • 可以通过过抽样和欠抽样方法来调节数据集中的正例和反例数目。
  • 另外一种可能更好的非均衡问题的处理方法,是在训练分类器时将错误的代价考虑在内。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值