总结下机器学习中的各种熵
自信息
对事件不确定性的度量
熵
熵表示随机变量不确定性的度量。
设是一个取有限个值的离散随机变量,其概率分布为
则随机变量的熵
其中,若,则定义若 则
由定义,得
联合熵
描述一对随机变量平均所需要的信息量
联合熵的性质
条件熵
条件熵表示在已知随机变量的条件下随机变量的不确定性。
随机变量给定的条件下随机变量的条件熵定义为给定条件下的条件概率分布的熵对的数学期望。
从公式的推断过程,可以得到条件熵的一个性质:
其中,当熵和条件熵由数据估计(极大似然估计)得到时,对应的熵和条件熵分别称为经验熵和经验条件熵。
信息增益(互信息)
信息增益表示已知特征的信息而使得类的信息的不确定性减少的程度。
特征对训练集的信息增益
即,集合的经验熵与特征给定条件下的经验条件熵之差。
熵、联合熵、条件熵、互信息的关系
下面的图解释了熵、联合熵、条件熵、互信息的关系
[图片上传失败...(image-e719cf-1550004845982)]
可以得到互信息的一个性质
交叉熵
衡量两个概率的符文p和q对事件X的相似性
交叉熵衡量两个概率分布p和q对事件X的相似性,按理来说,两分布越相似,交叉熵越大
实际上,有一个性质:, 当q为真实分布p时取等号。这是因为用错误的分布q得到的平均编码长度H(p,q)大于根据真实分布p得到的平均编码长度H(p)(直观理解)。
- 交叉熵衡量两个概率分布p和q对事件X的相似性,按理来说,两分布越相似,交换熵越大。但这里的
“相似性”
是指如果两分布相同,H(p, q) = H(p),取最小值;而两分布不相似,H(p, q) > H(p),取值比 H(p) 大。所以,是反过来的,即两分布越相似,交换熵越小。 - 由于交叉熵衡量两个概率分布p和q的相似性,因此常常用于神经网络的损失函数。
- 交叉熵作为损失函数还有一个好处是使用sigmoid函数在梯度下降时能避免均方误差损失函数(MSE)学习速率降低的问题,因为使用MSE代价函数时在sigmoid输出饱和时学习速率(梯度)与sigmoid导数正相关,这时sigmoid导数趋于0,即很小,而使用交叉熵代价函数时学习速率与误差正相关,误差越大,学习速率越大,但与sigmoid导数无关,只被输出误差所控制。
另外在分类问题上;
以二分类举例为例,设置概率:
相对熵(KL散度)
熵、交叉熵、相对熵性质
也就是交叉熵=熵+相对熵
相对熵(KL散度)性质:
- 由于KL散度衡量两个概率分布p和q对事件X的不相似性,因此两分布越不相似,KL散度值越大。
- 如果两分布相同,则KL散度值为0。KL散度非负且非对称。
- KL散度可应用于生成式对抗网络GAN(衡量两个分布)。