随机森林&决策树概念总结(updated)

随机森林和决策树常问概念总结,目的是针对面试,答案或许不完善甚至有错误的地方,需要不断updated。


 

1. 随机森林是什么?  

随机森林是一种集成学习组合分类算法,属于bagging算法。集成学习的核心思想:将若干个分类器组合起来,得到一个分类性能显著优越的分类器。随机森林强调两个方面:随机+森林。随机是指抽样方法随机,森林是指由很多决策树构成。

2. 随机森林生成方法/构造过程是什么?

a. 通过随机行采样,有放回的重采样。(重采样方法,有放回的采样。使用局部样本,而不是全部的样本。要是采样使用全部的样本,那么就忽略了局部样本的规律,降低了模型的鲁棒性)

b. 通过随机列采样,得到k个特征。(不是全部特征,避免过拟合

c. 重复以上m次,得到m颗树。m个结果采取投票的机制。(bagging的策略)

3. 随机森林的优点?

a.可以处理高纬度数据,并且数据可以不做特征选择,数据集可以不做规范化处理。

b.行、列随机抽样的方法引入,降低了过拟合以及增强了抗噪声能力。

c.训练速度比较快,可以做并行化计算。

d.擅长处理特征缺失数据和不平衡数据。

e.在创建随机森林的时候,对泛化误差使用无偏差模型,泛化能力强。

4. 随机森林的缺点?

a.可能出现相似的决策树和分类能力不强的树。

b.对小数据集或者维度低的数据集,不能产生很好的分类。

c.模型可解释性不好,要是树深度很大的话。

d.解决回归问题没有分类问题好,它不能给出一个连续输出,同时也不能预测超过数据集范围的预测。

5.随机森林为什么泛化能力比较好?

随机森林的泛化能力与单个决策树的分类强度s成正相关,与决策树之间的相关性p成负相关。也就是说决策树分类强度越大,相关性越小的话,模型的泛化能力越强,泛化误差越小。而随机森林的随机抽样(行、列抽样)保证了决策树之间的相关性p较小,如果每个决策树分类能力都很强的话,那么泛化误差就会到收敛到一个很小的边界,边界越小,泛化误差越小,泛化能力也越好。

6.随机森林如何避免过拟合?

a. 对树的深度进行控制,深度越深,模型越复杂,从而容易过拟合。(树深是根往叶节点数,高度是叶节点往根节点数)

b.剪枝。自下而上对决策树进行剪枝,将树变简单。

c.随机选择训练集subset,避免过拟合。


 

1. 决策树是什么?

决策树是一种基本的分类与回归的方法[1]。模型是一种简单易用的非参数分类器。它不需要对数据有任何的先验假设,计算速度较快,结果容易解释,而且稳健性强

1.2. 决策树学习步骤?

特征选择,决策树生成,决策树的修建

2.决策树特征选择准则?

信息增益;信息增益比;基尼指数

3. 熵的定义?

a. 熵是用来度量随机变量的不确定性。

b.熵的大小和可能情况的对数函数取值有关系。

c.条件熵:在已知随机变量x的条件下随机变量y的不确定性。

3.2.信息增益

在已知特征x的信息而使得类y的信息的不确定性减少的程度。信息增益越大的特征,分类能力越强。信息增益存在偏向于取值较多的特征的问题。

3.3.信息增益比

信息增益比可以解决信息增益存在的问题。信息增益比的定义:信息增益与训练数据集d关于特征a的值的熵之比。

4.决策树常用的三种算法?

a.ID3 算法是以信息增益来作为特征选择。信息增益就是数据集总的熵和以某特征来分类之后数据集的熵之间的差。说白了,就是说我在以某特征来分类之后,数据集的混乱度变小了就对了,相应的信息增益就越大。(信息增益:information gain 信息中包含的东西最多 gain最多)。越分数据集混乱度越小才对。缺点:信息增益偏向于选择值较多的特征。ID3 算法相当于用极大似然法进行概率模型的选择,只有树的生成,所以该算法生成的树容易产生过拟合。(具体数学推导参考李航-统计学习方法)

b .C4.5 算法是以信息增益比来作为特征选择。信息增益偏向于选择值较多的特征来选择特征,那么为了缓解这种情况,在信息增益熵价格惩罚项。特征个数多多时候,惩罚项参数小。特征个数小的时候,惩罚参数大。缺点:信息增益比倾向于取值较小的特征。

c.CART 算法对于回归使用平方误差最小化准则。对分类是以基尼指数来作为最小化准则。基尼指数表示在样本集合中随机选中的一个样本被分错的概率。基尼指数越小表示集合被选中的样本被分错的概率越小,说明集合纯度越高。基尼指数越大,样本集合的 不确定性越大。

5.决策树的剪枝

决策树剪枝的目的:考虑到过于复杂的决策树容易过拟合,剪枝可以对决策树进行简化。

剪枝的过程:剪枝从已生成的树上裁掉一些子树或者叶节点,并将其根结点或者父结点作为新的叶结点,从而简化模型。

理论依据:决策树的剪枝通过极小化决策树整体的损失函数(loss function)或者代价函数(cost function)来实现。(用正则化的极大似然估计)

损失函数:决策树的损失函数是由模型的预测误差和模型的复杂度构成的。决策树生成只考虑通过提高信息增益(信息增益比)来对数据进行更好的拟合,但是没有考虑模型的复杂度。而损失函数则考虑到了模型的复杂度,优化损失函数(剪枝)就是在模型复杂度和过拟合中取tradeoff。决策树生成是模型的局部生成,剪枝是学习整体的模型。


 

continued:reference,code例子

 reference:[1].统计学习方法-李航-第五章-决策树

posted on 2018-09-09 18:37  makino  阅读(494)  评论(0编辑  收藏  举报

导航