ML1 - 熵、信息、交叉熵、KL散度、log-likelihood、互信息
(截图来自英文维基)
单一事件的熵:-p*log(p)
设p=½,则有-log(p)= log ₂ ;
设q=½¹⁰²⁴,则有-log(q)= log ₂ ;
依据对数性质可知 log ₂ ₁₀²⁴ / log ₂ = 位;
此运算可理解为此事件的发生条件是由十个独立事件共同作用所形成。
- 第一次结果为面
- 第二次结果为面
- ……
p代表事件的发生概率,则其负对数值-log(p)能够衡量该事件发生的不确定性或信息含量。将此值与概率相乘得到的就是该事件的信息度。
因此香农通过采用对数来量化信息。
熵:H(p)=\sum_p{-p*log(p)}=\sum_x{-p(x)*log(p(x))}
熵是所有随机事件产生信息的累加。
写法可能不是很纯数学,见谅。
交叉熵:H(p,q)=-\sum_x{p(x)*log(q(x))}
交叉熵在于用q的分布(模型预测分布)来表示p的分布(数据分布)。
KL散度:D_{KL}(p||q)=\sum{p*(log(p)-log(q))}=\sum{p*log(\frac{p}{q})}
即事件发生概率p乘以两个分布之间的差异log(p)-log(q)

和前面的关系:

likelihood (function):

在维基百科上有一个很好的抛硬币例子。likelihood函数基于假设其第一个变量为真条件下的概率计算。
log-likelihood:L(q|p)=q^{|X|*p} thus, log(L(q|p))=|X|*p*log(q)=-|X|*H(p,q)
从 likelihood 的概念出发,在图中所示的第一个公式右侧部分可以看出:
假设 q 成立(即模型的概率假设成立),基于真实分布计算事件的概率期望值。
从数学推导来看,在取其对数值后可得:交叉熵等于负的 log-likelihood 除以样本数量 N。
此外,在数学上这可能被称为对偶关系。

交叉熵衡量了两个概率分布之间的差异程度。对于两个分布P和Q来说,交叉熵被定义为H(P,Q)=−Σp(x)logq(x). 在机器学习的背景下,交叉熵与其对数似然函数之间有着密切的关系。具体而言,在模型训练于预测给定输入X的概率Q时,则交叉熵可表示为H(P,Q)=KL散度(P与Q之间的)加上Q给定X的负对数似然。这种关系凸显了最小化交叉熵作为一种手段来提高观测数据似然性的关键作用。
互信息:I(p,q)=\sum_{p,q}{(p,q)*(log((p,q))-log(p)-log(q))}=D_{KL}((p,q)|p,q)
类似于KL散度的一种衡量方法是计算两个概率分布之间的差异。下面这两个公式则更为正式地表达了这一概念:P(x|y) 和 P(y|x) 的乘积与某个基准值之间的差异程度。


