机器学习调参总结
超参调整与特征工程在机器学习中几乎同等重要。
继翻译的一本特征工程的书籍之后,对于参数调整是否也有方法论可以记录呢?
本文将记录一些自己在调参中的心得,不一定全部正确,随时更新。是为记录。
整体步骤应该:
先用少量数据进行参数大致区间锁定
注意学习率的影响,避免模型一下就跳出了搜索空间
分析训练/测试数据评测标准差距,判断是过拟合还是欠拟合
如果是过拟合则添加正则化或者剪枝
如果是欠拟合则增加迭代次数、模型规模或复杂度
如果在少量数据拟合效果比较好,则增加数据重复上述动作
Bagging与Boost调参
Bagging代表
Random Forest
Extra Trees
Boost代表
LightGBM
xgboost
catboost
调参差异
本文将不会对他们的构成做过多解释。
这两类模型的各自代表的参数调整大同小异,但是两类之间差异较大。每个算法的具体参数内容应当参考调用的模型包解释文档。
Bagging是并行思想,Boost是串行思想。
所以在训练的时候Bagging是互不相关的若干树,Boost是相关的一串树。
因此Boost的剪枝思想比较弱,主要通过正则化来避免过拟合。
Bagging则是先训练所有树,然后通过类似剪枝的操作来避免过拟合。