大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
随机森林回归算法原理
随机森林回归模型由多棵回归树构成,且森林中的每一棵决策树之间没有关联,模型的最终输出由森林中的每一棵决策树共同决定。
随机森林的随机性体现在两个方面:
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回归树的预测是根据叶子结点的均值,因此随机森林的预测是所有树的预测值的平均值。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/171773.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...