决策树分析

关于决策树的分析

  • ok lets go!
  • 我们来从头捋一捋决策树,它的作用,它的机理,它的生成算法等等。
  • 首先是作用,我用自己的理解来和大家解释下,所谓决策树可以把它看成是一堆决策,这些决策就像是我们在写代码时的if else语句。我们将数据输入,通过决策树时即是通过了一堆if else的判断,最终在判断的终点决策时就会返回给我们一个答案,这个答案可能是分类的类别,也可能是回归的预测,如下图所示:
  • 图1
  • 上图中每一个圆形节点都代表了一个决策过程,可以认为是一个if的判断,而矩形的节点则可以看成是一个返回的结果,通过一些列不同的判断走向,决策树会对输入数据返回相对应的输出,这就是决策树的作用,就分类而言就是根据输入数据来对他的有用的特征进行逐层的判断,每一层的判断都建立在上一层的判断之上,最终得出结论。我们举一个例子,这个例子出现在西瓜书中,十分容易理解:
  • 图2
  • 上图大致解释了决策树的作用及机理。
  • 知道了决策树的作用,我们再来看看这些判断依据是从里来的呢?很显然上图中的色泽、根蒂等都是西瓜的特征,用西瓜的特征来判断西瓜的好坏这是十分自然的想法,但是为什么是这个顺序呢?为什么是要判断色泽先,之后再来看根蒂呢?相信对决策树生成机制并不了解的人也能想到应该是色泽这个特征对于判别西瓜的好坏有更重要的作用吧。我觉得可以这样认为。我们现在就来讨论一下这个判别标准是什么,因为我们不能依靠单纯的经验来做这个判断,我们需要严谨的数理论证来使得这一点能都成立,也就是说,色泽这一特征的确比其他两个特征对区分西瓜的好坏有更大的贡献。
  • 要讨论上面这个问题,我们先要接触一下信息熵这个概念。信息熵表示的概念就是像一段文本它包含了多少信息这样。有点难理解,我们不妨打个比方,说一句话:“今天太阳从西边出来了”。这是一句话,它包含了一定的信息,而且这其中的信息量很大。相对而言,我们说:“我是男的,我站着撒尿”。这也是一句话,它包含的信息量就很少,几乎没有。现在大家应该能理解一些了,何为信息。
  • 公式1
  • 上式就是信息熵的公式,我不在这里解释为何是这样的公式,他不难理解大家可以自助学习,我要解释一下,这其中的pi指的是事件发生的概率,pi越小H(x)就越大,就是说一件事它发生的概率越小而他又确实发生了,那么这间发生的事带来的信息量就越大。
  • 当然我们所要讨论的不是信息量的问题,我们列出这个式子是因为这个式子能够代表事件的信息量,他还能代表一个集合的纯净度。什么叫纯净度呢,比方说一个杯子中有一半的酒精一半的水,那么他的纯净度通过上述公式换算可以得到为(p0为水的占比:1/2,p1为酒精的占比:1/2)H(x)=-log(1/2).而若是一杯纯净水,他的纯净度是多少呢(p0是谁的占比:1)H(x)=0.懂了吧,H(x)越小集合的纯度越高,H(x)越大集合就越是纷杂。再把这个例子的概念带入到西瓜的例子当中去,我们知道如果一堆瓜中全是好瓜,那么他的纯度最高,H(x)就是0,相反如果好坏各一半,纯度就相对更低,H(x)=-log(1/2)。我们要挑出好瓜就是做西瓜分类,而做西瓜分类就是要使得一个纷乱的西瓜集合分割成纯度更高的西瓜集合,比方说把原来的一对好坏都有的西瓜集合,分成了两堆瓜,一堆直有好瓜,一堆只有坏瓜,那么我们的目的就达到了,西瓜集合的纯度提高了。(分好的两堆瓜的H(x)都是0,加起来也就是0,比原来的一顿瓜的H(x)低,我们称前后的纯净度差值为信息增益,公式如下:)。
  • 公式2
  • 上式中g(D,A)代表了信息增益,H(D)代表了上一个集合的信息熵,也就是纯净度,H(D|A)则代表了选择了A作为判断特征之后,将集合D判断分类之后的集合的信息熵。
  • 我们寻找特征的依据也在这里:在多个特征中找到一个特征能使得瓜集合的信息增益最大化的,用它来分类集合,若是分类之后的集合纯净度依旧不高,我们就递归的使用这个方法,不断贪心的选择特征来分类,直到分出来的所有的子集合能够满足我们的需求了,纯度够高了,就可以将最后的这些子集合作为决策树的根节点,也就是给他们贴上标签,比如说好瓜,或者坏瓜。参考我们的图一,这就是构建决策树的概念。
  • 再来分析下公式,上述公式比较笼统,我们具体分析一下:如下:
  • 公式3
  • 这就是一个集合的信息熵的计算公式,Ck代表了集合中的所有类别,D代表了集合,加起来就是集合D的信息熵了。
  • 公式4
  • 上式为依据特征A分解集合D后的子集合的信息熵的加权和。Di指的是分解之后每一个子集合的数据的个数|Di|/|D|就是加权值,后面的H(Di)就是每一个子集合的信息熵,H(D|A)就是当前根据特征A分解出的子集的信息熵的加权合。
  • 还要介绍一下的是在构建决策树时什么时候我们可以说一个集合他不用再被分解了呢?这个时候可以分为几大类:一个是该集合纯度达到了我们的要求,一个是该集合中的数据依据不具备在被分解的特征了,还有一个就是我们尝试了所有的分解特征后发现所有的特征对其分解所产生的信息增益都很小了,这时候我们可以判断该集合不必再分解,将该集合中占多数的类别作为该集合的标签就可以了,这个集合就作为决策树的一个叶子结点。
  • 以上段落所描述的主要是ID3算法,事实上ID3算法有着他的缺点,有兴趣的可以去研究下,西瓜书中对这一点进行了阐述,我在此处不再多讲。还有问题的可以邮箱与我联系,或者想看决策树的别的算法的分析的人可以留言我。
  • zlh9584@gmail.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值