信息熵与信息增益(IE, Information Entropy; IG, Information Gain)

信息增益是机器学习中特征选择的关键指标,而学习信息增益前,需要先了解信息熵和条件熵这两个重要概念。

信息熵(信息量)

信息熵的意思就是一个变量i(就是这里的类别)可能的变化越多(只和值的种类多少以及发生概率有关,反而跟变量具体的取值没有任何关系),它携带的信息量就越大(因为是相加累计),这里就是类别变量i的信息熵越大。

系统越是有序,信息熵就越低;反之,一个系统越乱,信息熵就越高。所以,信息熵也可以说是系统有序化程度的一个衡量。

二分类问题中,当X的概率P(X)为0.5时,也就是表示变量的不确定性最大,此时的熵也达到最大值1。

条件熵

条件熵的直观理解:单独计算明天下雨的信息熵H(Y)是2,而条件熵H(Y|X)是0.01(即今天阴天这个条件下,明天下雨的概率很大,确定性很大,信息量就很少),这样相减后为1.99,在获得阴天这个信息后,下雨信息不确定性减少了1.99!是很多的!所以信息增益大!所以是否阴天这个特征信息X对明天下雨这个随机变量Y的来说是很重要的!

因为条件熵中X也是一个变量,意思是在一个变量X的条件下(变量X的每个值都会取),另一个变量Y熵对X的期望,这里的期望就是指所有情况各自概率的∑总和。

在文本分类中,特征词t的取值只有t(代表t出现)和(代表t不出现)。那么系统熵等于两种条件熵按比例求和:

示例说明条件熵

设样品房数据集样本12份,变量Y为房屋价格,根据价格计算该数据集的香农熵(即信息熵),其中价格高的4个占1/3,价格中等的6个占1/2,价格低的2个占1/6,其香农熵为:

如图,在房屋的面积X这个条件下计算价格Y的条件熵,根据面积X,面积大的4个(价格3高1中)设为a,面积中的3个(价格3中)设为b,面积小的5个(价格1高2中2低)设为c,先分别计算a,b,c条件下的信息熵为:

再计算a,b,c信息熵的按比例求和,便得到在条件X条件下,Y的条件熵为:

信息增益

评价一个系统的特征t对系统的影响程度就要用到条件熵,即是特征t存在和不存在的条件下,系统的类别变量i的信息熵。特征t条件下的信息熵与原始信息熵的差值就是这个特征给系统带来的信息增益。

信息增益最大的问题还在于它只能考察特征对整个系统的贡献,而不能具体到某个类别上,这就使得它只适合用来做所谓“全局”的特征选择(指所有的类都使用相同的特征集合),而无法做“本地”的特征选择(每个类别有自己的特征集合,因为有的词,对这个类别很有区分度,对另一个类别则无足轻重)。

附:特征提取步骤

1. 卡方检验

1.1  统计样本集中文档总数(N)。

1.2  统计每个词的正文档出现频率(A)、负文档出现频率(B)、正文档不出现频率(C)、负文档不出现频率(D)。

1.3 计算每个词的卡方值,公式如下:

1.4  将每个词按卡方值从大到小排序,选取前k个词作为特征,k即特征维数。

2. 信息增益

2.1  统计正负分类的文档数:N1、N2。

2.2  统计每个词的正文档出现频率(A)、负文档出现频率(B)、正文档不出现频率)、负文档不出现频率。

2.3  计算信息熵

2.4  计算每个词的信息增益

2.5  将每个词按信息增益值从大到小排序,选取前k个词作为特征,k即特征维数。

通俗易懂的信息熵与信息增益(IE, Information Entropy; IG, Information Gain)的更多相关文章

  1. ZOJ 3827 Information Entropy 水题

    Information Entropy Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.zju.edu.cn/onlinejudge/sh ...

  2. 2014 牡丹江现场赛 i题 (zoj 3827 Information Entropy)

    I - Information Entropy Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %l ...

  3. ZOJ3827 ACM-ICPC 2014 亚洲区域赛的比赛现场牡丹江I称号 Information Entropy 水的问题

    Information Entropy Time Limit: 2 Seconds      Memory Limit: 131072 KB      Special Judge Informatio ...

  4. ZOJ 3827 Information Entropy 水

    水 Information Entropy Time Limit: 2 Seconds      Memory Limit: 65536 KB      Special Judge Informati ...

  5. ZOJ 3827 Information Entropy (2014牡丹江区域赛)

    题目链接:ZOJ 3827 Information Entropy 依据题目的公式算吧,那个极限是0 AC代码: #include <stdio.h> #include <strin ...

  6. zoj 3827 Information Entropy 【水题】

    Information Entropy Time Limit: 2 Seconds      Memory Limit: 65536 KB      Special Judge Information ...

  7. information entropy as a measure of the uncertainty in a message while essentially inventing the field of information theory

    https://en.wikipedia.org/wiki/Claude_Shannon In 1948, the promised memorandum appeared as "A Ma ...

  8. 2014ACM/ICPC亚洲区域赛牡丹江站现场赛-I ( ZOJ 3827 ) Information Entropy

    Information Entropy Time Limit: 2 Seconds      Memory Limit: 65536 KB      Special Judge Information ...

  9. ZOJ 3827 Information Entropy(数学题 牡丹江现场赛)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do? problemId=5381 Information Theory is one of t ...

随机推荐

  1. Linux 两台服务器之间传输文件和文件夹

    今天处理一个项目要迁移的问题,突然发现这么多图片怎么移过去,可能第一时间想到的是先从这台服务器下载下来,然后再上传到另外一台服务器上面去,这个方法确实是可行,但是实在是太费时间了,今天我就教大家怎么快 ...

  2. 用maven搭建java ee项目

    一.开发环境 jdk1.7  tomcat7 eclipse-jee-luna-R-win32 maven2.2.1 二搭建步骤 1.点击File->New->Other,选择maven ...

  3. Java内存管理(一)

    好久没有写博客了,深感羞愧,今天聊一下Java的内存管理 简单介绍 Java相比传统语言(C,C++)的一个优势在于其能够自己主动管理内存.从而将开发人员管理内存任务剥离开来. 本文大体描写叙述了J2 ...

  4. UVA 1426 - Discrete Square Roots(数论)

    UVA 1426 - Discrete Square Roots 题目链接 题意:给定X, N. R.要求r2≡x (mod n) (1 <= r < n)的全部解.R为一个已知解 思路: ...

  5. Oracle ROWID具体解释

    1.ROWID定义 ROWID:数据库中行的全局唯一地址 对于数据中的每一行,rowid伪列返回行的地址.rowid值主要包括下面信息: 对象的数据对象编号 该行所在的数据文件里的数据块 该行中数据块 ...

  6. HDU 3569 Imaginary Date 简单期望

    推一下公式.就会发现是这个.. 由于设结果有x种方案.则每一个数字出现的概率都均等,然后和就是x*m 每种方案的概率是1/x 每一个数出现的概率都是1/n 所以每一个方案的和就是 sum/n *m # ...

  7. 一 、Spring Boot 学习之项目搭建

    一.简介 spring 官方网站本身使用Spring 框架开发,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置文件以及复杂的Bean依赖关系. 随着Spring 3.0的发布,Spring ...

  8. 《设计模式:可复用面向对象软件的基础》【PDF】下载

    <设计模式:可复用面向对象软件的基础>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382288 内容介绍 <设计模式:可复 ...

  9. ASP.NET Core 一步步搭建个人网站(3)_菜单管理

    上一章,我们实现了用户的注册和登录,登录之后展示的是我们的主页,页面的左侧是多级的导航菜单,定位并展示用户需要访问的不同页面.目前导航菜单是写死的,考虑以后菜单管理的便捷性,我们这节实现下可视化配置菜 ...

  10. sqlserver 存储过程 游标实例

    if exists(select * from sysobjects where id = object_id(N'dbo.test_cursor') and type = 'P') drop PRO ...