随机森林回归算法_随机森林算法的优缺点

2022-09-24 13:59:22 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

随机森林回归算法原理

随机森林回归模型由多棵回归树构成,且森林中的每一棵决策树之间没有关联,模型的最终输出由森林中的每一棵决策树共同决定。 随机森林的随机性体现在两个方面: 1、样本的随机性,从训练集中随机抽取一定数量的样本,作为每颗回归树的根节点样本;

2、特征的随机性,在建立每颗回归树时,随机抽取一定数量的候选特征,从中选择最合适的特征作为分裂节点。 算法原理如下: (a)从训练样本集S中随机的抽取m个样本点,得到一个新的S1…Sn个子训练集;

(b)用子训练集,训练一个CART回归树(决策树),这里在训练的过程中,对每个节点的切分规则是先从所有特征中随机的选择k个特征,然后在从这k个特征中选择最优的切分点在做左右子树的划分。(这里的得到决策树都是二叉树)

(c)通过第二步,可以生成很多个CART回归树模型。

(d)每一个CART回归树最终的预测结果为该样本点所到叶节点的均值。

(e)随机森林最终的预测结果为所有CART回归树预测结果的均值。

随机森林建立回归树的特点:采样与完全分裂

首先是两个随机采样的过程,随机森林对输入的数据要进行行(样本)、列(特征)的采样。对于样本采样,采用有放回的方式,也就是在采样得到的样本集合中,可能有重复的样本。

假设输入样本为N个,那么采样的样本也为N个。这样使得在训练的时候,每一棵树的输入样本都不是全部的样本,使得相对不容易出现过拟合over-fitting。

然后进行特征采样,从M个Features中,选择m个(m << M)。之后就是对采样之后的数据使用完全分裂的方式建立出回归树

一般情况下,回归树算法都一个重要的步骤 – 剪枝,但是在随机森林思想里不这样干,由于之前的两个随机采样的过程保证了随机性,所以就算不剪枝,也不会出现over-fitting。

每一棵回归树就是一个精通于某一个窄领域的专家(因为我们从M个feature中选择m让每一棵回归树进行学习),这样在随机森林中就有了很多个精通不同领域的专家,

对一个新的问题(新的输入数据),可以用不同的角度去看待它,最终由各个专家得出自己的结果,最后将得到结果取均值即可。

随机森林的基学习器并不是弱学习器而是强学习器,是有很高深度的强决策树组成的。

CART回归树

CART回归树,采用的原则是最小均方差(MSE)。即对于任意划分特征A,对应的任意划分点s两边划分成的数据集D1和D2,求出使D1和D2各自集合的均方差最小,同时D1和D2的均方差之和最小所对应的特征和特征值划分点。表达式为:

其中:c1为D1数据集的样本输出均值,c2为D2数据集的样本输出均值。 CART回归树的预测是根据叶子结点的均值,因此随机森林的预测是所有树的预测值的平均值。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171773.html原文链接:https://javaforall.cn

0 人点赞