机器学习中的不平衡问题

1、修正阈值法

  • 对于模型 y=wTx+b 新样本的预测值y通常与阈值比较,比如 y>0.5 判为正例,
    y1y>1
  • 利用正负样本的比例调整阈值:
    y1y>m+m

    则预测为正例。
  • 若阈值仍为1,则
    y1y=y1y×mm+>1

2、随机采样

2.1随机过采样

从少数类 Smin 中抽取数据集 E ,采样的数量要大于原有少数类的数量,最终的训练集为 Smaj+E

2.1.1、SMOTE算法

  1. 对于少数类中每一个样本 x ,以欧氏距离为标准计算它到少数类样本集 Smin 中所有样本的距离,得到其k近邻。
  2. 根据样本不平衡比例设置一个采样比例以确定采样倍率N,对于每一个少数类样本x,从其k近邻中随机选择N个样本。
  3. Nx~i,i={1,2,...,N}
    xnewi=x+rand(0,1)×(x~ix),i={1,2,...,N}

机器学习中的不平衡问题_第1张图片

2.1.2、Borderline-SMOTE算法

BorderlineSMOTExikSiknnSiknnS

k2<|SiknnSmaj|<k

则将 xi 加入DANGER集合,DANGER集合代表了接近分类边界的样本,将DANGER当作SMOTE的种子样本生成新样本。

机器学习中的不平衡问题_第2张图片

2.2、随机欠采样

从多数类 Smaj 中随机选择少量样本 E ,再合并原有少数类样本作为新的训练数据集,新数据集为 Smin+E

2.2.1、EeasyEnsemble 算法

此算法类似随机森林的Bagging方法,具体步骤如下:
1. 把数据分成两部分,分别是多数样本和少数样本;
2. 对于多数样本 Smaj ,通过n次有放回抽样,生成n份子集;
3. 少数样本分别和这n份样本合并训练n模型;
4. 最终结果是这n个模型预测结果的平均值。

机器学习中的不平衡问题_第3张图片

http://baogege.info/2015/11/16/learning-from-imbalanced-data/
http://www.doc88.com/p-7314389829640.html

你可能感兴趣的:(machineLearning)