熵的计算
什么是熵?
定义:
熵是表示随机变量不确定性的度量
简单理解:熵就是混乱程度,一个集合中类别越多,越混乱,属于哪一个类别越不确定。
熵的计算公式:
简单理解一下公式:
(不知道为啥传不了图片)
观察对数函数图像可以看出 (「0-1」范围内)概率值越大(pi越大)
函数值(log(pi))越大,加上-号越小,也就是熵值越小
例:集合a=[1,2,3,4,5,6,7,8,9,10]
集合b=[1,1,1,1,1,1,1,1,2,2]
根据计算公式:
集合A的熵为:
− 10 × ( 1 10 × log 2 1 10 ) -10\times (\frac{1}{10}\times \log_{2}{\frac{1}{10}} ) −10×(101×log2101)
集合B的熵为:
− ( 8 × 8 10 × log 2 8 10 + 2 × 2 10 × log 2 2 10 ) -(8\times \frac{8}{10}\times \log_{2}{\frac{8}{10}} +2\times \frac{2}{10}\times \log_{2}{\frac{2}{10}}) −(8×108×log2108+2×102×log2102)
a=np.log2(8/10)
b=np.log2(2/10)
# 集合b的熵
c=(2/5*(16*a+b))
# 集合a的熵
d=-(np.log2(1/10))
print(c)
print(d)
结果:
可以看出集合a的熵值更大,更不稳定,属于哪一个类别更不确定
二分类问题中
当概率值为0.5 就是可能/不可能各占一半,
就像问前面的人是是男人还是女人,回答:男人可能性50%等于没说
(最不确定)
当概率值为0或1,已经确定了 (100%发生或不发生)
信息增益:
特征x使得类y的不确定性减少的程度。
决策树中:
原来集合的熵与(经过节点生成的左右集合的熵之和)的差值
信息增益越大,类别确定性越高