精华内容
下载资源
问答
  • 信息增益

    2019-07-30 12:22:47
    在学习决策树划分数据集选择特征的时候,看到这样一句话“在划分数据集之前之后信息发生的变化称为信息增益,知道如何计算信息增益,我们就可以计算每个特征值划分数据集获得的信息增益,获得信息增益最高的特征就是...

    **

    关于信息熵、条件熵、信息、信息增益的理解

    **
    在学习决策树划分数据集选择特征的时候,看到这样一句话“在划分数据集之前之后信息发生的变化称为信息增益,知道如何计算信息增益,我们就可以计算每个特征值划分数据集获得的信息增益,获得信息增益最高的特征就是最好的选择。”,大致意思就是选择特征和信息增益有关。那么信息增益是个什么东东呢?这就要引出另一个东西,熵和信息。
    ****信息熵定义为信息的期望值。****信息又是什么呢,香农说,信息是用来消除随机不确定性的东西。这个很容易理解哈,比如一个人能从他的衣着中得出一些信息,我们遇到一个穿白大褂的那么我们认为他可能是医生,也有可能是在生物实验室工作人员或者其他等等。但是如果我们是在医院见到这个穿白大褂的人,那么我们几乎可以确定他就是医生。本来你是不知道这个人是什么职业的,但是你根据“医院”和“白大褂”这两个信息,缩减了职业范围,消除了不确定性的东西,知道他应该是个医生。这就是你依据信息做出的判断。
    那么如何度量信息的多少呢?人们常常说信息很多,或者信息较少,但却很难说清楚信息到底有多少。1948年,香农提出了“信息熵”的概念,才解决了对信息的量化度量问题。
    一条信息的信息量大小和它的不确定性有直接的关系。我们需要搞清楚一件非常非常不确定的事,或者是我们一无所知的事,就需要了解大量的信息。相反,如果我们对某件事已经有了较多的了解,我们就不需要太多的信息就能把它搞清楚。比如,太阳从东方升起和太阳从西方升起。我们对太阳从东方升起这件事很了解,我们没有获取到任何信息量,但是我们对太阳从西方升起几乎不了解,这件事的信息量是非常大的。它代表着可能太阳有异常活动、物理规则发生改变等等,所以,从这个角度,我们可以认为,信息量的度量就等于不确定性的多少。**而信息熵 – 表示随机变量的不确定性。**所以我们可以用信息熵对信息多少进行度量。
    先说一下信息计算方法,才能得到信息熵计算方法。
    某个类(xi)的信息定义如下:
    在这里插入图片描述
    X=xi类的信息是,以2为底xi发生的概率的对数的负。这里的类也好理解,比如一个物品你进行分类最后得出这是个苹果类,或者是个橘子类等。
    信息熵便是信息的期望值,可以记作:
    在这里插入图片描述
    条件熵又是什么呢? ,通俗来讲就是,知道X情况下,Y的信息量。条件熵表示在已知随机变量 X 的条件下,Y 的条件概率分布的熵对随机变量 X的数学期望。
    用符号表示就是如下:

    在这里插入图片描述
    比如天气冷暖和我穿衣服多少是有联系的。假设X表示我穿衣服多少(假设只有2种情况,穿多或者穿少),Y表示天气冷暖,那么H(Y|X)表示的是在确定路人穿衣情况下天气冷暖的情况的不确定性的数学期望。看到路上行人穿衣服多少,你就能大概的判断天气状态,比你不知道路人穿衣情况下去判断天气的不确定性要少,这一点是肯定的。并不用知道我到底是穿的多还是穿的少,因为不管我穿得多还是穿的少,你对天气的判断是一定会更加准确。也就是X的值并不用确定,因为每种值都会被取到。
    最后回溯到开始。信息增益就是:信息熵 - 条件熵
    信息熵是代表随机变量的复杂度(不确定度),条件熵代表在某一个条件下,随机变量的复杂度(不确定度),信息增益是:信息熵-条件熵。换句话说,信息增益代表了在一个条件下,信息复杂度(不确定性)减少的程度。
    通俗地讲,X(明天下雨)是一个随机变量,X的熵可以算出来, Y(明天阴天)也是随机变量,在阴天情况下下雨的信息熵我们如果也知道的话(此处需要知道其联合概率分布或是通过数据估计)即是条件熵。两者相减就是信息增益!原来明天下雨例如信息熵是2,条件熵是0.01(因为如果是阴天就下雨的概率很大,信息就少了),这样相减后为1.99,在获得阴天这个信息后,下雨信息不确定性减少了1.99!是很多的!所以信息增益大!也就是说,阴天这个信息对下雨来说是很重要的!所以在特征选择的时候常常用信息增益,如果IG(信息增益大)的话那么这个特征对于分类来说很关键~~ 决策树就是这样来找特征的。
    本节完

    展开全文
  • 信息熵、信息增益信息增益

    千次阅读 多人点赞 2019-05-10 11:16:41
    信息熵、信息增益信息增益率信息熵、信息增益信息增益率信息熵(Information Entropy)信息增益(Information Gain)信息增益率(Information Gain Ratio) 信息熵、信息增益信息增益率 信息熵(Information Entropy)...

    信息熵、信息增益与信息增益率

    信息熵(Information Entropy)

    信息熵是用来评估样本集合的纯度的一个参数,就是说,给出一个样本集合,这个样本集合中的样本可能属于好多不同的类别,也可能只属于一个类别,那么如果属于好多不同的类别的话,我们就说这个样本是不纯的,如果只属于一个类别,那么,我们就说这个样本是纯洁的。
      而信息熵这个东西就是来计算一个样本集合中的数据是纯洁的还是不纯洁的。下面上公式:
       Ent(D)=k=1ypklog2pkEnt(D)=-\sum_{k=1}^{\left|y\right|}p_{k}log_{2}p_{k}
      下面解释一下公式的意思,其实很好理解,计算一个集合的纯度,就是把集合中每一个类别所占的比例pkp_k(k从1到 y\left | y \right |,其中 y\left | y \right | 表示类别的个数)乘上它的对数,然后加到一起,然后经过计算之后,可以得到一个数据集的信息熵,然后根据信息熵,可以判断这个数据集是否纯粹。信息熵越小的话,表明这个数据集越纯粹。信息熵的最小值为0,此时数据集D中只含有一个类别。

    信息增益(Information Gain)

    下面来介绍信息增益,所谓的信息增益,是要针对于具体的属性来讲的,比如说,数据集D中含有两个类别,分别是好人和坏人,那么,随便选择一个属性吧,比如说性别,性别这个属性中包含两个值,男人和女人,如果用男人和女人来划分数据集D的话,会得到两个集合,分别是DmanD_{man}DwomanD_{woman}。划分后的两个集合中各自有 好人和坏人,所以可以分别计算划分后两个集合的纯度,计算之后,把这两个集合的信息熵求加权平均DmanDEnt(Dman)+DwomanDEnt(Dwoman)\frac{D_{man}}{D} Ent(D_{man})+\frac{D_{woman}}{D} Ent(D_{woman}),跟之前没有划分的时候的信息熵Ent(D)Ent(D)相比较,用后者减去前者,得到的就是属性-性别对样本集D划分所得到的信息增益。可以通俗理解为,信息增益就是纯度提升值,用属性对原数据集进行划分后,得到的信息熵的差就是纯度的提升值。信息增益的公式如下:

    Gain(D,a)=Ent(D)v=1VDvDEnt(Dv)Gain(D,a)=Ent(D)-\sum_{v=1}^{V}\frac{\left | D^{v} \right |}{\left | D \right |}Ent(D^{v})  
      先解释一下上式中的参数,D是数据集,a是选择的属性,a中一共有V个取值,用这个V取值去划分数据集D,分别得到数据集D1D_1DVD_V,分别求这V个数据集的信息熵,并将其求加权平均。两者的差得到的就是信息增益。
      那么这个信息增益有什么用呢?有用,可以根据信息增益值的大小来判断是否要用这个属性a去划分数据集D,如果得到的信息增益比较大,那么就说明这个属性是用来划分数据集D比较好的属性,否则则认为该属性不适合用来划分数据集D。这样有助于去构建决策树。
      著名的算法ID3就是采用信息增益来作为判断是否用该属性划分数据集的标准。

    信息增益率(Information Gain Ratio)

    为什么要提出信息增益率这种评判划分属性的方法?信息增益不是就很好吗?其实不然,用信息增益作为评判划分属性的方法其实是有一定的缺陷的,书上说,信息增益准则对那些属性的取值比较多的属性有所偏好,也就是说,采用信息增益作为判定方法,会倾向于去选择属性取值比较多的属性。那么,选择取值多的属性为什么就不好了呢?举个比较极端的例子,如果将身份证号作为一个属性,那么,其实每个人的身份证号都是不相同的,也就是说,有多少个人,就有多少种取值,它的取值很多吧,让我们继续看,如果用身份证号这个属性去划分原数据集D,那么,原数据集D中有多少个样本,就会被划分为多少个子集,每个子集只有一个人,这种极端情况下,因为一个人只可能属于一种类别,好人,或者坏人,那么此时每个子集的信息熵就是0了,就是说此时每个子集都特别纯。这样的话,会导致信息增益公式的第二项v=1VDvDEnt(Dv)\sum_{v=1}^{V}\frac{\left | D^{v} \right |}{\left | D \right |}Ent(D^{v})整体为0,这样导致的结果是,信息增益计算出来的特别大,然后决策树会用身份证号这个属性来划分原数据集D,其实这种划分毫无意义。因此,为了改变这种不良偏好带来的不利影响,提出了采用信息增益率作为评判划分属性的方法。
      公式如下:
       Gain_ratio(D,a)=Gain(D,a)IV(a)Gain\_ratio(D,a)=\frac{Gain(D,a)}{IV(a)}
      其中IV(a)IV(a)的计算方式如下:
       IV(a)=v=1VDvDlog2DvDIV(a)=-\sum_{v=1}^{V}\frac{\left | D^v \right |}{\left | D \right |}log_2\frac{\left | D^v \right |}{\left | D \right |}
      IV(a)IV(a)被称为是的“固有值”,这个IV(a)IV(a)的公式是不是很熟悉啊,简直和信息熵的计算公式一毛一样,就是看属性a的纯度,如果a只含有少量的取值的话,那么a的纯度就比较高,否则的话,a的取值越多,a的纯度越低,IV(a)IV(a)的值也就越大,因此,最后得到的信息增益率就越低。
      采用信息增益率可以解决ID3算法中存在的问题(ID3会对那些属性的取值比较多的属性有所偏好,如西瓜的颜色有10种),因此将采用信息增益率作为判定划分属性好坏的方法称为C4.5。
      需要注意的是,增益率准则对属性取值较少的时候会有偏好,为了解决这个问题,C4.5并不是直接选择增益率最大的属性作为划分属性,而是之前先通过一遍筛选,先把信息增益低于平均水平的属性剔除掉,之后从剩下的属性中选择信息增益率最高的,这样的话,相当于两方面都得到了兼顾。 (结合信息增益与信息增益率使用)

    作者:DawnChau
    来源:CSDN
    原文:https://blog.csdn.net/u012351768/article/details/73469813
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 信息增益信息增益

    千次阅读 2018-09-12 14:11:00
    信息增益偏向取值较多的特征。(极端情况,把序号当做特征) 信息增益率偏向取值较少的特征。   C4.5 找出信息增益高于平均水平的特征,然在在这些特征中再选择信息增益率最高的特征。...

    信息增益偏向取值较多的特征。(极端情况,把序号当做特征)

    信息增益率偏向取值较少的特征。

     

    C4.5 找出信息增益高于平均水平的特征,然在在这些特征中再选择信息增益率最高的特征。

    展开全文
  • 1、信息熵公式 2、信息增益公式

    1、信息熵公式

    2、信息增益公式

    3、信息增益比公式

    展开全文
  • python计算信息熵、信息增益信息增益

    千次阅读 多人点赞 2020-04-04 22:13:36
    在这里,我将用python代码计算信息熵、信息增益信息增益率。 以下代码基于python、numpy和pandas。 实现上述计算的代码一共11行。
  • 信息增益原理介绍 介绍信息增益之前,首先需要介绍一下熵的概念,这是一个物理学概念,表示“一个系统的混乱程度”。系统的不确定性越高,熵就越大。假设集合中的变量X={x1,x2…xn},它对应在集合的概率分别是P={p1,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,110
精华内容 2,044
关键字:

信息增益