@
通常论文中会有一些数学公式来证明作者理论,我觉得读论文不搞懂原理与证明,只了解了框架与流程,是不会有自己的创新以及idea,本文也是记录我自己在读paper遇到的一些数学理论,前面会叙述一些简单的数学知识。
1. 熵
1.1 熵的定义
在信息论中,熵用来衡量一个随机事件的不确定性。假设对一个随机变量\(X\)(取值集合为\(\chi\),概率分布为\(p(x)\), \(x \in \chi\))进行编码,自信息\(I(x)\)是变量\(X=x\)时的信息量或编码长度,定义为:
\]
熵表示随机变量的信息以及稳定性,熵越大,信息越多,不确定性越大,反之同理。比如有两个随机样本概率分别为0.5,0.5与概率分别为0.9,0.1相比,明显是前者的不确定性大于后者,所以前者熵大于后者,熵也是随机变量X的平均编码长度,具体公式如下:
\]
1.2 联合熵与条件熵
对于两个离散随机变量X和Y,假设X取值集合为\(\chi\),Y取值集合为\(\gamma\),其联合概率分别满足为\(p(x, y)\)则
X和Y的联合熵为
\]
X和Y的条件熵为
\quad \quad \quad \ \ \ \ = -\sum_{x \in \chi} \sum_{y \in \gamma} p(x, y) log\frac{p(x, y)}{p(y)}\]
根据其定义,条熵也可以写为:
\]
1.3 互信息
互信息是衡量已知一个变量时,另一个变量不确定性的减少程度。两个离散随机变量X和Y的互信息定义为:
\]
互信息的一个性质为:
\]
如果相互独立,则相互不提供任何信息,他们的互信息为0
1.4 交叉熵
对应分布为\(p(x)\)的随机变量,熵\(H(p)\)表示其最优编码长度。交叉熵是按照概率分布\(q\)的最优编码对真实分布为\(p\)的信息进行编码的长度,定义为:
\]
给定\(p\)情况下,如果\(q\)和\(p\)越接近,交叉熵越小,如果\(q\)和\(p\)越远,交叉熵就越大。
2. 散度
2.1 KL散度
\(KL\)散度,也叫\(KL\)距离或者相对熵,使用概率分布\(q\)来近似\(p\)时所造成的信息损失量。\(KL\)散度是按照概率分布\(q\)的最优编码对真实分布为\(p\)的信息进行编码,其平均编码长度\(H(p, q)\)和\(p\)的最优平均编码长度\(H(p)\)之间的差异。对于离散概率分布\(p\)和\(q\),从\(q\) 到\(p\)的\(KL\)散度定义为:
\]
其中为了保持连续性,定义\(0\ log\frac{0}{0} = 0, 0\ log\frac{0}{q} = 0\)
\(KL\)散度可以是衡量两个概率分布之间的距离。\(KL\)散度总是非负的,\(D_{KL}(p∥q) ≥0\)。只有当\(p = q\) 时,\(D_{KL}(p∥q) = 0\)。如果两个分布越接近,\(KL\)散度越小;如果两个分布越远,\(KL\)散度就越大。但\(KL\)散度并不是一个真正的度量或距离,一是\(KL\)散度不满足距离的对称性,二是\(KL\)散度不满足距离的三角不等式性质。
也可以查看另一种解释:如何理解KL散度
2.2 JS散度
\(JS\)散度(Jensen–Shannon divergence)是一种对称的衡量两个分布相似度的度量方式,定义为
\]
其中\(m = \frac{1}{2}(p+q)\).
\(JS\)散度是\(KL\)散度一种改进。但两种散度有存在一个问题,即如果两个分布 \(p, q\) 个分布没有重叠或者重叠非常少时,\(KL\) 散度和 \(JS\) 散度都很难衡量两个分布的距离.
参考文献
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:【数学基础】深度学习中的一些简单数学原理 - Python技术站