0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Amro通过一个简单的二元分类决策树解释信息熵和信息增益这两个概念

zhKF_jqr_AI 来源:未知 作者:李倩 2018-04-17 16:30 次阅读

StackOverflow人气答主(top 0.12%)Amro通过一个简单的二元分类决策树例子,简明扼要地解释了信息熵和信息增益这两个概念。

为了解释熵这个概念,让我们想象一个分类男女名字的监督学习任务。给定一个名字列表,每个名字标记为m(男)或f(女),我们想要学习一个拟合数据的模型,该模型可以用来预测未见的新名字的性别。

现在我们想要预测“Amro”的性别(Amro是我的名字)。

第一步,我们需要判定哪些数据特征和我们想要预测的目标分类相关。一些特征的例子包括:首/末字母、长度、元音数量、是否以元音结尾,等等。所以,提取特征之后,我们的数据是这样的:

我们可以构建一棵决策树,一棵树的例子:

长度<7

| 元音数量<3: 男

| 元音数量>=3

| | 元音结尾=1: 女

| | 元音结尾=0: 男

长度>=7

| 长度=5: 男

基本上,每个节点代表在单一属性上进行的测试,我们根据测试的结果决定向左还是向右。我们持续沿着树走,直到我们到达包含分类预测的叶节点(m或f)。

因此,如果我们运行这棵决策树判定Amro,我们首次测试“长度<7?”答案为是,因此我们沿着分支往下,下一个测试是“元音数量<3?”答案同样为真。这将我们导向标签为m的叶节点,因此预测是男性(我碰巧是男性,因此这棵决策树的预测正确)。

决策树以自顶向下的方式创建,但问题在于如何选择分割每个节点的属性?答案是找到能将目标分类分割为尽可能纯粹的子节点的特征(即:只包含单一分类的纯粹节点优于同时包含男名和女名的混合节点)。

这一纯粹性的量度称为信息。它表示,给定到达节点的样本,指定一个新实例(名字)应该被分类为男性或女性的期望的信息量。我们根据节点处的男名分类和女名分类的数量计算它。

另一方面,熵是不纯粹性的量度(与信息相反)。对二元分类而言,熵的定义为:

Entropy = - p(a)*log(p(a)) - p(b)*log(p(b))

这一二元熵函数的图像如下图所示。当概率为p=1/2时,该函数达到其最大值,这意味着p(X=a)=0.5或类似的p(X=b)=0.5,即50%对50%的概率为a或b(不确定性最大)。当概率为p=1或p=0时(完全确定),熵函数达到其最小值零(p(X=a)=1或p(X=a)=0,后者意味着p(X=b)=1)。

当然,熵的定义可以推广到有N个离散值(超过2)的随机变量X:

(公式中的log通常为以2为底的对数)

回到我们的名字分类任务中,让我们看一个例子。想象一下,在构建决策树的过程中的某一点,我们考虑如下分割:

以元音结尾

[9m,5f]

/ \

=1 =0

------- -------

[3m,4f] [6m,1f]

如你所见,在分割前,我们有9个男名、5个女名,即P(m)=9/14,P(f)=5/14。根据熵的定义,分割前的熵为:

Entropy_before = - (5/14)*log2(5/14) - (9/14)*log2(9/14) = 0.9403

接下来我们将其与分割后的熵比较。在以元音结尾为真=1的左分支中,我们有:

Entropy_left = - (3/7)*log2(3/7) - (4/7)*log2(4/7) = 0.9852

而在以元音结尾为假=0的右分支中,我们有:

Entropy_right = - (6/7)*log2(6/7) - (1/7)*log2(1/7) = 0.5917

我们以每个分支上的实例数量作为权重因子(7个实例向左,7个实例向右),得出分割后的最终权重:

Entropy_after = 7/14*Entropy_left + 7/14*Entropy_right = 0.7885

现在比较分割前后的权重,我们得到信息增益的这一量度,也就是说,基于特定特征进行分割后,我们获得了多少信息:

Information_Gain = Entropy_before - Entropy_after = 0.1518

你可以如此解释以上运算:通过以“元音结尾”特征进行分割,我们得以降低子树预测输出的不确定性,降幅为一个较小的数值0.1518(单位为比特,比特为信息单位)。

在树的每一个节点,为每个特征进行这一运算,以贪婪的方式选择可以取得最大信息增益的特征进行分割(从而偏好产生较低不确定性/熵的纯分割)。从根节点向下递归应用此过程,停止于包含的节点均属同一分类的叶节点(不用再进一步分割了)。

注意,我省略了超出本文范围的一些细节,包含如何处理数值特征、缺失特征、过拟合、剪枝树,等等。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 决策树
    +关注

    关注

    2

    文章

    96

    浏览量

    13537
  • 信息熵
    +关注

    关注

    0

    文章

    13

    浏览量

    7096

原文标题:信息论视角下的决策树算法:信息熵和信息增益

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    关于决策树,这些知识点不可错过

    种算法。它既是分类算法,也是回归算法,还可以用在随机森林中。咱们学计算机的同学经常敲if 、else if、else其实就已经在用到决策树的思想了。决策树
    发表于 05-23 09:38

    数据挖掘十大经典算法,你都知道哪些!

    ,ID3使用的是(shang),种不纯度度量准则,也就是的变化值,而C4.5用的是信息增益率。区别就在于
    发表于 11-06 17:02

    决策树的生成资料

    在本文中,我们将讨论种监督式学习算法。最新代意法半导体 MEMS 传感器内置基于决策树分类
    发表于 09-08 06:50

    基于粗集的决策树规则提取算法

    基于粗集的决策树规则提取算法:摘要:决策树是数据挖掘任务中分类的常用方法。在构造决策树的过程
    发表于 10-10 15:13 12次下载

    改进决策树算法的应用研究

    该方法利用决策树算法构造决策树,通过分类结果中主客观属性进行标记并逻辑运算,最终得到较客观的决策信息
    发表于 02-07 11:38 27次下载
    改进<b class='flag-5'>决策树</b>算法的应用研究

    机器学习之决策树生成详解

    根据给定的数据集创建决策树就是机器学习的课程,创建决策树可能会花费较多的时间,但是使用
    发表于 08-27 14:38 1.9w次阅读
    机器学习之<b class='flag-5'>决策树</b>生成详解

    决策树C4.5算法属性取值优化研究

    决策树算法是种最简单、最直接、最有效的文本分类算法。最早的决策树算法是ID3算法,于1986年由Quinlan提出,该算法是
    发表于 12-12 11:20 0次下载

    决策树的原理和决策树构建的准备工作,机器学习决策树的原理

    希望通过所给的训练数据学习贷款申请的决策树,用于对未来的贷款申请进行分类,即当新的客户提出贷款申请时,根据申请人的特征利用
    的头像 发表于 10-08 14:26 5969次阅读

    什么是决策树?决策树算法思考总结

    C4.5算法:基于ID3算法的改进,主要包括:使用信息增益率替换了信息增益下降度作为属性选择的标准;在决策树构造的同时进行剪枝操作;避免了
    的头像 发表于 02-04 09:45 1.1w次阅读
    什么是<b class='flag-5'>决策树</b>?<b class='flag-5'>决策树</b>算法思考总结

    如何使用最优决策树分类模型进行奶牛运动行为的识别

    、陡峭程度、变异程度、不确定性及夹角的 24 统计特征量,其次通过构建 ROC(receiver operating characteristic,ROC)曲线获得各统计特征量的最佳行为类别分组方式及最优阈值,然后利用信息
    发表于 04-24 08:00 0次下载
    如何使用最优<b class='flag-5'>二</b>叉<b class='flag-5'>决策树</b><b class='flag-5'>分类</b>模型进行奶牛运动行为的识别

    决策树的构成要素及算法

    决策树种解决分类问题的算法,决策树算法采用树形结构,使用层层推理来实现最终的分类
    发表于 08-27 09:52 4258次阅读

    决策树的基本概念/学习步骤/算法/优缺点

    本文将介绍决策树的基本概念决策树学习的3步骤、3种典型的决策树算法、决策树的10
    发表于 01-27 10:03 2513次阅读
    <b class='flag-5'>决策树</b>的基本<b class='flag-5'>概念</b>/学习步骤/算法/优缺点

    什么是决策树模型,决策树模型的绘制方法

    决策树种解决分类问题的算法,本文将介绍什么是决策树模型,常见的用途,以及如何使用“亿图图示”软件绘制决策树模型。
    发表于 02-18 10:12 1.3w次阅读
    什么是<b class='flag-5'>决策树</b>模型,<b class='flag-5'>决策树</b>模型的绘制方法

    基于非均衡数据分类的犹豫模糊决策树

    2种不同的隶属度函数对数据集进行模糊化处理。在此基础上,根据隶属度函数和犹豫模糊集的信息能量求得各属性的犹豫模糊信息增益,选取最大值替代Fuκzy⑩3算法中的模糊信息
    发表于 06-09 15:51 5次下载

    大数据—决策树

    认为是if-then的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。 决策树通常有三步骤:特征选择、决策树的生成、决策树的修剪。 用
    的头像 发表于 10-20 10:01 1164次阅读