机器学习模型的泛化能力不足,有什么改进思路?

二分类问题,采用Adaboost方法,80:20划分训练集和测试集进行交叉验证。 通过调整基础分类器的个数,训练集的分类正确率控制在0.6~1.0范围…
关注者
522
被浏览
169,802

21 个回答

谢邀。

基本思路就是:先把模型搞复杂,复杂到得到令你满意的训练误差(训练误差要低于『令你满意的测试误差』),然后在慢慢调参、简化模型、添加先验和正则、改变数据维度、特征提取等,直到测试误差也满足『低于令你满意的测试误差』。

对于题主的问题,从工程上看,也许可以从以下几点改进:

1. feature engineering

2. imbalanced dataset

3. ensemble method

第3点目测提升空间不大,题主用的adaboost、rf已经算ensemble了,最多再试下gbdt,或者把这些模型级联、线性加权试试?

第1点,建议试试

@Xinran He

在14年发表的论文

herbrich.me/papers/adcl

,算法可以用陈天奇大神开发的xgboost实现;另外不建议做太多特征筛选

第2点,题主已经试过带权采样,其实还有很多方法可以试,可以参考以下链接:

不均匀正负样本分布下的机器学习 quora.com/In-classifica