信息熵 条件熵 信息增益 信息增益比 GINI系数

信息熵 条件熵 信息增益 信息增益比 GINI系数在信息论与概率统计学中 熵 entropy 是一个很重要的概念 在机器学习与特征工程中 熵的概念也用得灰常多 今天就把跟熵有关的东东稍微整理一下 权当笔记 1 信息熵熵是神马东东 信息论的开山祖师爷 Shannon 中文翻译过来一般叫香农 总觉得很多文字经过翻译就不对劲 就跟人家老外翻译贱人就是矫情一样 感觉怪怪的 所以咱们还是用英文了 偷偷装个小逼 明确告诉我们 信息的不确定性可以用熵来表示 对

在信息论与概率统计学中,熵(entropy)是一个很重要的概念。在机器学习与特征工程中,熵的概念也用得灰常多。今天就把跟熵有关的东东稍微整理一下,权当笔记。

1.信息熵

每次看到这个式子,都会从心底里感叹数学的伟大与奇妙。在这之前,信息这东东对于人们来说,是个看着好像挺清晰实际还是很模糊的概念。Shannon用最简洁美妙的方式,告诉了整个世界信息到底应该怎么去衡量去计算。今天每个互联网人都知道,这个衡量的标准就是bit。正是由于bit的出现,才引领了我们今天信息时代的到来。所以即使把Shannon跟世界上最伟大的那些科学家相提并论,我觉得也丝毫不为过。

举个例子,如果一个分类系统中,类别的标识是 c c c,取值情况是 c 1 , c 2 , ⋯   , c n c_1,c_2,\cdots,c_n c1,c2,,cn,n为类别的总数。那么此分类系统的熵为:
H ( c ) = − ∑ i = 1 n p ( c i ) ⋅ log ⁡ 2 p ( c i ) H(c)=-\sum_{i=1}^n p(c_i) \cdot \log_2 p(c_i) H(c)=i=1np(ci)log2p(ci)
更特别一点,如果是个二分类系统,那么此系统的熵为:
H ( c ) = p ( c 0 ) log ⁡ 2 p ( c 0 ) + p ( c 1 ) log ⁡ 2 p ( c 1 ) H(c) = p(c_0) \log _2p(c_0) + p(c_1) \log_2 p(c_1) H(c)=p(c0)log2p(c0)+p(c1)log2p(c1)
其中 p ( c 0 ) p(c_0) p(c0) p ( c 1 ) p(c_1) p(c1)分别为正负样本出现的概率。



2.条件熵(Conditional Entropy)与信息增益(Information Gain)

第一节我们谈到,信息的不确定性我们用熵来进行描述。很多时候,我们渴望不确定性,渴望明天又是新的一天,希望寻找新的刺激与冒险,所谓的七年之庠就是最好的例子。但是又有很多时候,我们也讨厌不确定性,比如现在的RTB广告,很多时候广告主其实希望不管什么情况下,这个广告位都是归我所有来投广告,别人都别跟我来抢,我把广告素材准备好以后,媒体按排期给我播就行了。所以在这种情况下,我们又要竭力去消除系统的不确定性。

因为我们加了一个特征x:结果为偶数,所以整个系统的熵减小,不确定性降低。

其中,n为特征 X X X所出现所有种类的数量。

举个别人文章中例子:文本分类系统中的特征X,那么X有几个可能的值呢?注意X是一个固定的特征,比如关键词”经济”,当我们说特征”经济”可能的取值时,实际上只有两个,要么出现,要么不出现。假设 x x x代表 x x x出现,而 x ˉ \bar x xˉ表示 x x x不出现。注意系统包含 x x x x x x不出现与系统根本不包含 x x x可是两回事。
因此固定 X X X时系统的条件熵为:
\begin{align}
H(C|X) &= -p(x)H(c|x) – p(\bar x) H(C| \bar x) \
\end{align}



特征 X X X给系统带来的信息增益(IG)为:
\begin{align}
IG(X) &= H© – H(c|X) \
& =-\sum_{i=1}^n p(c_i) \log_2 p(c_i) + p(x) \sum_{i=1}^n p(c_i|x) \log_2 p(c_i|x) + p(\bar x)\sum_{i=1}^n p(c_i| \bar x) \log_2 p(c_i| \bar x)
\end{align}



式子看上去很长,其实计算起来很简单,都是一些count的操作。 − ∑ i = 1 n p ( c i ) log ⁡ 2 p ( c i ) -\sum_{i=1}^n p(c_i) \log_2 p(c_i) i=1np(ci)log2p(ci)这一项不用多说,就是统计各个类别的概率,将每个类别的样本数量除以总样本量即可。$ p(x) \sum_{i=1}^n p(c_i|x) \log_2 p(c_i|x) 这 一 项 , 这一项, p(x) 表 示 特 征 在 样 本 中 出 现 的 概 率 , 将 特 征 出 现 的 次 数 除 以 样 本 总 量 即 可 。 表示特征在样本中出现的概率,将特征出现的次数除以样本总量即可。 p(c_i|x) 表 示 特 征 出 现 的 情 况 下 , 每 个 类 别 的 概 率 分 别 为 多 少 , 也 全 是 c o u n t 操 作 。 表示特征出现的情况下,每个类别的概率分别为多少,也全是count操作。 countp(c_i| \bar x)$操作以此类推。

3.信息增益做特征选择的优缺点

4.信息增益比(Infomation Gain Ratio)

在决策树算法中,ID3使用信息增益,c4.5使用信息增益比。

5.Gini系数

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208027.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午12:32
下一篇 2026年3月19日 下午12:32


相关推荐

  • 无法解析的外部符号问题小结

    无法解析的外部符号问题小结问题1:在编写通信相关程序中,引用了一个静态库(该静态库编译没有问题,并被其他项目引用),该库是对SOCKET的一个封装。基本结构如下: 在属性中添加了该库的引用后,编译仍然报错,错误如下:safmq2005.lib(tcpsocket.obj):errorLNK2019:无法解析的外部符号_gethostbyname@4,该符号在函数”publ

    2022年6月28日
    59
  • ab网站压力测试

    ab网站压力测试命令的参数、输出结果的中文注解permalink以前安装好APACHE总是不知道该如何测试APACHE的性能,现在总算找到一个测试工具了。就是APACHE自带的测试工具AB(apa

    2021年12月25日
    52
  • MATLAB绘图总结

    MATLAB绘图总结目录一些常用的MATLAB绘图方法二维图像绘制三维作图提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档一些常用的MATLAB绘图方法总结一下一些常用的MATLAB的绘图函数和参数设置,增强结果的可视化程度。二维图像绘制二维图像是在不同的平面坐标上将数据点连接起来的平面图像。常用的平面坐标有,直角坐标、极坐标、对数坐标等,MATLAB有很多常用的指令来绘制不同的二维图像。plot和fplotMATLAB中最常用的两个二维函数绘制函数plot()和fplot()pl

    2022年6月29日
    25
  • Python中的numpy库介绍!

    Python中的numpy库介绍!机器学习算法中大部分都是调用Numpy库来完成基础数值计算的。安装方法:pip3installnumpy1.ndarray数组基础python中用列表保存一组值,可将列表当数组使用。另外,python中有array模块,但它不支持多维数组,无论是时列表还是array模块都没有科学运算函数,不适合做矩阵等科学计算。numpy没有使用python本身的数组机制,而是提供了ndarray…

    2022年7月20日
    19
  • 蚁群算法 matlab程序(已执行)

    蚁群算法 matlab程序(已执行)

    2021年12月15日
    71
  • 一个Python小白5个小时爬虫经历

    一个Python小白5个小时爬虫经历前言最近业余在做一个基于.NETCore的搜索项目,奈何基层代码写好了,没有看起来很华丽的数据供测试。很巧的也是博客搜索,于是乎想到了博客园。C#也能做做页面数据抓取的,不过在博客园看到的大部分都

    2022年7月3日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号