机器学习---决策树

今天开始学决策树,尽管导师每天催任务,但我还是得把机器学习学完,学懂,现在看西瓜书很有感觉。这个机器学习太好了,感觉学着学着就变聪明了一样,不断地让自己的思维变得更敏捷,所以我爱机器学习。
今天要讲的内容主要有以下几点:

  1. 信息熵(条件熵)
  2. 决策树
  3. 决策树优化
  4. 剪枝
  5. 决策树可视化

说信息熵之前,先说下什么叫比特化

比特化

假设有一组随机变量X,X变量组成的序列: BACADDCBAC…;各个值出现的概率关系如图;如果现在希望把这个随机变量序列转换成二进制来进行网络传输,规定:机器学习---决策树那么我们得到一个这样的序列,01001000111110010010。我们可以使用两个比特位来表示一个随机变量。这种两个比特位表示一个随机变量的方式就是ABCD出现的概率都是四分之一。机器学习---决策树

然而,当X变量出现的概率值不一样的时候,如下图是每个随机变量出现的概率:
机器学习---决策树,在这种情况下我们怎样传输比特位才能少呢?可以这样,按照概率用每个比特表示机器学习---决策树,每个随机变量的平均比特位为:1.75,如下图所示:机器学习---决策树
我们可以把上面的求期望表示成另一种方式:
机器学习---决策树
我们把上边的随机变量X一般化,假设随机变量X具有m个值,分别为:V 1 ,V 2 ,…,V m 并且各个值出现的概率如下表所示;机器学习---决策树
那么,对于一组变量来讲,每个变量平均需要多少比特位来表示呢?我们可以使用变量的期望来表示每个变量平均需要多少比特位:
机器学习---决策树

信息熵

我们把H(X)叫做随机变量X的信息熵,H(X)表示如下:
信息量:指的是一个样本/事件所蕴含的信息,如果一个事件的概率越大,那么就可以认为该事件所蕴含的信息越少。极端情况下,比如:“太阳从东方升起”,因为是确定事件,所以不携带任何信息量。那么什么叫信息熵呢?
信息熵 :一个系统越是有序,比如上边说的太阳东升西落,信息熵就越低;相反,一个系统越是混乱,信息熵就越高。所以,信息熵被认为是一个系统有序程度的度量。
信息熵就是用来描述系统信息量的不确定度。信息熵越高,表示随机变量X是均匀分布,各种取值情况都是等概率出现的;随机变量X取值不是等概率出现,有的事件概率大,有的事件概率小。请看下面的图:右边的图,信息熵小但是表示的信息量很大。
机器学习---决策树
举个例子说明一下高信息熵和低信息熵中携带的信息量:
在赌马比赛中,有两组赛马共八匹,获胜的概率如下:
机器学习---决策树在比赛前对于第一组而言,他们获胜的概率都是四分之一,我们就无法从中获取什么押哪批马赢。而第二组,我们可以清楚的判断A马获胜的概率大。这个例子有力地说明:信息熵越低,所携带的信息就越多。

条件熵H(Y|X)

条件熵是说,在给定条件X的情况下,所有不同的X值情况下Y的信息熵的平均值叫做条件熵。
看下面的例子,我们计算H(X)和H(Y)的条件熵,计算结果分别如下。
机器学习---决策树
再计算**专业(X)**为数学的时候,Y的信息熵的值为:H(Y|X=数学)???
机器学习---决策树
条件熵:在给定条件X的情况下,所有不同的X值情况下Y的信息熵的平均值叫做条件熵。
机器学习---决策树
还用上边的这个例子直观的理解。

机器学习---决策树
机器学习---决策树
H(Y|X)=0.5
条件熵另一种表示
机器学习---决策树
条件熵本身的概念:事件(X,Y)发生所包含的熵,减去事件X单独发生的熵,即为在事件X发生的前提
下,Y发生“新”带来的熵。
上边的推倒公式如下:
机器学习---决策树
这里信息熵讲解完毕!下面请看什么是决策树?

决策树

举一个例子,直观的理解一下:
比如,现在有如下信息,ID为人,后边的这个人的基本信息,假如这个人去银行贷款,银行工作人与会根据这个人的基本信息,判断他是够有偿还能力,根据这些信息做出如下判断。
机器学习---决策树
机器学习---决策树
当构建好这样一个模型后,新来一个客户,可根据建好的模型直接判断,比如:新来一个客户,无房产,单身,年收入55K,那可以根据判断模型得出该用户无法偿还债务,不能借款给他。以上的判断模型,就类似于决策树。