【机器学习-决策树模块-信息论相关必备知识】

简介: 【机器学习-决策树模块-信息论相关必备知识】

决策树--信息论必备知识

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

在学习决策树的时候,最先遇到的一个与数学有关的的问题就是信息增益,在机器学习实战这本书中,构造ID3决策树的时候,使用信息论度量信息来组织杂乱无章的数据。

一、先来理解什么是信息增益:

信息增益:熵 - 条件熵

熵:表示随机变量的不确定性。

条件熵:在一个条件下,随机变量的不确定性。

信息增益的意义:在一个条件下,信息不确定性减少的程度!

通俗地讲,X(明天下雨)是一个随机变量,X的熵可以算出来, Y(明天阴天)也是随机变量,在阴天情况下下雨的信息熵我们如果也知道的话(此处需要知道其联合概率分布或是通过数据估计)即是条件熵。两者相减就是信息增益!原来明天下雨例如信息熵是2,条件熵是0.01(因为如果是阴天就下雨的概率很大,信息就少了),这样相减后为1.99,在获得阴天这个信息后,下雨信息不确定性减少了1.99!是很多的!所以信息增益大!也就是说,阴天这个信息对下雨来说是很重要的!所以在特征选择的时候常常用信息增益,如果IG(信息增益大)的话那么这个特征对于分类来说很关键~~决策树就是这样来找特征的!

作者:Kay Zhou

链接:https://www.zhihu.com/question/22104055/answer/67014456

来源:知乎

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


这个例子讲解的已经是十分通俗易懂了,接下来,什么是熵呢?



二、什么是熵:

 熵的概念首先在热力学中引入,信息熵的定义与上述这个热力学的熵,虽然不是一个东西,但是有一定的联系。

熵在信息论中代表随机变量不确定度的度量。一个离散型随机变量 的熵 定义为:

这个定义的特点是,有明确定义的科学名词且与内容无关,而且不随信息的具体表达式的变化而变化。是独立于形式,反映了信息表达式中统计方面的性质。是统计学上的抽象概念。所以这个定义如题主提到的可能有点抽象和晦涩,不易理解。那么下面让我们从直觉出发,以生活中的一些例子来阐述信息熵是什么,以及有什么用处。

直觉上,信息量等于传输该信息所用的代价,这个也是通信中考虑最多的问题。比如说:赌马比赛里,有4匹马,获胜概率分别为. 接下来,让我们将哪一匹马获胜视为一个随机变量. 假定我们需要用尽可能少的二元问题来确定随机变量的取值。

例如:问题1:A获胜了吗?问题2:B获胜了吗?问题3:C获胜了吗?最后我们可以通过最多3个二元问题,来确定X取值,即哪一匹马赢了比赛。

 如果X=A那么需要问1次(问题1:是不是A?),概率为1/2 ;

 如果X=B,那么需要问2次(问题1:是不是A?问题2:是不是B?),概率为1/4 ;

 如果X=C,那么需要问3次(问题1,问题2,问题3),概率为1/8 ;

 如果X=D,那么同样需要问3次(问题1,问题2,问题3),概率为1/8 ;

那么很容易计算,在这种问法下,为确定取值的二元问题数量为:

那么我们回到信息熵的定义,会发现通过之前的信息熵公式,神奇地得到了:

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

关于熵就介绍到这里,如果还想要深入学习的话就看看知乎上的讲解吧,做决策树(ID3)的话只我们通过上面的这个例子了解认识到公式、香农熵: 就够了。 此处的负号仅仅是用来保证熵(即信息量)是正数或者为零。而函数基的选择是任意的信息论中基常常选择为2,因此信息的单位为比特bits;而机器学习中基常常选择为自然常数,因此单位常常被称为nats)。得到熵之后我们就可以按照获取最大信息增益的方法划分数据集了。

作者:韩迪

链接:https://www.zhihu.com/question/22178202/answer/223017546

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

三、信息增益率:

 熵最初是一个物理学概念,后来在数学中用来描述“一个系统的混乱程度”,因此一个系统的信息熵越高就越无序,信息熵越低就越有序,信息熵越高,使其有序所要消耗的信息量就越大。我们的目的就是将系统变得有序并找出确定的信息。

信息增益(Info-Gain)就是指划分前后信息熵的变化:

若某一列数据没有重复,ID3算法倾向于把每个数据自成一类,此时

对于这个为什么概率是1,可以这样理解,这里的概率P(x)=P(S|A),而当feature A的值没有重复的时候,每个值A,都对应于唯一的一条数据,那么S的值也就必然是一定的了。这样E(A)为最小,IGain(S,A)最大,程序会倾向于选择这种划分,这样划分效果极差。

为了解决这个问题,引入了信息增益率(Gain-ratio)的概念,计算方式如下:

这里Info为划分行为带来的信息,信息增益率如下计算:

这样就减轻了划分行为本身的影响。


(后续还需要什么知识,遇到了再补起来。)


文章知识点与官方知识档案匹配,可进一步学习相关知识

算法技能树首页概览36043 人正在系统学习中


AIEarth是一个由众多领域内专家博主共同打造的学术平台,旨在建设一个拥抱智慧未来的学术殿堂!【平台地址:https://devpress.csdn.net/aiearth】 很高兴认识你!加入我们共同进步!

目录
相关文章
|
4月前
|
机器学习/深度学习 存储 算法
决策树和随机森林在机器学习中的应用
在机器学习领域,决策树(Decision Tree)和随机森林(Random Forest)是两种非常流行且强大的分类和回归算法。它们通过模拟人类决策过程,将复杂的数据集分割成易于理解和处理的子集,从而实现对新数据的准确预测。
144 10
|
19天前
|
机器学习/深度学习 数据可视化 大数据
机器学习与大数据分析的结合:智能决策的新引擎
机器学习与大数据分析的结合:智能决策的新引擎
107 15
|
2月前
|
机器学习/深度学习 数据采集 算法
机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用
医疗诊断是医学的核心,其准确性和效率至关重要。本文探讨了机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用。文章还讨论了Python在构建机器学习模型中的作用,面临的挑战及应对策略,并展望了未来的发展趋势。
165 1
|
3月前
|
机器学习/深度学习 自然语言处理 JavaScript
信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
在信息论、机器学习和统计学领域中,KL散度(Kullback-Leibler散度)是量化概率分布差异的关键概念。本文深入探讨了KL散度及其相关概念,包括Jensen-Shannon散度和Renyi散度。KL散度用于衡量两个概率分布之间的差异,而Jensen-Shannon散度则提供了一种对称的度量方式。Renyi散度通过可调参数α,提供了更灵活的散度度量。这些概念不仅在理论研究中至关重要,在实际应用中也广泛用于数据压缩、变分自编码器、强化学习等领域。通过分析电子商务中的数据漂移实例,展示了这些散度指标在捕捉数据分布变化方面的独特优势,为企业提供了数据驱动的决策支持。
193 2
信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
|
4月前
|
机器学习/深度学习 数据采集 监控
探索机器学习:从数据到决策
【9月更文挑战第18天】在这篇文章中,我们将一起踏上一段激动人心的旅程,穿越机器学习的世界。我们将探讨如何通过收集和处理数据,利用算法的力量来预测未来的趋势,并做出更加明智的决策。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和思考方式。
|
4月前
|
机器学习/深度学习 算法 Python
从菜鸟到大师:一棵决策树如何引领你的Python机器学习之旅
【9月更文挑战第9天】在数据科学领域,机器学习如同璀璨明珠,吸引无数探索者。尤其对于新手而言,纷繁复杂的算法常让人感到迷茫。本文将以决策树为切入点,带您从Python机器学习的新手逐步成长为高手。决策树以其直观易懂的特点成为入门利器。通过构建决策树分类器并应用到鸢尾花数据集上,我们展示了其基本用法及效果。掌握决策树后,还需深入理解其工作原理,调整参数,并探索集成学习方法,最终将所学应用于实际问题解决中,不断提升技能。愿这棵智慧之树助您成为独当一面的大师。
55 3
|
4月前
|
机器学习/深度学习 算法 Python
决策树下的智慧果实:Python机器学习实战,轻松摘取数据洞察的果实
【9月更文挑战第7天】当我们身处数据海洋,如何提炼出有价值的洞察?决策树作为一种直观且强大的机器学习算法,宛如智慧之树,引领我们在繁复的数据中找到答案。通过Python的scikit-learn库,我们可以轻松实现决策树模型,对数据进行分类或回归分析。本教程将带领大家从零开始,通过实际案例掌握决策树的原理与应用,探索数据中的秘密。
59 1
|
5月前
|
机器学习/深度学习 算法 数据挖掘
【白话机器学习】算法理论+实战之决策树
【白话机器学习】算法理论+实战之决策树
100 0
|
2月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
146 4
|
6天前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
80 13
机器学习算法的优化与改进:提升模型性能的策略与方法
下一篇
开通oss服务