机器学习调参总结

超参调整与特征工程在机器学习中几乎同等重要。
继翻译的一本特征工程的书籍之后,对于参数调整是否也有方法论可以记录呢?

本文将记录一些自己在调参中的心得,不一定全部正确,随时更新。是为记录。

整体步骤应该:
先用少量数据进行参数大致区间锁定
注意学习率的影响,避免模型一下就跳出了搜索空间
分析训练/测试数据评测标准差距,判断是过拟合还是欠拟合
如果是过拟合则添加正则化或者剪枝
如果是欠拟合则增加迭代次数、模型规模或复杂度
如果在少量数据拟合效果比较好,则增加数据重复上述动作

Bagging与Boost调参

Bagging代表

Random Forest
Extra Trees

Boost代表

LightGBM
xgboost
catboost

调参差异

本文将不会对他们的构成做过多解释。
这两类模型的各自代表的参数调整大同小异,但是两类之间差异较大。每个算法的具体参数内容应当参考调用的模型包解释文档。

Bagging是并行思想,Boost是串行思想。

所以在训练的时候Bagging是互不相关的若干树,Boost是相关的一串树。

因此Boost的剪枝思想比较弱,主要通过正则化来避免过拟合。

Bagging则是先训练所有树,然后通过类似剪枝的操作来避免过拟合。