登陆

下载章鱼彩票软件-一篇文章教你搞定传说中的“随机森林”

admin 2019-07-02 310人围观 ,发现0个评论

点击上方重视,All in AI我国

机器学习的一个重要部分是分类,咱们想知道一个调查成果归于哪个分类(也便是组)。对调查成果进行精确分类的才干关于各种事务应用程序都十分有价值,比方猜想特定用户是否会购买产品,或许猜想给定借款是否会违约。

数据科学供给了许多的分类算法,如逻辑回归、支撑向量机、朴素贝叶斯分类器和决议计划树。

在这篇文章中,咱们将研讨根本决议计划树是怎么作业的,怎么将个别决议计划树组合成一个随机森林,并终究发现为什么随机森林在它自己的范畴十分如虎添翼。

决议计划树

让咱们快速回忆一下决议计划树,由于它们是随机森林模型的构建块。走运的是,它们十分直观。我敢打赌,大多数人在日子的某个时间,都有意无意地运用过这个决议计划树。

简略决议计划树示例

咱们经过一个比如来了解决议计划树的作业原理或许要简单得多。

假定咱们的数据集由左上方的数字组成。咱们有两个1和5个0(1和0是咱们的类),并且期望运用它们的特性来分隔类。首要的特征是色彩(赤色和蓝色)以及调查是否加下划线。那么咱们怎么做呢?

色彩似乎是一个十分显着的特征,由于除了一个0以外,一切的0都是蓝色的。所以咱们可以用"是不是赤色"来分隔第一个节点。你可以将树中的节点视为途径分红两个部分的点,然后使满意条下载章鱼彩票软件-一篇文章教你搞定传说中的“随机森林”件的调查值沿着Yes分支向下,而不沿着No分支向下。

No分支(蓝色)现在都是0,所以咱们现已完成了,可是Yes分支依然可以被进一步分隔。现在咱们可以运用第二个特性并问询:"它是否带下划线?"可第2次分隔。

带下划线的两个1向下到Yes子分支上,而没有下划线的0向下到右边的子分支上,这些咱们都做完了。咱们的决议计划树可以运用这两个特性来完美地切割数据。

显着,在现实日子中,咱们的数据不会这么洁净,可是决议计划树所运用的逻辑是相同的。在每个节点,它会问

什么特征将答应我以一种办法切割手头的调查成果,使得成果组尽或许相互不同(并且每个成果子组的成员尽或许相互类似)?

随机森林分类器

随机森林,望文生义,由许多独立的决议计划树组成,它们作为一个全体运转。随机森林中的每棵树都有一个类猜想,投票最多的类将成为咱们模型的猜想(见下图)。

猜想随机森林模型的可视化

模型之间的低相关性是要害。就像低相关性的出资(如股票和债券)怎么组合在一起构成一个大于各部分之和的出资组合相同,不相关模型也可以发生比任何单个猜想更精确的整体猜想。发生这种美妙作用的原因是,树木可以相互维护,防止各自的过错(只需它们不总是在同一个方向犯错)。尽管有些树或许是错的,可是许下载章鱼彩票软件-一篇文章教你搞定传说中的“随机森林”多其他的树是对的,所以作为一个集体,这些树可以朝着正确的方向移动。因而,随机森林要想体现杰出,其先决条件是:

  1. 咱们的特性中需求有一些实践的信号,这样运用这些特性构建的模型才干比随机猜想做得更好。
  2. 单个树做出的猜想(以及由此发生的差错)需求相互之间具有较低的相关性。

这便是为什么桀不相关的成果如此之好

具有许多不相关的模型的美妙作用是一个十分重要的概念,因而我想向你展现一个示例来协助你真实的了解它。幻想一下,咱们正在玩以下游戏:

  • 我用一个均匀散布的随机数发生器来发生一个数字。
  • 假如我生成的数大于或等于40,你赢了(所以你就有60%的时机赢),我交给你一些钱。假如低于40,我赢,你交给我相同的金额。

现在我为你供给以下的挑选。 咱们可以:

  • 游戏1: 玩100次,每次下注1美元。
  • 游戏2: 玩10次,每次下注10美元。
  • 游戏3: 玩一次,下注100美元。

你会选哪一个?每款游戏的期望值相同:

  • 第一场期望值= (0.60*1 + 0.40*-1)*100 = 20
  • 第二场期望值= (0.60*10 + 0.40*-10)*10 = 20
  • 第三场期望值= 0.60*100 + 0.40*-100 = 20

每个游戏10000个模仿成果的散布

那散布呢?让咱们用蒙特卡洛模仿可视化成果(咱们将对每种游戏类型运转10,000个模仿;例如,咱们将模仿10000次游戏1)的100个玩法。尽管期望值是相同的,但成果散布从正的和窄的(蓝色)到二进制(粉赤色)大不相同。

游戏1(咱们玩100次)供给了挣钱的最佳时机,在我运转的10,000个模仿中,97%的模仿都是挣钱的!关于游戏2(咱们玩了10次),你在63%的模仿中挣钱,大幅下降(并且你的赔钱概率急剧添加)。而咱们只玩了一次游戏3,你在60%的模仿中挣钱,正如预期的那样。

因而,即便游戏具有相同的期望值,它们的成果散布也彻底不同。咱们把100美元的赌注分红不同的部分越多,咱们就越有决心赚到钱。如前所述,这是由于每个剧本都是独立于其他剧本的。

随机森林是相同的,每棵树就像咱们之前游戏中的一棵树。咱们发现咱们玩的次数越多,挣钱的时机就越多。相同,关于随机森林模型,咱们做出正确猜想的时机跟着模型中不相关树的数量添加而添加。

假如你想自己运转模仿游戏的代码,你可以在我的GitHub上找到它。GitHub - yiuhyuk/coin_flip_game: Used to illustrate why bagging is effective

保证模型之间的多样化

那么,随机森林怎么保证每棵树的行为与模型中其他树的行为不太相关呢?它运用了以下两种办法:

Bagging (Bootstrap Aggregation)——决议计划树对它们所练习的数据十分灵敏,且对练习集的细小更改可以导致显着不同的树结构。随机森林利用了这一点,答应每棵独自的树从数据会集随机抽取样本,并进行替换,然后生成不同的树。这个进程被称为bagging。

留意,运用bagging时,咱们没有将练习数据细分为更小的块,而是在不同的块上练习每棵树。相反,假如咱们有一个巨细为N的样本,咱们依然向每棵树供给一个巨细为N的练习集(除非还有阐明)。可是咱们没有运用原始的练习数据,而是随机抽取一个N巨细的样本进行替换。例如,假如咱们的练习数据是[1、2、3、4、5、6],那么咱们可以给咱们的树中的一个列表[1、2、2、3、6、6]。留意,这两个列表的长度都是6,并且"2"和"6"都在随机挑选的练习数据中重复呈现,咱们将这些数下载章鱼彩票软件-一篇文章教你搞定传说中的“随机森林”据供给给咱们的树(由于咱们运用替换抽样)。

随机森林模型中的节点割裂根据每棵树的随机特征子集

特征随机性——在一个一般的决议计划树中,当需求切割一个节点时,咱们考虑每一个或许的特征,并挑选一个在左节点和右节点的调查成果之间发生最大别离的特征。相反,随机森林中的每棵树只能从特征的随机子会集选取。这使得模型中的树之间的差异更大,终究导致树之间的相关性更低,多样性更强。

让咱们来看一个可视化的比如,在上面的图中,传统的决议计划树(蓝色)在决议怎么切割节点时可以从一切四个特性中进行挑选。它决议运用Fea下载章鱼彩票软件-一篇文章教你搞定传说中的“随机森林”ture 1(黑色和下划线),由于它将数据切割成尽或许别离的组。

现在咱们来看看随机森林。在本例中,咱们将只研讨森林中的两棵树。当咱们查验随机森林树1时,咱们发现它只能考虑feature 2和feature 3(随机挑选)来进行节点切割决议计划。咱们从传统的决议计划树(蓝色)中知道,Feature 1是用于切割的最佳特性,可是树 1不能看到Feature 1,因而它只能挑选Feature 2(黑色,下划线)。另一方面,树2只能看到特性1和特性3,因而它可以挑选Feature 1。

因而,在咱们的随机森林中,咱们得到的树不只针对不同的数据集进行练习(多亏了bagging),并且还运用不同的特性来做出决议计划。

所以,这就创立了不相关的树来缓冲和维护相互不受过错的影响。

定论

随机森林是我个人的独爱。由于来自金融和出资范畴的圣杯,总是树立一堆不相关的模型,每个模型都有正的预期报答,然后把它们放在一个出资组合中,取得巨大的alpha(alpha =商场跳动报答)。说起来简单做起来难!

随机森林是数据科学的等价物。让咱们终究温习一次,什么是随机森林分类器?

随机森林是一种由许多决议计划树组成的分类算法。在构建每棵独自的树时,它运用bagging和特征随机性,企图创立一个不相关的树的森林,委员会的猜想比任何独自的树都精确。

为了让咱们的随机森林做出精确的类猜想,咱们需求什么?

  1. 咱们需求至少具有必定猜想才干的特性。究竟,假如咱们把废物放进去,咱们就会把废物拿出来。
  2. 森林中的树木以及更重要的是,它们的猜想需求不相关(或许至少相互之间的相关性较低)。尽管算法自身经过特征随机性企图为咱们规划这些低相关性,可是咱们挑选的特征和咱们挑选的超参数也会影响终究的相关性。
请关注微信公众号
微信二维码
不容错过
Powered By Z-BlogPHP