【面经&八股】搜广推方向:常见面试题(三)
1. 如何解决数据不平衡
在数据不平衡的前提下训练,很容易使模型预测结果总偏向于数据量多的一方,从而产生没有实际收益的结果。解决数据不平衡有以下几种方案:
- 重采样(包括欠采样和过采样)。举例说明,对数据进行聚类,对大的簇进行随机欠采样,对小的簇进行数据生成。
- 缺点:欠采样可能导致数据信息损失,使模型欠拟合;过采样需要生成较少类别的数据或使用重复数据,导致过拟合。
- 合成新数据和过采样地理念是相似的,这种方法有可能造成数据信息不准确。
- 集成模型。对多类样本进行欠采样,并与所有的少类样本共同作为基学习器的数据。
- 选择对于数据不平衡相对不敏感的模型,如树模型。
- 将有监督学习问题转化为一个无监督学习问题,如异常检测。
- 阈值调整。例如在二分类中,将类别分类的阈值从0.5 转为较少类别/(较大类别+较少类别)。个人认为,调整阈值的方法需要对损失函数进行调整,且这种方案可以理解成”改变权重”,即对与少数类分类错误的惩罚加重。