机器学习算法--决策树(1)

决策树是机器学习算法中比较简单一种,原理相对其他算法更容易理解,应用范围也很广泛。

一、决策树的一些基本概念

  • 信息熵

说到信息呢,就不能绕过一个人,香农,他是信息论的创始人,熵这个概念也是由香农引到信息论中来的。熵的概念我们可以回顾一下高中学的热力学中的知识,熵(entropy)指的是体系的混乱的程度。信息熵表示信息源的不确定度。怎么理解呢,就好比说外面下雨了,你跟别人说外面下雨了,那这件事就是确定的,概率是100%,那这个信息熵就是0,因为没有携带信息量。那如果外面晴天,一会可能下雨,这个事是不确定的,那他就有信息量。信息熵大小的衡量肯定是要有数学公式来计算了,也很简单的一个公式。

 

这个公式的解释是,H--信息熵,p(i)--系统中某一个事件发生的概率。

  • 信息增益

字面上理解,信息增益就是信息熵的增益,一个事情从不确定变成确定的过程,就是信息增益,也就是熵减少的量的大小,就是信息增益的大小。也就是两个信息熵的差。

树是数据结构的一个基本概念。它是由n(n>=1)个有限结点组成一个具有层次关系的集合。由根节点向下延伸子节点,没有子节点的节点就是叶子节点。这个大学都学过我也就不多说了。

二、决策树

有了以上三个概念,从这三个概念出发,我们引出决策树。决策树是从训练数据的特征中选择一个特征作为当前节点的分裂标准(特征选择的标准不同产生了不同的特征决策树算法)。比较经典的几种决策树,ID3,C4.5等。ID3是通过上面提到的信息增益作为当前节点的分类标准。

用周志华老师的机器学习书中的西瓜的分类做个例子:

我简化了一下,选了几个样本。既然要分类,首先要计算当前整个样本空间的信息熵。参照上面的公式,当前系统有两种结果,好瓜和坏瓜,共4个样本,各占1/2。当前系统信息熵:H1 = -(1/2 * log2(1/2))+ (-(1/2*log2(1/2)))= 0.5,决策树根节点的信息熵为0.5。接下来要从色泽,纹理,敲声,根蒂四个特征中选择一个作为根节点的分裂标准。需要依次计算通过各个特征分裂之后的信息熵,然后与根节点的信息熵做差,计算信息增益,信息增益最大的那个特征作为当前节点的分裂标准。

色泽:色泽有三种,青绿,乌黑,浅白。如果通过色泽进行分裂,那接下来就会产生三个子集,{1,4}, {2}, {3},这三个子集的信息熵计算出来:

D1 = -(1/2 * log2(1/2))+ (-(1/2*log2(1/2))) = 0.5

D2 = - (1 * log2(1)) = 0

D3 = - (1 * log2(1)) = 0

D(色泽) = 2/4 * 0.5 + 1/4 * 0 + 1/4 * 0 = 0.25

根据色泽分裂后的系统信息增益就是0.25

同上再计算纹理,敲声,根蒂分裂后的信息增益。通过信息增益最大的那个特征进行根节点的分裂。分裂后用与上述同样的方式计算下一层各节点的分裂标准,直到当前节点的样本全为同一类别。这是一个递归的过程。这样生成决策树使用的方法就是ID3方法。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值