0%

信息熵

不确定性程度的物理量

自封闭系统的运动向均匀分布—熵总是增加的

信息熵(Entropy)是一种用于衡量随机变量不确定性的度量。在信息论中,熵表示一个随机变量的不确定性或信息量。对于分类问题,熵越高,表示随机变量的不确定性越大,即数据分布越均匀。

信息熵的计算公式如下:

[ H(X) = -\sum_{i=1}^{n} P(x_i) \cdot \log_2(P(x_i)) ]

其中,( n ) 是类别数,( P(x_i) ) 是随机变量 ( X ) 取值为 ( x_i ) 的概率。

以下是一个使用Python实现信息熵计算的示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import numpy as np

def entropy(probabilities):
# 避免概率为0时取对数导致无限大
epsilon = 1e-15
probabilities = np.clip(probabilities, epsilon, 1 - epsilon)
entropy = -np.sum(probabilities * np.log2(probabilities))
return entropy

# 示例概率分布
probabilities = np.array([0.2, 0.3, 0.5])

# 计算信息熵
entropy_value = entropy(probabilities)
print("Entropy:", entropy_value)

在上述代码中,我们定义了一个entropy函数,接受概率分布作为输入,并计算信息熵。为了避免取对数时出现无限大,我们使用了一个小的epsilon值进行裁剪。然后,通过对概率分布与对数化后的概率分布进行元素级相乘,最后取负数并求和,得到信息熵值。

信息熵可以用于决策树等算法中,用于选择合适的特征进行数据分割,从而达到更好的分类效果。

联合熵

条件熵

信息增益

ID3

信息增益率

C4.5

gini系数

CART

互信息