RF scikit-learn相关参数
随机森林的思考
在随机森林的构建过程中,由于各棵树之间是没有关系的,相对独立的;在构建的过程中,构建第m棵子树的时候,不会考虑前面的m-1棵树。
思考:
如果在构建第m棵子树的时候,考虑到前m-1棵子树的结果,会不会对最终结果产生有益的影响?
各个决策树组成随机森林后,在形成最终结果的时候能不能给定一种既定的决策顺序呢?
(也就是那颗子树先进行决策、那颗子树后进行决策)
Boosting
提升学习(Boosting)是一种机器学习技术,可以用于回归和分类的问题,它每一步产生弱预测模型(如决策树),并加权累加到总模型中;如果每一步的弱预测模型的生成都是依据损失函数的梯度方式的,那么就称为梯度提升(Gradientboosting);
提升技术的意义:如果一个问题存在弱预测模型,那么可以通过提升技术的办法得到一个强预测模型;
常见的模型有:
Adaboost
Gradient Boosting(GBT/GBDT/GBRT)
AdaBoost算法原理
Adaptive Boosting是一种迭代算法。每轮迭代中会在训练集上产生一个新的学习器,然后使用该学习器对所有样本进行预测,以评估每个样本的重要性(Informative)。换句话来讲就是,算法会为每个样本赋予一个权重,每次用训练好的学习器标注/预测各个样本,如果某个样本点被预测的越正确,则将其权重降低;否则提高样本的权重。权重越高的样本在下一个迭代训练中所占的比重就越大,也就是说越难区分的样本在训练过程中会变得越重要;整个迭代过程直到错误率足够小或者达到一定的迭代次数为止。
Adaboost算法
AdaBoost算法原理
Adaboost算法构建过程一
Adaboost算法构建过程二
Adaboost算法的直观理解
案例列表
推导α求解过程中底数为e的情况下,该案例的最终参数情况:
具体的代码看我的接下来的博客
AdaBoost scikit-learn相关参数
AdaBoost总结
AdaBoost的优点如下:
可以处理连续值和离散值;
模型的鲁棒性比较强;
解释强,结构简单。
AdaBoost的缺点如下:
对异常样本敏感,异常样本可能会在迭代过程中获得较高的权重值,最终影响模型
效果。