zoukankan      html  css  js  c++  java
  • 不均衡样本集的重采样

    样本不均衡时出现问题的原因

    • 本质原因:模型在训练时优化的目标函数和测试时使用的评价标准不一致
    • 这种不一致:
      • 训练数据的样本分布与测试时期望的样本分布不一致
      • 训练阶段不同类别的权重(重要性)与测试阶段不一致

    解决方法

    基于数据的方法

    对数据进行重采样,使样本变得均衡

    • 随机采样:
      • 过采样:从(S_{min})中有放回采样,可能造成过拟合
      • 欠采样:从(S_{maj})随机舍弃,可能损失有用信息
    • SMOTE算法
      • 对少数类样本集(S_{min})中的每个样本(x),从它在(S_{min})中的K近邻中随机选取一个样本(y),然后在(x,y)连线上随机选取一点作为新样本
      • 根据需要的过采样倍率重复上述过程若干次
      • 缺点:
        • 为每个少数类样本合成相同数量的新样本,增大类间重叠度
        • 生成一些不能提供有用信息的样本
      • 改进:
        • Borderline-SMOTE:只给处于分类边界上的少数类样本合成新样本
        • ADASYN算法:不同的少数类样本合成不同个数的新样本
        • 数据清理方法(如Tomek Links),降低合成样本的类间重叠
    • Informed Undersampling
      • Easy Ensemble算法
        • 从多数类(S_{maj})中随机抽取一个子集(E(|E|approx |S_{min}|))
        • 使用(E + E_{min})训练分类器;重复上述过程若干次,得到多个分类器
        • 最终结果由多个分类器结果融合
      • Balance Cascade算法:级联结构
        • 在每一级中从多数类(S_{maj})中随机抽取子集(E)
        • (E+S_{min})训练该级的分类器
        • (S_{maj})中能够被当前分类器正确判别的样本剔除掉
        • 继续下一级操作,重复若干次得到级联结构
        • 最终结果也是各级分类器结果的融合
      • NearMiss
        • 利用K近邻信息挑选具有代表性的样本
      • One-sided Selection
        • 采用数据清理技术
    • 其它采样技术
      • 基于聚类的采样方法
      • 数据扩充方法
      • Hard Negative Mining
  • 相关阅读:
    DAY09(for语句)
    Python 下载 tushare 数据,然后调用 C++ DLL 计算 wMA 存入本地 csv 文件再 python 读取
    Python socket编程之八:阶段性总结
    Ctex + Lyx = 自用 Latex 编辑环境
    matlab下二重积分的蒙特卡洛算法
    实验9 根据材料编程
    实验5 编写、调试具有多个段的程序
    实验4 [bx]和loop的使用
    实验3 编程、编译、连接、跟踪
    汇编语言第三章总结
  • 原文地址:https://www.cnblogs.com/weilonghu/p/11922699.html
Copyright © 2011-2022 走看看