改进方法论文:”随机优化的改进交叉熵方法“,DOI:10.13700/j.bh.1001-5965.2017.0017
交叉熵主要用于度量两个概率分布之间的差异性。
信息量
设某一个事件发生的概率为𝑃(𝑥),则信息量表示为𝐼𝑥=−log(𝑃(𝑥)),I(x)表示信息量,log是以e为底的自然对数。
信息熵
用来表示所有信息量的希望,公式:(X表示一个离散型的随机变量)𝐻𝑋=−𝑖=1𝑛𝑃𝑥𝑖log(𝑃𝑥𝑖)),(𝑋=𝑥1,𝑥2,𝑥3,…,𝑥𝑛)
相对熵(KL散度)
对于同一个随机变量X有两个单独的概率分布P(x)和Q(x),用其表示两分布之间的差异:公式如下
𝐷𝐾𝐿(𝑝||𝑞)=𝑖=1𝑛𝑝𝑥𝑖log(𝑝(𝑥𝑖)𝑞(𝑥𝑖))
机器学习中常常用P(x)表示样本的真实分布,Q(x)表示模型的预测分布。
交叉熵
把KL散度公式拆开,得到下面的式子:
KL散度=交叉熵-信息熵(上面没有对应好,前面一项是信息熵,后面才是交叉熵),也就是说后者就是交叉熵,公式如下:
本来是应该算KL散度的,因为他才是真正表达两个期望之间差值的数据,但是一般在机器学习中,信息熵就是一个常量(因为是给定的标签,给定的结果值)所以交叉熵也就变相等于KL散度加上了一个常量,所以它越小,也可以越表示差异性越小。并且计算交叉熵的计算方法更加方便!!!,所以都用交叉熵。
PS:在计算过程中与softmax函数是标配关系
改进方法:(本来有四种,但是这里只提及两种)
1.增加扰动:
2.精英样本