1. 信息熵:衡量"不确定性"
通俗理解:
信息熵就是用来衡量一个系统"混乱程度"或"不确定性"的指标。熵值越大,就越不确定,想要猜中结果需要的信息就越多。
举例:猜球
假设一个箱子里有球,让你猜下一个会摸出什么颜色的球。我们来看两种情况:
-
情况A: 箱子里有4个红球。
-
你摸出来的一定是红球,没有任何悬念。
-
这种系统的信息熵为 0(最确定,最不混乱)。
-
-
情况B: 箱子里有2个红球、1个蓝球、1个黄球。
-
你摸出来的可能是红、蓝、黄中的一种,你不太确定。
-
这种系统的信息熵比较高(不太确定,有点混乱)。
-
-
情况C: 箱子里有1个红球、1个蓝球、1个黄球、1个绿球。
-
四种颜色概率均等,你完全猜不到下一个是什么。
-
这种系统的信息熵最高(最不确定,最混乱)。
-
数学公式(仅作了解):
H(X)=−∑i=1npilog2(pi)H(X)=−i=1∑npilog2(pi)
其中 pipi 是每一种情况发生的概率。
2. 信息增益:衡量"确定性"的提升
通俗理解:
信息增益是指在知道某个条件(特征)后,信息熵减少了多少。减少得越多,说明这个条件提供的信息越有价值。
还是用上面的情况B(2红、1蓝、1黄)来做例子。
总结
-
第一步:原本的不确定性(熵)
摸出一个球:红球概率 1/2,蓝球 1/4,黄球 1/4。
此时系统的熵记作 H(原有)H(原有)。
-
第二步:引入一个"特征"
假设球除了颜色,还有一个属性:是否发光 。
我们偶然发现:所有红球都不发光,所有蓝球和黄球都发光。
-
第三步:根据特征划分,重新计算不确定性
现在你知道了"这个球发光"这个信息,再去猜颜色:
-
如果球发光:它只能是蓝或黄(各一半概率),虽然不确定,但至少排除了红球。
-
如果球不发光:它100%是红球,完全确定了。
-
-
第四步:计算信息增益
我们通过"是否发光"这个特征,把原本混乱的系统划分成了两个更"纯净"的子集。
信息增益 = 原来的熵 ------ 根据特征划分后的加权平均熵
如果划分后,整体的不确定性(熵)大幅下降了,就说明这个特征的信息增益很高。
在这个例子中,通过"发光"这个特征,我们能100%确定不发光的球是红球,这大大降低了猜测难度,所以"是否发光"这个特征的信息增益很高。
3. 在机器学习中的应用(以决策树为例)
这个概念在人工智能的决策树算法中至关重要。
-
目标: 电脑要根据"天气"、"湿度"、"风力"等特征,来判断今天要不要去打网球。
-
原理:
-
电脑先计算当前所有样本的信息熵(比如:历史数据中,去打球的概率是60%,不去的概率是40%------这是最开始的混乱度)。
-
然后,电脑尝试用第一个特征(比如"天气")来划分数据。
-
电脑计算划分后的信息增益(用"天气"划分后,混乱度降低了多少)。
-
决策: 哪个特征带来的信息增益最大,哪个特征就是最好的分类依据,就把它放在决策树的最顶端(最先判断)。
-
-
信息熵:就是衡量数据"纯不纯"、"乱不乱"的指标。
-
信息增益 :就是用了某个特征进行分类后,数据变得"有多纯",也就是混乱度降低了多少。增益越大,这个特征越重要。
虽然信息增益很直观,但在实际应用中有一个需要注意的地方:它倾向于选择取值较多的特征。
举例: 假如有一个"编号"特征,从1到4。如果把编号作为划分依据,每个取值只包含一个样本,那么每个子集的纯度都是100%,条件熵为0,信息增益会非常大(接近总熵)。
这样会导致模型过拟合(为了纯净,把每个样本单独分成一类,失去了泛化能力)。
解决方案:
为了克服这个问题,后来的算法(如 C4.5)使用了 信息增益率。它在信息增益的基础上,除以特征本身的熵(即特征取值的分散程度),对取值多的特征进行了惩罚。