目录
集成学习的概念
个体学习器的概念:
个体学习器是一个相对概念,在 集成学习 中,集成之前的学习器称为个体学习器。
目前集成学习的方法大致可分为两大类:
1)个体学习器间存在强依赖关系、必须串行生成的序列化方法,代表是 Boosting;
2)个体学习器间不存在强依赖关系、可同时生成的并行化方法,代表是 Baggig 和 “随机森林”(Random Forest);
boosting bagging的概念、异同点,参考:
boosting:
bagging:
区别:
Boosting算法的个体学习器是串行生成的,bagging是并行生成的。
详情:
Boosting算法的工作机制是首先从训练集用初始权重训练出一个弱学习器1,根据弱学习的学习误差率表现来更新训练样本的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,使得这些误差率高的点在后面的弱学习器2中得到更多的重视。然后基于调整权重后的训练集来训练弱学习器2.,如此重复进行,直到弱学习器数达到事先指定的数目T,最终将这T个弱学习器通过集合策略进行整合,得到最终的强学习器。
bagging的个体弱学习器的训练集是通过随机采样得到的。通过T次的随机采样,我们就可以得到T个采样集,对于这T个采样集,我们可以分别独立的训练出T个弱学习器,再对这T个弱学习器通过集合策略来得到最终的强学习器。对于这里的随机采样一般采用的是自助采样法(Bootstap sampling),即对于m个样本的原始训练集,我们每次先随机采集一个样本放入采样集,接着把该样本放回,也就是说下次采样时该样本仍有可能被采集到,这样采集m次,最终可以得到m个样本的采样集,由于是随机采样,这样每次的采样集是和原始训练集不同的,和其他采样集也是不同的,这样得到多个不同的弱学习器。
理解不同的结合策略(平均法,投票法,学习法)
平均法:
所有个体学习器的结果取平均
投票法:
1)选投票最多的
2)选投票过半数的
3)加权投票,平均法就是特殊的加权投票
学习法:
我们将训练集弱学习器的学习结果作为输入,将训练集的输出作为输出,重新训练一个学习器来得到最终结果。
在这种情况下,我们将弱学习器称为初级学习器,将用于结合的学习器称为次级学习器。对于测试集,我们首先用初级学习器预测一次,得到次级学习器的输入样本,再用次级学习器预测一次,得到最终的预测结果。
随机森林的思想:
随机森林的推广,参考:
1)extra trees
2)Totally Random Trees Embedding
3)Isolation Forest
随机森林的优缺点
随机森林的优缺点:
优点:
1、 在当前的很多数据集上,相对其他算法有着很大的优势,表现良好;
2、它能够处理很高维度的数据,并且不用做特征选择,因为特征子集是随机选择的;
3、在训练完后,它能够得出特征重要性;
4、在创建随机森林的时候,对泛化误差使用的是无偏估计,模型泛化能力强;
5、随机森林有oob(袋外数据),不需要单独换分交叉验证集;
6、训练时树与树之间是相互独立的,训练速度快,容易做成并行化方法;
7、对缺失值不敏感,如果有很大一部分的特征遗失,仍可以维持准确度。
缺点:
1、随机森林在某些噪音较大的分类或回归问题上会过拟合;
2、对于有不同取值的属性的数据,取值划分较多的属性会对随机森林产生更大的影响。
随机森林在sklearn中的参数解释
随机森林的应用场景
数据维度相对低(几十维),同时对准确性有较高要求时。因为不需要很多参数调整就可以达到不错的效果,基本上不知道用什么方法的时候都可以先试一下随机森林。