在机器学习训练完模型之后我们要考虑模型的效率问题,常用的模型效率分析手段有:机器学习模型优化之模型融合 简洁易懂超赞.
-
研究模型学习曲线,判断模型是否过拟合或者欠拟合,并做出相应的调整;
-
对于模型权重参数进行分析,对于权重绝对值高/低的特征,可以对特征进行更细化的工作,也可以进行特征组合;
-
进行bad-case分析,对错误的例子分析是否还有什么可以修改挖掘
-
模型融合:模型融合就是训练多个模型,然后按照一定的方法集成过个模型,应为它容易理解、实现也简单,同时效果也很好,在工业界的很多应用,在天池、kaggle比赛中也经常拿来做模型集成。
一般来说集成学习可以分为三大类:集成学习–bagging、boosting、stacking -
用于减少方差的bagging
-
用于减少偏差的boosting
-
用于提升预测结果的stacking
use you need!
模型融合的分类: 按照个体学习器的关系可以分为两类:
- 串行集成方法,这种方法串行地生成基础模型(如boosting: AdaBoost)。串行集成的基本动机是利用基础模型之间的依赖。通过给错分样本一个较大的权重来提升性能。
- 并行集成方法,这种方法并行地生成基础模型(如bagging: Random
Forest)。并行集成的基本动机是利用基础模型的独立性,因为通过平均能够较大地降低误差。
模型融合
1.机器学习模型优化之模型融合 简洁易懂超赞.
2.模型融合方法
3.集成学习–bagging、boosting、stacking
4.Ensemble methods 含代码
5.机器学习之Ensemble(Bagging、AdaBoost、GBDT、Stacking)
Bagging
Bagging是引导聚合的意思。减少一个估计方差的一种方式就是对多个估计进行平均。例如,我们可以用训练集的不同子集(随机选择并替代训练集)训练M个不同的树然后计算最后的结果。
做bagging并不会使模型变得更加fit data,我们只是让模型变得更加“圆滑”,方差更小。
Bagging使用装袋采样来获取数据子集训练基础学习器。通常分类任务使用投票的方式集成,而回归任务通过平均的方式集成。
1)从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstraping(有放回)的方法抽取n个训练样本(在训练集中,有些样本可能被多次抽取到,而有些样本可能一次都没有被抽中)。共进行k轮抽取,得到k个训练集。(我们这里假设k个训练集之间是相互独立的,事实上不是完全独立)
2)每次使用一个训练集得到一个模型,k个训练集共得到k个模型。但是是同种模型。(注:,k个训练集虽然有重合不完全独立,训练出来的模型因为是同种模型也是不完全独立。这里并没有具体的分类算法或回归方法,我们可以根据具体问题采用不同的分类或回归方法,如决策树、感知器等)
3)对分类问题