您好、欢迎来到现金彩票网!
当前位置:刘伯温高手心水论坛1 > 推导树 >

机器学习决策树算法之——理论推导与数学原理

发布时间:2019-07-03 09:06 来源:未知 编辑:admin

  决策树作为一种分类算法,由于其强解释性与低学习成本,而广受欢迎,本篇文章仅从理论层面解释该算法的实现逻辑与数学推导过程。

  说起决策树,离不开对信息熵的理解,该词来源于信息论,信息熵这个词对于我们来说比较陌生,用书面语说,信息熵就是所有可能发生事件所带来的信息量的期望。我用自己的通俗理解将其解释为:获取一个结论所需要的信息量(或者说获取结论而需要付出的代价)。举个例子,我需要判断一只鸡是公鸡还是母鸡,很简单,只需要观察它的鸡冠,鸡冠大的肯定是公鸡,而母鸡的鸡冠则非常小。对于我来说,获取一只鸡是公鸡还是母鸡所需的信息量非常小,只是因为在鸡群中多看了你一眼,再也无法忘掉你容颜。那么我可以说对于获取鸡的雌雄所需的信息熵很小。而另一种情况,我需要判断一个人的性格是外向还是内向,光看他一眼可能就难以判断了,我还需要和他交往,听他说话的语气,看他的兴趣爱好以及工作性质,甚至还要去深入了解他的朋友圈。这实代价实在太大了,则对于断定一个人是外向还是内向这件事的信息熵就很大。

  用通俗的语言解释了信息熵之后,接下来我们先回到统计学的一个概念上来——二项分布。

  我们知道抛一枚硬币,结果只有两种——要么正面,要么反面。对于抛硬币这样一件事来说,就符合二项分布。这个比较好理解,一件事的发生情况只有两种(我们可以记为0和1),0发生的概率为P,那么1发生的概率自然就是(1-P)。我们将出现正面记为1,出现反面为0,出现正面概率为P1,出现反面概率为P0。则我们可以将一次某一次抛硬币事件的概率表述为:

  其中取 0或者1,即。是出现正面的概率。这是一次事件发生的概率。这个公式很好理解(注意这里是单独一次抛硬币,也就是事件是拥有独立性的)。

  有了这个二项分布的理解之后,再回到我们需要讨论的信息熵上面来。首先找到一个数据集,该数据集来自一位博友的文章:

  对于以上12个样本来说,第i个单独样本的模型结果pi的事件概率(靠谱程度)就是上面的二项分布的概率公式。根据这个公式,我们可以求取整个数据集的似然函数(在这里,可以把似然函数简单地理解为整个事件发生的可能性):

  我们构建模型的目的,就是要让该似然函数代表的概率达到最大。我们求信息熵的最终步骤就是要求整个函数的最大值。我个人最开始在这里理解起来很吃力(毕竟我不是统计学专业的,可能脑子也不太好使),我是这样笨拙地理解的:首先,上面的样本数据是真实发生了的,但真实也只是所有可能发生的情况的其中一种,虽然已经发生了(对于已经发生的事,我们可能会下意识地认为这件事的概率就是1,因为已经发生了的事情就已经是必然的了),但这件事情在发生之前出现的概率就不是1,而应该是上述的似然函数(站在二项分布的角度也就是抛硬币的例子去理解,会更容易一些)。下面是求取该函数的最大值的过程:

  因此,这是一个仅有一个最小值的凸函数,为求极值对应的函数参数,只需求其一阶导等于0即可,即求 pi 使得其一阶导数为0。

  在这里,由于pi是一个定值,因此我们可以将公式转化为如下求导,其中pk是第k个数据的概率预测值(即pi):

  其中m为该节点样本总数,分子部分为该节点正样本数,则pk即为该节点正样本的比例。将pk带入公式得到:

  进一步为了消除节点样本个数对该值的影响,使用节点样本数对该结果做归一化,得到:

  最后这个结果就是我们所看到的信息熵公式,当然这里因为是二项分布,是比较特殊的,而真正的通用信息熵公式为:

  然后我们将样本中的数据代入此公式,则可以得到一个信息熵,该信息熵称为经验信息熵(也就是根据样本数据计算出来的一个信息熵)。

  在该数据集中,最终分类结果只有两类,即嫁和不嫁。根据表中的数据统计可知,在12个数据中,6个数据的结果为嫁,6个数据的结果为不嫁。

  好了,到此,对于信息熵的解释已经完成了。接下来,我们需要理解的是条件熵。

  为了引入条件熵,我们引入一个新的变量,即帅或不帅, 将X设为:随即变量X={帅,不帅}

  当已知不帅的条件下,对应了4个结果,这四个结果中,不嫁的个数为1个,占1/4;嫁的个数为3个,占3/4

  当已知帅的条件下,则对应了8个结果,这八个结果中,不嫁的个数为5个,占5/8;嫁的个数为3个,占3/8

  用通俗的话理解就是,当加入了一个判断条件之后,我需要判定一个结论所需要的信息熵相比之前就有所减少了,这减少的量就是信息增益。回到最初的例子,我要判断一个人是外向还是内向,原本需要的信息量特别大,这个信息量可以看做是经验熵。但是,当我知道了他的爱好和朋友圈之后,我对他性格的判断就非常容易了,而此时我所需要的信息量就只是条件熵了,该条件带给我的好处(这里的好处就是我判断他的性格变得比之前容易多了)就可以看做是信息增益。

  决策树模型最终就是要求取信息增益最大的那个特征作为最有特征项,因为只有该特征才能让我最容易地对信息作出结论的判断。

  以上就是我对决策树里的信息熵、条件熵以及信息增量的粗浅理解。本人很少写博客,技术也属于菜鸟级别,有不对的地方,还望各位博友多多指点与纠正,在此谢过。

  本篇文章涉及的小案例和数学公式推导部分摘自博友的博客,文章末尾将注明出处。

  本篇博客的目录:特征思想信息增益几个小知识点决策树直观的例子ID3,CART,C4.5算法决策树的特征优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据缺点:可能会产...博文来自:blank_tj的博客

  一,对随机森林的重新思考  随机森林的每个决策树由随机样本数,随机样本特征,通过信息熵的度量来确定,可以说各个决策树之间是相互独立的,每个树只是在某个分类方向上具有优势(弱分类器),将具有优势的这些树...博文来自:耿国锋的博客

  问题定义Ax=b(1)(1)Ax=bAx=b\tag{1}在实际问题中,该方程组可能不存在真正的解,这时我们就希望可以求解它的一个近似解x∗x∗x^*,使得其能尽可能地接近(1)的真正解,其中A∈Rk...博文来自:deepinC博客

  PCA的数学推导PCA(PrincipleComponentAnalysis)是一种可以将高维度数据降为低维度数据的机器学习算法。通过降维,可以有节省存储空间,数据可视化等优点。之前在Coursera...博文来自:道路,愿景与目标。

  MachineLearning:最小二乘法数学原理及简单推导假设给定一系列散列值(数据集)记为D={(x1,y1),(x2,y2),(x3,y3),,,(xn,yn)},找到一个函数y=ax+b(也可...博文来自:Zhang Phil

  在介绍LogisticRegression之前我们先简单说一下线性回归,,线性回归的主要思想就是通过历史数据拟合出一条直线,用这条直线对新的数据进行预测线性回归的公式如下:y=hθ(x)=θ0+θ1x...博文来自:liuyhoo

  讲述了统计和数据处理法中的因子分析方法的原理、数学模型,并以实际案例为例,介绍了其应用方法和步骤,值得学习。

  理论推导  机器学习所针对的问题有两种:一种是回归,一种是分类。回归是解决连续数据的预测问题,而分类是解决离散数据的预测问题。线性回归是一个典型的回归问题。其实我们在中学时期就接触过,叫最小二乘法。 ...

  机器学习系列(9):十一分有趣的神经风格转换--原理、公式推导及python实现

  图像对比度与亮度调整算法实现(Python&OpenCV)阅读数12412

http://ivansolano.com/tuidaoshu/279.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有