机器学习 - 随机森林 Random Forest(学习笔记)

构造出多棵决策树,每个决策树单独执行。每次执行对样本要随机选择,选一定比例的数据(如60%),因为数据样本可能有异常值。对特征选择也随机选择,因为有的特征表达效果不好。最后将结果统一。分类:求众数;回归:求均值。解决决策树泛化能力弱的特点。(可以理解成三个臭皮匠顶过诸葛亮)

每棵树都尽最大程度的生长,并且没有剪枝过程。
一开始我们提到的随机森林中的“随机”就是指的这里的两个随机性。两个随机性的引入对随机森林的分类性能至关重要。由于它们的引入,使得随机森林不容易陷入过拟合,并且具有很好得抗噪能力(比如:对缺省值不敏感)。

总的来说就是随机选择样本数,随机选取特征,随机选择分类器,建立多颗这样的决策树,然后通过这几课决策树来投票,决定数据属于哪一类(投票机制有一票否决制、少数服从多数、加权多数)

随机森林与Bagging相比,在其样本扰动的基础上,增加了属性扰动,泛化性能通过个体学习器之间的差异 度的增加而进一步提升。

随机森林算法可以对特征的重要性进行选择,如通过包外估计法和基于不纯度减少的方法(哪个特征对不纯度减少的贡献越大,那么哪个特征就越重要)

减小特征选择个数m,树的相关性和分类能力也会相应的降低;增大m,两者也会随之增大。所以关键问题是如何选择最优的m(或者是范围),这也是随机森林唯一的一个参数。

Bootstraping:有放回采样

Bagging:有放回采样n个样本一共建立分类器

Bagging是bootstrap aggregating。思想就是从总体样本当中随机取一部分样本进行训练,通过多次这样的结果,进行投票获取平均值作为结果输出,这就极大可能的避免了不好的样本数据,从而提高准确度。因为有些是不好的样本,相当于噪声,模型学入噪声后会使准确度不高。

假设有1000个样本,如果按照以前的思维,是直接把这1000个样本拿来训练,但现在不一样,先抽取800个样本来进行训练,假如噪声点是这800个样本以外的样本点,就很有效的避开了。重复以上操作,提高模型输出的平均值。

GBDT

GBDT是通过采用加法模型(即基函数的线性组合),以及不断减小训练过程产生的残差来达到将数据分类或者回归的算法,它是决策树的boosting算法

你可能感兴趣的:(机器学习,学习笔记,机器学习)