决策树--ID3算法

本章来了解一下机器学习中常见的一种方法–决策树
目录


首先,我们来了解一下什么是决策树

决策树

决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。
图示决策树的结构
在这里插入图片描述
理解
1 每个非叶节点表示一个特征属性测试
2 每个分支代表这个特征属性在某个值域上的输出
3 每个叶子节点存放一个类别
4 每个节点包含的样本集合通过属性测试被划分到子节点中,根节点包含样本全集

目标:
属性测试的目标是让各个划分出来的子节点尽可能地‘’纯‘,即属于同一类别
因此我们的目标就是量化纯度的具体方法 – 常用三种算法(ID3,C4.5,CART)

接下来我们来了解一下这三种算法

ID3

ID3算法使用信息增益为准则来选择划分属性
这里,我们采用了 来(度量事物的不确定性),1948年,美国信息学家香农(Shannon)定义了信息熵:
I(U) = log(1/p) = -log(p)
I被称为不确定性函数,代表事件的信息量。log表示取对数。假定对于一个信源,其发生各种事件是相互独立的,并且其值具有可加性。因此使用log函数。可见,发生的概率越大,其不确定性越低。考虑到信源的所有可能发生的事件,假设其概率为p1,p2,…,pi,则可以计算其平均值(数学期望),该值被称为信息熵或者经验熵。涵义即为:一个信源的平均不确定性,或者一个信源的不确定性期望。样本集D中第i类样本所占的比例Pi,则D的信息熵用公式表示为:
在这里插入图片描述
由于越不确定的事物,信息熵越大,所以,我们要尽可能缩小信息熵

条件熵

在X发生的情况下,Y的熵称为条件熵H(Y|X)。显然地,有公式:
在这里插入图片描述
上述公式表示:(X,Y)发生所包含的熵(它是个并集),减去X的熵,即为Y发生“新”增的熵。
  信息增益:表示得知特征A的信息而使得D集合的信息不确定性减少的程度。它为集合D的经验熵减去特征A的条件熵。公式表示为:
  在这里插入图片描述
联合上面这两个式子
在这里插入图片描述
它显示是典型的计算两个集合的交集公式,这可以表示D和A之间的互信息。这行公式的理解至关重要。

决策树优先从信息增益大的特征列开始划分数据集。这样要更“靠谱”,因为信息增益(互信息)最大,对集合D(实际上也就是决策标签)影响力更大。

ID3算法缺点

当然,ID3有它的缺点
1 ID3没有考虑连续特征,比如长度,密度都是连续值,无法在ID3运用,这大大限制了ID3的用途
2 ID3算法对于缺失值的情况没有作考虑
3 没有考虑过拟合的问题
4 倾向特征值多的特征 : 因为ID3采用的是信息增益大的特征优先建立决策树的节点
可以举例理解一下,相同条件下,一个特征有两个值,每个值的概率都为1/2,另一个特征有三个特征值,概率各位1/2,其实他们都是不确定的变量,但是取三个值的比取两个值的信息增益大。

决策树损失函数:

在这里插入图片描述
其中|T|代表叶节点个数,N_{t}表示具体某个叶节点的样例数,H_{t}(T)表示叶节点经验熵表示叶节点经验熵

我们知道正则化的损失函数中前一项代表经验误差,而在概率模型中(决策树模型是一种概率模型),经验误差函数的获得往往通过将极大似然函数取反,即将求极大化为求极小而获得。因此,在概率模型中,极大似然函数与经验误差函数可以认为是相同的概念,那么必然就可以通过经验误差函数来推导出极大似然函数,以此来加深对决策树损失函数的理解。
表面上来看:将每个叶节点的实例个数与其经验熵的乘积相加,这究竟代表个什么玩意呢?现在,我将利用该损失函数反向推导出极大似然函数,当我们看到极大似然函数时,便可以将损失函数看的透彻。
在这里插入图片描述
其中N_{tk}表示叶节点N_{t}中类别为k的样本数。K表示样例类别总数。
至此,损失函数被化简为这样,可以看到它与我们所要求的极大似然函数仅一步之遥:将求极小转为求极大,即去掉上式的负号,我们得到对数极大似然函数:
在这里插入图片描述
其对应的极大似然函数是:
在这里插入图片描述
至此,决策树模型的极大似然函数推导完毕。
理解
先对各叶节点之间进行极大似然估计,再对各叶节点内部进行极大似然估计,由此得到决策树模型中的极大似然函数。

关于决策树中的其他两种算法,既是在ID3上进行改进,我们下篇文章来讨论

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值