关于问题在机器学习中,如何处理数据不平衡的问题?一共有 1 位热心网友为你解答:
【1】、来自网友【哥廷根数学学派】的最佳回答:
欠采样、过采样
减少多数类的数量(即欠采样,如随机欠采样、NearMiss 等)
尽量多地增加少数类的的样本数量(即过采样,如随机过采样)
还可结合两者做混合采样
数据增强
基于样本变换的数据增强
单样本增强(主要用于图像):主要有几何操作、颜色变换、随机擦除、添加噪声等方法
多样本增强:通过组合及转换多个样本,主要有 Smote 类、SamplePairing、Mixup 等方法在特征空间内构造已知样本的邻域值样本
基于深度学习的数据增强 生成模型如变分自编码网络和生成对抗网络,其生成样本的方法也可以用于数据增强
loss 层面
loss 层面的主流也就是常用的代价敏感学习方法(cost-sensitive),为不同的分类错误给予不同惩罚力度(权重)
class weight
scikit 模型的’class weight‘方法,class weight 可为不同类别的样本提供不同的权重(少数类有更高的权重),从而模型可以平衡各类别的学习。
OHEM 和 Focal Loss
OHEM(Online Hard Example Mining)是选择一些 hard examples(多样性和高损失的样本)作为训练的样本,针对性地改善模型学习效果。
Focal loss 的核心思想是在交叉熵损失函数(CE)的基础上增加了类别的不同权重以及困难(高损失)样本的权重,以改善模型学习效果。
模型层面
模型方面主要是选择一些对不均衡比较不敏感的模型,比如采样+集成学习模型,通过重复组合少数类样本与抽样的同样数量的多数类样本,训练若干的分类器进行集成学习。
以上就是关于问题【在机器学习中,如何处理数据不平衡的问题?】的全部回答,希望能对大家有所帮助,内容收集于网络仅供参考,如要实行请慎重,任何后果与本站无关!