首页IT科技信息熵是什么

信息熵是什么

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

信息熵是什么

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

信息熵这一概念由克劳德·香农于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
关键词对搜索引擎的重要(关键词词库对于SEO优化来说是至关重要的工具) WPS通配符一览表(便宜的通配符证书(通配符证书申请免费)(通配符大全))