Facebook工程师告诉我们什么是随机森林即使基础为零也能理解-干货-量子比特
今天的这个报名表介绍决策树和随机森林。
这个投稿适合机器学习基础为0的学生~
当然,有基础的学生也可以来看,加深理解哦!
作者毕业于之前介绍的“普林斯顿大学”,现在是“Facebook”工程师维克多Zhou。
在介绍随机森林之前,首先介绍决策树。
简而言之,决策树堆被捆绑起来,构成一片随机森林。
我们先看一下数据集。
如果你给它一个随机的横坐标x,你认为它是什么颜色的点。
蓝色?绿色?如果你说其中一个,你肯定是在逗我。
从这个图来看,x=2的这条线好像是分割线。于是合理怀疑,xlt;2的情况下为蓝色,xgt;2表示绿色。
那么刚才,你相当于评价了决策树。
决策树是指对给定数据集的新样本进行分类。
图中的蓝绿标记点相当于我们的数据集,随机x是新样本,我们所做的就是对新样本进行分类。
如果数据集中添加了红色。
如果我们那样分类,结果就会出现误差。xlt ;2的情况下,不能马上分为蓝色或红色。
然后,会出现另一个决定点。y,然后ylt;2的情况是蓝色,相反的是红色。
把这个分为三类。
这就是决策树背后的基本思想。
怎么样,很简单吧?然后训练决策树。
培训决策树确定根节点
使用包含上述三种红绿蓝的数据集。
训练决策树的主要任务以确定树中的根决策节点。这里有x、y,可以设置任意的阈值。
那么,将x阈值(临界值)设定为2。
从结果来看,我们这个根节点进行了很好的分割,尽可能地划分出不同的种类。
绿色在右边,不是绿色的在左边。
但我们的目标是找到根节点,做最好的分割。另一方面,为了量化分割的最优性,需要引入杂质的概念。
基尼杂质
对于上面两种颜色的绿色蓝色,如果按x=2分割,则数据集将完全分割为两个分支。
但是,如果x=1.5呢?分割不是那么完美。
如果我们对数据点进行了错误的分类(如上图所示的蓝色),则发生这种错误的可能性为基尼杂质。
举个例子,以上述数据集整体为例,试着计算基尼杂质。那么,数据点的判断主要有以下4个。
其中错误的可能性为25%+25%,因此基尼杂质为0.5。
要用表达式表示:。
其中,G是基尼杂质,C是种类数。
上述例子
想想看,以完全分割的数据集为例。
在左右分支中,杂质全部为0。
另外,让我们以不太完美的分割为例。
那么,左分支,基尼杂质为0。
有一个分支,计算如下:。
然后,对每个分支的杂质量进行加权,计算分割的质量。
这里的左分支有四个要素,右分支有六个要素,左权重为0.4,右权重为0.6。
其分割质量:0.4*0+0.6*0.278=0.167
通过分解除去的杂质的质量为0.5-0.167=0.333(0.5为数据集全体的基尼杂质)
该值称为基尼增益。
知道完全切割的基尼增益是0.5。基尼增益越大,分割越好。
基尼增益
基尼什么是杂质,基尼知道增益后,实际计算3色的数据集吧。
如果x阈值设置为0.4,则有以下分类:。
整个数据集的基本杂质:
两个分支的基尼杂质:
基尼增益:
因此,当x取任意可能的阈值时,计算所有增益。结果如下:。
那么,从表中可以看出,x=2时,其基尼增益最大,表示此时的分割效果最好。
培训决策树确定第二个节点
确定根节点后,我们马上确定第二个节点~
显然,我们在乎左边的分歧,然后需要做同样的事情。
可以认识到y=2可以实现最佳分割。
这样看来,好像要完成了。别着急,再走一步。
如果您正在尝试构建第三个决策节点,请尝试在右侧分支中找到最佳分割。
然而,发现所有分割结果相同,杂质为0,增益也为0,说明效果都相同。
说明在右侧分支中确定节点是没有意义的(但此步骤是必需的)
因此,将此节点称为叶节点,粘贴绿色标签,并将绿色标签粘贴到到达该节点的所有数据点。
剩下的两种颜色也一样。
至此,决策树培训已完成!
随机森林
如前所述,随机森林是一组受约束的决策树。
这句话是对的,但实际上有一些不同。
要了解随机森林,你必须先了解Bagging。
Bagging(bootstrap aggregating)
什么是巴金?下面的算法告诉你。
利用n个样本来训练决策树,其中从数据集中提取并替换n个恢复的训练数据点是均匀的,重复t次(t也是决策树的数目)
然后汇总每个决策树的预测结果。
如果我们的树遵循颜色等类标签,采用投票的方式,票数多是最佳选择。
如果我们的树是发生数值(例如预测温度、价格等),则取平均数。
随机森林
基本决策树只有一个参数。那是t-树的数量。
随机森林还需要第二个参数来控制最佳分割所需的特征数量。
例如,在上面的例子中,我们只需要两个特征x和y,就可以实现最佳分割。
但是,实际的数据集比这更复杂,特征也更多,甚至数以千计。
假设有一个具有p特征的数据集。每次创建新决策节点时,不要尝试所有特征,而只尝试其中一个子集。
这样可以注入随机性,使单个树更加独特,减少树之间的相关性,从而提高森林的整体性能。
那么,随机森林就介绍到这里。详细说明可以盖章的下面的链接~
https://victorzhou.com/blog/intro-to-random-forests/