-->

机器学习40讲_26_25_基于特征的区域划分树模型

你好,我是王殿一。

今天我和你分享的主题是基于特征的区域划分数模性。

不知道你是否留意过非洲的地图和其他大洲?按照地理边界划分国界的方式不同,很多非洲国家的国境线都是规则的直线条组合,这种非自然的画面背后隐藏着一段屈辱的历史。

十九世纪起,欧洲的资本主义新贵们开始了对非洲的掠夺,而在巧取豪夺资源之外,他们也没有忘记抢占地盘。

这些横平竖直的国境线,就是对当年殖民主义者瓜分非洲无声的控诉。

当然,我的目的不是探讨历史。

举这个例子的原因,是从非洲地图容易直观的联想到机器学习当中基于数方法的分类结果树模型,它遵循的就是分而治之的思路,以递推方式将特征空间划分成若干个矩形的区间,再在每个区间上拟合出来一个简单的模型。

在分类问题当中呢,这个简单模型对应的就是类别的标签儿。

在人工智能基础课当中,我曾以用于分类的决策树为例,对树模型做了介绍。

那么你可以回忆一下,点击文稿,你也可以看到分类决策树对特征空间进行划分的一个实例。

今天呢我将换个角度,从线性回归模型出发来理解数模型。

那么这种理解思路呢将从回归树开始,顾名思义,回归树是用来完成回归任务的树模型和全局的线性回归。

相比树模型呢它是一种局部化的模型,也就可以实现非线性的拟合。

在从整体到局部的过渡当中,回归数的操作和之前介绍过的回归样条方法啊,两者是一脉相承的,采用的都是分段函数的思路。

但两者的区别呢在于说回归数对特征空间执行的是递归式的划分。

递归的划分的话,它不要求一步到位,而是步步为营的对前一次划分的子区域继续的做出细化,直到满足预先设定的要求为止。

这一点呢在上面的图示当中也有所体现。

这样看来的话,回归数和原始线性回归的区别仅仅在于全局性和局部性这样的差异吗?非也。

回归书的表达能力强在哪儿呢?强在对于特征之间相互作用的刻画,当用来预测输出的特征有多个的时候,不同的特征之间啊未必是完全独立的,很可能存在着交互,从而呢共同对输出产生影响。

而这种影响的作用呢,其实它就超出了线性的范畴。

假设在我的输入当中啊,两个特征分别是x一和x二。

如果要考虑它们之间相互作用的话,这时呢线性回归的模型就需要改写成什么呢?改写成y等于a零加上a一乘以x一,加上a二乘以x二,加上b乘以x一再乘以x二,再加上不用,可以看出这里面是多了一个x一乘以x二这样的一个交互项。

那么当x一和x二各自发生一点微小的变化,产生一点微小扰动的时候,这种变化呢会在交互项当中产生一个累积,累积的结果是什么呢?用x一加上耳塔一乘以dex二加上二,可以得到deltx一。

X二加上耳塔二乘以dex一加上一乘以deltx二,再加上delta一乘以耳dea二原始的交互项呢它是只有一项啊。

那么经过了一点扰动之后,这个交互项产生了四个分量啊,除了第一个分量之外,剩下的三个都是多出来的。

在这里面的最后一项啊,也就是耳塔一乘以耳塔二。

这一项呢会给线性模型的解释啊造成一些困扰。

因为它是和自变量取值无关,只和它的扰动相关的当特征的数目进一步增加的时候,那么特征之间交互项的数目会以指数的速度增加,这呢都会给非线性的描述带来严重的困难。

和线性回归。

由因起果的推理方式相比呢,回归树采用的是更有弹性的由果推因的方式。

它不会直接构造出从自变量到因变量的明确的数量关系啊,也就是上面的AXX一,加上a二x二加上b乘以x一乘以x二。

没没有这样清晰的解析式,而是通过对因变量进行分组,反过来确定自变量的影响方式。

啊,一个倒推的过程。

分组的依据呢包括两个,一个是因变量,也就是输出的相似性。

另一个呢是单个的自变量,也就是输入的这个相异性。

因变量的相似性呢,它决定了被划分到同一组的数据,在输出上差别比较小。

从结构上看,这些是类似的。

那么自变量的相异性呢则决定了被划分到不同组的数据,在某一个输入属性上差别较大,在输入上它们是有区别的。

那么对划分好的数据集继续的迭代的执行这个过程的话啊,就可以完成对于特征空间递归式的一个划分。

由于回归树呢是采用树状结构来建模,所以从树结构的角度看,对于数据集的递归式划分,就是对树模型的不断分支。

每个分支的节点都是让因变量产生最大差异,也就是差异最大化的那个自变量。

在这个过程当中呢,每个节点内样本的同质性会不断的增强。

当样本完全同质化或者数目过少啊,没法再分的时候,回归树的构造就完成了。

至于说分支节点具体的选择原则啊,在上一季的专栏当中,我已经做过了介绍啊,基于信息增益的一个原则,你可以回忆一下啊。

但在选择节点上,回归数和分类数的区别就在于说回归数,将信息增益的指标替换成了方差。

算法呢会根据分类之后,两个方差之和最小,也就是和原始的方差相比下降最大的那个属性进行划分。

这种划分方式呢被称为方差下降。

下面这个对回归数划分方式的说明来自于中文文献,把ct分类与回归树介绍这篇文章发表在哪儿呢?发表在一九九七年的火山地质与矿产第十八卷第一期上,这也从侧面反映出统计学习的应务范围是多么的广泛。

文章说明了一点啊,划分的优劣取决于生成节点当中因变量的离散程度。

划分之后,这个因变量的取值越集中,划分的效果就越好。

那树生成的算法呢就是一步一步找到这样一个最优的划分。

假设出训练集当中总共有这么三百个数据啊,所有数据共同的方差是五十一点。

五有一种方式呢可以将数据集划分成一百四十二和一百五十八,这两组两组的方差呢分别是四十六点七,还有四十九点三,这说明什么呢?左右两个节点当中因变量的离散程度和总体的离散程度是接近的,和这个总体的五十一点五有差,但是没差多少。

显然呢,这样的划分并不是一个理想的划分。

相比之下,另一个划分可以让左节点中方差是二十点三。

右节点中呢方差是二十六点零,这种划分呢减少了近一半的方差。

在每个节点里,音变量都更加接近于他们的平均值。

这种划分显然要优于上面的划分。

这样的过程呢其实体现出来的是局部化模型,典型的处理方式。

也就是先将整体划分成局部,在每个局部呢都能够体现出一定的规律性,再在每个局部上做出对这个规律性的拟合。

划分过程可以通过逐步选择具有最大的信息增益啊,或者最大的方差下降这样的特征来完成。

那么在划分出来的局部上如何来进行拟合呢?回归数它给出了一个非常简单的答案,那就是每个局部上所有数据的取值都是常数。

它的数值等于这个局部内样本点输出的均值。

这种常数的方式实际上是最简单的一个拟合方式,比线性回归还要简单。

那么这样的决策树输出的结果呢,就是像楼梯一样高低错落的超平面的组合。

为了测试回归数的效果,我用它对一直应用于回归任务的这个英超数据集进行了拟合。

点击文稿,你可以看到拟合的结果实现回归。

树的话需要调用SK, learn当中tree模块啊,就是树模块的这个decision tree regisor回归器的这样的一个类。

在拟合的时候回归数的最大深度,我把它设置为三啊,这意味着对特征空间的划分次数呢是三次,最多可以分出二的三次方,等于八个区域。

可以看到在一维的情形之下,回归数就是分段的常数函数。

但是呢不同分段之间的分界点,并不是说人为指定的啊像样条,那样我直接设定一个分界点,而是通过方差下降的方法计算出来的。

为了进一步考察回归数在多元回归问题中的表现,并且观察回归数对于特征之间交互的处理方式。

下面呢我们再来看一看回归数,去拟合位置、平分数据和场均积分关系。

这两者之间的一个效果出于可视化的考虑呢,在位置评分当中,我只选择了后卫评分和前锋评分,两者作为输入的特征。

之所以选择这两者,是因为在前面的多元回归分析当中,已经证明这两个属性和积分之间存在着较强的相关性啊,是比较重要的特征。

同时呢两个属性所映射出来的二维平面也会更加的容易观察。

从回归数的结果当中可以看出,在不同的数据点上,两个特征的交互方式是不一样的。

数算法。

他首先根据防守球员的得分将数据集一分为二。

那么在防守水平前三分之一的队伍当中呢,进攻水平其实并没有产生太大的影响。

当然这里面有一上一下,两个傲然不全的这个数据点对应着两个子区域。

但是它们看起来呢更像是数据集当中的异常点。

而在防守较差的三分之二里呢,进攻和防守之间的互动就复杂了许多,对应着呢划分出来的区域也比右侧的那个区域要复杂。

无论是回归数还是分类数啊,在生成的时候都遵循着相同的流程,那就是先划分特征空间,再对每个特征空间去进行拟合。

两者的区别呢主要在于说选择划分特征时采用的指标不同。

这个在前面的例子当中啊也做了说明。

和线性回归相比呢,决策树更加符合人类做出决策,尤其是像医学诊断这一类决策的思维流程,他的可描述性还要更好一些。

但它的缺点在于什么呢?对于家境关系的表达能力不强,如果因变量真的是自变量的线性组合的话,这时候再使用决策树,恐怕就要弄巧成拙了。

在可用于划分的自变量比较多的时候啊,即使树结构的节点已经预先设定,要穷举搜索到方差和最小的这个最优数呢,依然是一个费时费力的过程。

那贪心策略是确定决策树结构时候通常采用的方法探心策略。

在生成数的时候,每次只是增加一个节点。

确定节点的时候呢,采取在当前状态下最优的选择,让每个子集都在当前条件下具有最正确的分类。

但这种方式他并不能够确保说找到全局的最优解,因而呢容易造成过拟合探寻策略。

它另一个问题是终止条件。

当树结构达到一定深度之后,进一步的划分呢很可能不会让子集方差产生明显的下降。

这时候要再划分下去的话,就会造成过拟合。

应对这个现象的手段呢,是先让探金策略生成一棵比较复杂的树。

当每个子集当中样本的数目都达到下限的时候,这种情况下我终止算法,再来对这棵树呢进行剪枝的操作。

本质上说,减值是对决策数、残余、方差和复杂度之间的折折中。

对于回归数来说,点击文稿你可以看到减值的目标函数。

这里面呢XN代表着样本的自变量。

Tn代表着样本的因变量,而套表示的是决策树所划分的区域,每个区域当中包含着n套个样本。

那么t呢表示的是划分区域的数目。

显然t的作用就是对目标函数的正则化。

决策树它一个主要的缺点呢是对数据点异常敏感,训练,数据集上一点不起眼的变动,就足以生成一棵完全不同的决策树。

而数据集当中的异常点呢,也会对决策树结果造成未知的影响。

除此之外呢,在处理回归任务的时候,决策树得到的是不连续的结果。

那么这样看来呢,回归样条前面介绍过就可以看成是决策树的一种优化。

广义来看的话,决策树可以视为对基本线性模型的层次化的集成。

这里的基本模型呢就是数据在每个划分区域上的回归或者分类规则。

这些规则呢通常是线性,那决策树的作用就是将这些固定的局部线性规则进行拼接式的组合,从而呢生成整体意义上的非线性模型。

后面我们将会发现,看似简单的集成策略,却能够在机器学习当中发挥出出人意料的优异性能。

今天我以回归树为例,和你分享了决策树的基本原理,包含着以下四个要点,第一,决策树是局部化的非参数模型。

第二,决策树生成算法,先将特征空间划分成若干区域,再在每个区域上拟合输出。

第三,决策树能够灵活的刻画不同属性之间的相互作用。

第四,决策树可以看成是最简单的集成模型。

作为规则集合的决策树呢其实不仅仅是一类机器学习的模型,更是决策分析当中常用的结构化方法。

那么你能想到哪些决策树在机器学习之外的应用呢?欢迎发表你的观点。