首页IT科技信息熵是什么

信息熵是什么

时间2025-09-19 13:38:55分类IT科技浏览5279
导读:信息熵是什么 通过前两节的学习,我们对于决策树算法有了大体的认识,本节我们将从数学角度解析如何选择合适的“特征做为判别条件”,这里需要重点掌握“信息熵”的相关知识。...

信息熵是什么

通过前两节的学习               ,我们对于决策树算法有了大体的认识                       ,本节我们将从数学角度解析如何选择合适的“特征做为判别条件               ”       ,这里需要重点掌握“信息熵                      ”的相关知识               。

信息熵这一概念由克劳德·香农于1948 年提出                      。香农是美国著名的数学家               、信息论创始人               ,他提出的“信息熵        ”的概念                       ,为信息论和数字通信奠定了基础        。

在理解“信息熵        ”这个词语前       ,我们应该理解什么是“信息                      ”        。信息是一个很抽象的概念        ,比如别人说的一段话就包含某些“信息               ”                       ,或者我们所看到的一个新闻也包含“信息        ”               ,人们常常说信息很多        ,或者信息较少                       ,但却很难说清楚信息到底有多少                      。比如一篇 10 万字的论文到底包含多少信息量?信息熵就是用来解决对信息的量化问题的               。

“熵                       ”这一词语从热力学中借用过来的               ,热力学中的“热熵               ”是表示分子状态混乱程度的物理量,香农使用“信息熵”这一概念来量化“信息量                       ”        。信息的计算是非常复杂的                       ,具有多重前提条件的信息                       ,更是无法计算,但由于信息熵和热力熵紧密相关               ,所以信息熵可以在衰减的过程中被测定出来                       。

理解信息熵

想要非常清楚地讲明白“信息熵                       ”到底是什么?需要结合物理上的知识                       ,不过这样就有点“舍本逐末”       ,所以我们只要理解香农给出的相关结论即可:

信息熵是用于衡量不确定性的指标               ,也就是离散随机事件出现的概率                       ,简单地说“情况越混乱       ,信息熵就越大        ,反之则越小               ”               。

为了便于大家理解                       ,我们通过下述示例进一步说明:

比如“台湾是中国的固有领土                       ”和“台湾不是中国的固有领土        ”               ,你感觉哪一句话传递的信息量更大?当然是后者        ,因为前者属于既定事实                       ,而后者若要发生的话               ,可能是发生了巨大的变革而导致的。如果一件事 100% 发生,那么这件事就是确定的事情                       ,其信息熵无限接近于最小                       ,但如果这件事具有随机性,比如抛硬币               ,其结果可能正面也可能反面                       ,那么这件事就很不确定       ,此时的信息熵就无限接近于最大值                       。

再比如               ,封闭的房间一直不打扫                       ,那么房间不可能越来越干净       ,只能不断的落灰和结下蜘蛛网        ,如果想要让它变得整洁                      、有序就需要外力介入去打扫房间                       。这个过程中趋向于混乱的房间其信息熵不断增大                       ,而打扫后的房间               ,则趋向于信息熵最小。伟大数学家香农给出了信息熵的计算公式        ,如下所示:

其中 p 代表概率的意思                       ,这里 “X               ” 表示进行信息熵计算的集合               。在决策树分类算法中               ,我们可以按各个类别的占比(占比越高,该类别纯度越高)来理解                       ,其中 N 表示类别数目                       ,而 Pk 表示类别 K 在子集中的占比                       。理解了上述含义,再理解信息熵的计算过程就非常简单了               ,分为三次四则运算                       ,即相乘        、求和最后取反        。

信息熵公式计算

下面我们举一个简单的例子       ,对上述信息熵计算公式进行简单的应用               ,在二元分类问题中                       ,如果当前样本全部属于 k 类别       ,那么该类别在子集节点中的占比达到 100%(而另一个类别占比为 0)        ,即 pk = 1                       ,此时信息熵的计算公式如下:

关于对数函数的运算法则这里不再赘述               ,以 2 为底 1 的对数为 0        ,因此最终两个类别的信息熵求和结果为 0               。信息熵为 0 说明子集内的类别一致“整齐有序                      ”                      。由此也可以得知 pk=0.5 时候信息熵的取得最大值        。下面根据上述信息                       ,我们绘制信息熵的函数图像               ,如下所示:

ID3算法—信息增益

通过前面知识的学习,我们知道决策树算法是以包含所有类别的集合为计算对象                       ,并通过条件判别                       ,从中筛选出纯度较高的类别,那么我们如何利用信息熵从特征集合中选择决策条件呢?下面我们以 ID3 算法为例进行说明        。

ID3(Iterative Dichotomiser 3               ,迭代二叉树3代)算法是决策树算法的其中一种                       ,它是基于奥卡姆剃刀原理实现的       ,这个原理的核心思想就是“大道至简               ,用尽量少的东西去做更多的事情        ”                      。

把上述原理应用到决策树中                       ,就有了 ID3 算法的核心思想:越小型的决策树越优于大的决策树       ,也就是使用尽可能少的判别条件               。ID3 算法使用了信息增益实现判别条件的选择        ,从香农的“信息论        ”中可以得知                       ,ID3 算法选择信息增益最大的特征维度进行 if -else 判别        。

1) 理解信息增益 那么到底什么是信息增益?我们又如何计算特征维度信息增益值的大小呢?

简单地说               ,信息增益是针对一个具体的特征而言的        ,某个特征的有无对于整个系统        、集合的影响程度就可以用“信息增益                      ”来描述                       。我们知道                       ,经过一次 if-else 判别后               ,原来的类别集合就被被分裂成两个集合,而我们的目的是让其中一个集合的某一类别的“纯度               ”尽可能高                       ,如果分裂后子集的纯度比原来集合的纯度要高                       ,那就说明这是一次 if-else 划分是有效过的               。通过比较使的“纯度        ”最高的那个划分条件,也就是我们要找的“最合适                       ”的特征维度判别条件。

2) 信息增益公式 那么如何计算信息增益值               ,这里我们可以采用信息熵来计算                       。我们通过比较划分前后集合的信息熵来判断                       ,也就是做减法       ,用划分前集合的信息熵减去按特征维度属性划分后的信息熵               ,就可能够得到信息增益值                       。公式如下所示:

G(S,a) 表示集合 S 选择特征属性 t 来划分子集时的信息增益。H(x) 表示集合的信息熵               。上述的“减数               ”看着有点复杂                       ,下面重点讲解一下减数的含义:

大写字母 K 表示:按特征维度 t 划分后       ,产生了几个子集的意思        ,比如划分后产生了 5 个子集吗                       ,那么 K = 5                       。

小写字母 k 表示:按特征维度 t 划分后               ,5 个子集中的某一个子集        ,k = 1 指的是从第一个子集开始求和计算        。

|S| 与 |Sk| 表示:集合 S 中元素的个数                       ,这里的||并不是绝对值符号               ,而 |Sk| 表示划分后,某个集合的元素个数               。

|S| /|Sk| 表示:一个子集的元素个数在原集合的总元素个数中的占比                       ,指该子集信息熵所占的权重                       ,占比越大,权重就越高                      。

最后               ,比较不同特征属性的信息增益                       ,增益值越大       ,说明子集的纯度越高               ,分类的效果就越好                       ,我们把效果最好的特征属性选为 if-else 的最佳判别条件        。

ID3 算法是一个相当不错的决策树算法       ,能够有效解决分类问题        ,其原理比较容易理解        。C4.5 算法是 ID3 算法的增强版                       ,这个算法使用了“信息增益比”来代替“信息增益                       ”               ,而 CART 算法则采用了“基尼指数                       ”来选择判别条件        ,“基尼指数”并不同于“信息熵               ”                       ,但却与信息熵有着异曲同工之妙               ,这些将作为延伸扩展知识,在后续内容中讲解                      。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
vue双向绑定失败(v-model的双向数据绑定实现原理(附:案例和项目实例))