散度和KL散度的介绍

1. 梯度、散度与旋度

1.1 算子

定义一个向量算子 ∇ \nabla ∇(读作nabla或者del):
∇ = ∂ ∂ x e x ⃗ + ∂ ∂ y e y ⃗ + ∂ ∂ z e z ⃗ (1.1) \nabla= \frac{\partial}{\partial x} \vec{e_x} + \frac{\partial}{\partial y} \vec{e_y} + \frac{\partial}{\partial z} \vec{e_z} \tag{1.1} ∇=∂x∂​ex​ ​+∂y∂​ey​ ​+∂z∂​ez​ ​(1.1)
该算子也叫哈密顿算子,其中 e x ⃗ , e y ⃗ 和 e z ⃗ \vec{e_x}, \vec{e_y}和\vec{e_z} ex​ ​,ey​ ​和ez​ ​分别是 X , Y , Z X, Y, Z X,Y,Z方向的单位向量用线性代数的风格表示为( T T T为转置):
∇ = [ ∂ ∂ x , ∂ ∂ y , ∂ ∂ z ] T (1.2) \nabla= [\frac{\partial}{\partial x}, \frac{\partial}{\partial y}, \frac{\partial}{\partial z}]^T \tag{1.2} ∇=[∂x∂​,∂y∂​,∂z∂​]T(1.2)

1.2 梯度

  1. 梯 度 是 一 个 向 量 \color{red}梯度是一个向量 梯度是一个向量,它表示函数在某个点处往哪个方向走,变化最快,即梯度等于方向导数的最大值。
  2. 对于一个 标 量 函 数 ψ \color{red}标量函数\psi 标量函数ψ,定义它的梯度为:
    g r a d ( ψ ) = ∇ . ψ = [ ∂ ∂ x , ∂ ∂ y , ∂ ∂ z ] T . ψ = [ ∂ ψ ∂ x , ∂ ψ ∂ y , ∂ ψ ∂ z ] T (1.3) \begin{aligned} grad(\psi) = \nabla . \psi &= [\frac{\partial}{\partial x}, \frac{\partial}{\partial y}, \frac{\partial}{\partial z}]^T . \psi\\ &= [\frac{\partial \psi}{\partial x}, \frac{\partial \psi}{\partial y}, \frac{\partial \psi}{\partial z}]^T \end{aligned} \tag{1.3} grad(ψ)=∇.ψ​=[∂x∂​,∂y∂​,∂z∂​]T.ψ=[∂x∂ψ​,∂y∂ψ​,∂z∂ψ​]T​(1.3)
    梯度是 算 子 点 乘 标 量 函 数 \color{red}算子点乘标量函数 算子点乘标量函数的过程。
  3. 只有 标 量 函 数 才 有 梯 度 \color{red}标量函数才有梯度 标量函数才有梯度,梯度是 纯 量 函 数 ⇒ 向 量 场 \color{red}纯量函数\Rightarrow 向量场 纯量函数⇒向量场的过程。

1.3 散度

  1. 散 度 是 一 个 标 量 \color{red}散度是一个标量 散度是一个标量,它表示一个闭合曲面内单位体积的通量。
  2. 散 度 的 作 用 对 象 是 一 个 矢 量 函 数 \color{red}散度的作用对象是一个矢量函数 散度的作用对象是一个矢量函数,对于一个 矢 量 函 数 f ⃗ = [ f x , f y , f z ] T \color{red}矢量函数\vec{f} = [f_x, f_y, f_z]^T 矢量函数f ​=[fx​,fy​,fz​]T,散度的定义为:
    d i v ( f ) = ∇ ⋅ f ⃗ = ∇ T f ⃗ = [ ∂ ∂ x , ∂ ∂ y , ∂ ∂ z ] [ f x f y f z ] = ∂ f x ∂ x + ∂ f y ∂ y + ∂ f z ∂ z (1.4) \begin{aligned} div(f) = \nabla\cdot \vec{f} = \nabla^T \vec{f} &= [\frac{\partial}{\partial x}, \frac{\partial}{\partial y}, \frac{\partial}{\partial z}] \left[ \begin{matrix} f_x \\ f_y \\ f_z \end{matrix} \right] \\ &= \frac{\partial f_x}{\partial x} + \frac{\partial f_y}{\partial y} + \frac{\partial f_z}{\partial z} \end{aligned} \tag{1.4} div(f)=∇⋅f ​=∇Tf ​​=[∂x∂​,∂y∂​,∂z∂​]⎣⎡​fx​fy​fz​​⎦⎤​=∂x∂fx​​+∂y∂fy​​+∂z∂fz​​​(1.4)
    可以将散度类比于线性代数中的 向 量 内 积 \color{red}向量内积 向量内积,两个向量的内积是一个标量。
  3. 散度是针对 矢 量 函 数 \color{red}矢量函数 矢量函数,是 向 量 场 ⇒ 纯 量 函 数 \color{red}向量场\Rightarrow 纯量函数 向量场⇒纯量函数的过程。
  4. 某点散度代表了该点向外的通量体密度,其物理意义可以理解为:定量给出向量场中任一点是否为源点或汇点。
    • 若某点散度等于0,则说明其通量为0,流进=流出
    • 若某点散度大于0,说明流出>流进,相当于一个 源 点 ( s o u r c e ) \color{red}源点(source) 源点(source);
    • 若某点散度小于0,说明流出<流进,相当于一个 汇 点 ( s i n k ) \color{red}汇点(sink) 汇点(sink)。
  5. 应用:流体力学中不可压缩条件为:速度场的散度为0。

1.4 旋度

  1. 旋 度 是 一 个 向 量 \color{red}旋度是一个向量 旋度是一个向量,它表示单位面积的环量,即环量面密度。
  2. 旋 度 的 作 用 对 象 是 一 个 矢 量 函 数 \color{red}旋度的作用对象是一个矢量函数 旋度的作用对象是一个矢量函数,对于一个 矢 量 函 数 f ⃗ = [ f x , f y , f z ] T \color{red}矢量函数\vec{f} = [f_x, f_y, f_z]^T 矢量函数f ​=[fx​,fy​,fz​]T,旋度的定义为:
    r o t ( f ) = ∇ × f ⃗ = ∣ e x ⃗ e y ⃗ e z ⃗ ∂ ∂ x ∂ ∂ y ∂ ∂ z f x f y f z ∣ (1.5) rot(f) = \nabla\times \vec{f} = \left| \begin{matrix} \vec{e_x} & \vec{e_y} & \vec{e_z} \\ \frac{\partial}{\partial x} & \frac{\partial}{\partial y} & \frac{\partial}{\partial z} \\ f_x & f_y & f_z \end{matrix} \right| \tag{1.5} rot(f)=∇×f ​=∣∣∣∣∣∣​ex​ ​∂x∂​fx​​ey​ ​∂y∂​fy​​ez​ ​∂z∂​fz​​∣∣∣∣∣∣​(1.5)
    公式(1.5),可以将其看做是 行 列 式 展 开 计 算 \color{red}行列式展开计算 行列式展开计算,其中 ( e x ⃗ , e y ⃗ , e z ⃗ ) (\vec{e_x}, \vec{e_y}, \vec{e_z}) (ex​ ​,ey​ ​,ez​ ​)表示 x , y , z x, y, z x,y,z方向的单位向量,即:
    ∇ × f ⃗ = ( − 1 ) 1 + 1 e x ⃗ ( ∂ f z ∂ y − ∂ f y ∂ z ) + ( − 1 ) 1 + 2 e y ⃗ ( ∂ f z ∂ x − ∂ f x ∂ z ) + ( − 1 ) 1 + 3 e z ⃗ ( ∂ f y ∂ x − ∂ f x ∂ y ) = e x ⃗ ( ∂ f z ∂ y − ∂ f y ∂ z ) − e y ⃗ ( ∂ f z ∂ x − ∂ f x ∂ z ) + e z ⃗ ( ∂ f y ∂ x − ∂ f x ∂ y ) (1.6) \begin{aligned} \nabla\times \vec{f} &= (-1)^{1+1} \vec{e_x} (\frac{\partial f_z}{\partial y} - \frac{\partial f_y}{\partial z}) + (-1)^{1+2} \vec{e_y} (\frac{\partial f_z}{\partial x} - \frac{\partial f_x}{\partial z}) + (-1)^{1+3} \vec{e_z} (\frac{\partial f_y}{\partial x} - \frac{\partial f_x}{\partial y}) \\ &= \vec{e_x} (\frac{\partial f_z}{\partial y} - \frac{\partial f_y}{\partial z}) - \vec{e_y} (\frac{\partial f_z}{\partial x} - \frac{\partial f_x}{\partial z}) + \vec{e_z} (\frac{\partial f_y}{\partial x} - \frac{\partial f_x}{\partial y}) \end{aligned} \tag{1.6} ∇×f ​​=(−1)1+1ex​ ​(∂y∂fz​​−∂z∂fy​​)+(−1)1+2ey​ ​(∂x∂fz​​−∂z∂fx​​)+(−1)1+3ez​ ​(∂x∂fy​​−∂y∂fx​​)=ex​ ​(∂y∂fz​​−∂z∂fy​​)−ey​ ​(∂x∂fz​​−∂z∂fx​​)+ez​ ​(∂x∂fy​​−∂y∂fx​​)​(1.6)
  3. 散度是针对 矢 量 函 数 \color{red}矢量函数 矢量函数,是 向 量 场 ⇒ 向 量 场 \color{red}向量场\Rightarrow 向量场 向量场⇒向量场的过程。

1.5 对标量场的梯度求其散度

d i v ( g r a d ( ψ ) ) = ∇ ⋅ ( ∇ ψ ) = ∇ T ( ∇ ψ ) = [ ∂ ∂ x , ∂ ∂ y , ∂ ∂ z ] [ ∂ ψ ∂ x ∂ ψ ∂ y ∂ ψ ∂ z ] = ∂ 2 ψ ∂ x 2 + ∂ 2 ψ ∂ y 2 + ∂ 2 ψ ∂ z 2 (1.7) \begin{aligned} div (grad(\psi)) & = \nabla \cdot (\nabla \psi) = \nabla^T (\nabla \psi) \\&= [\frac{\partial}{\partial x}, \frac{\partial}{\partial y}, \frac{\partial}{\partial z}] \left[ \begin{matrix} \frac{\partial \psi}{\partial x} \\ \frac{\partial \psi}{\partial y} \\ \frac{\partial \psi}{\partial z} \end{matrix} \right]\\ &= \frac{\partial^2 \psi}{\partial x^2} + \frac{\partial^2 \psi}{\partial y^2} + \frac{\partial^2 \psi}{\partial z^2} \end{aligned} \tag{1.7} div(grad(ψ))​=∇⋅(∇ψ)=∇T(∇ψ)=[∂x∂​,∂y∂​,∂z∂​]⎣⎢⎡​∂x∂ψ​∂y∂ψ​∂z∂ψ​​⎦⎥⎤​=∂x2∂2ψ​+∂y2∂2ψ​+∂z2∂2ψ​​(1.7)
令公式(1.7)等于0,就得到了 L a p l a c i a n 方 程 \color{red}Laplacian方程 Laplacian方程:
∂ 2 ψ ∂ x 2 + ∂ 2 ψ ∂ y 2 + ∂ 2 ψ ∂ z 2 = 0 (1.8) \frac{\partial^2 \psi}{\partial x^2} + \frac{\partial^2 \psi}{\partial y^2} + \frac{\partial^2 \psi}{\partial z^2} = 0 \tag{1.8} ∂x2∂2ψ​+∂y2∂2ψ​+∂z2∂2ψ​=0(1.8)

1.6 相关性质

  1. 梯 度 的 旋 度 恒 为 0 向 量 \color{red}梯度的旋度恒为0向量 梯度的旋度恒为0向量。注意这个0是零向量,不是标量的0。

    r o t ( g r a d ( ψ ) ) = ∇ × ∇ ψ = ∣ e x ⃗ e y ⃗ e z ⃗ ∂ ∂ x ∂ ∂ y ∂ ∂ z ∂ ψ ∂ x ∂ ψ ∂ y ∂ ψ ∂ z ∣ = e x ⃗ ( ∂ 2 ψ ∂ y ∂ z − ∂ 2 ψ ∂ z ∂ y ) − e y ⃗ ( ∂ 2 ψ ∂ x ∂ z − ∂ 2 ψ ∂ z ∂ x ) + e z ⃗ ( ∂ 2 ψ ∂ x ∂ y − ∂ 2 ψ ∂ y ∂ x ) = 0 (1.9) \begin{aligned} rot(grad(\psi)) & = \nabla\times \nabla\psi = \left| \begin{matrix} \vec{e_x} & \vec{e_y} & \vec{e_z} \\ \frac{\partial}{\partial x} & \frac{\partial}{\partial y} & \frac{\partial}{\partial z} \\ \frac{\partial \psi}{\partial x} & \frac{\partial \psi}{\partial y} & \frac{\partial \psi}{\partial z} \end{matrix} \right| \\ &=\vec{e_x} (\frac{\partial^2 \psi}{\partial y \partial z} - \frac{\partial^2 \psi}{\partial z \partial y}) - \vec{e_y} (\frac{\partial^2 \psi}{\partial x \partial z} - \frac{\partial^2 \psi}{\partial z \partial x}) + \vec{e_z} (\frac{\partial^2 \psi}{\partial x \partial y} - \frac{\partial^2 \psi}{\partial y \partial x}) \\ &= \boldsymbol{0} \end{aligned} \tag{1.9} rot(grad(ψ))​=∇×∇ψ=∣∣∣∣∣∣​ex​ ​∂x∂​∂x∂ψ​​ey​ ​∂y∂​∂y∂ψ​​ez​ ​∂z∂​∂z∂ψ​​∣∣∣∣∣∣​=ex​ ​(∂y∂z∂2ψ​−∂z∂y∂2ψ​)−ey​ ​(∂x∂z∂2ψ​−∂z∂x∂2ψ​)+ez​ ​(∂x∂y∂2ψ​−∂y∂x∂2ψ​)=0​(1.9)

  2. 旋 度 的 散 度 恒 为 0 标 量 \color{red}旋度的散度恒为0标量 旋度的散度恒为0标量。注意这个0是是标量的0。

    r o t ( d i v ( f ⃗ ) ) = ∇ ⋅ ( ∇ × f ⃗ ) = ∇ T ( ∇ × f ⃗ ) = [ ∂ ∂ x , ∂ ∂ y , ∂ ∂ z ] [ ∂ f z ∂ y − ∂ f y ∂ z − ( ∂ f z ∂ x − ∂ f x ∂ z ) ∂ f y ∂ x − ∂ f x ∂ y ] = ( ∂ 2 f z ∂ y ∂ x − ∂ 2 f y ∂ z ∂ x ) − ( ∂ 2 f z ∂ x ∂ y − ∂ 2 f x ∂ z ∂ y ) + ( ∂ 2 f y ∂ x ∂ z − ∂ 2 f x ∂ y ∂ z ) = 0 (1.10) \begin{aligned} rot(div(\vec{f})) &= \nabla\cdot (\nabla\times \vec{f}) = \nabla^T (\nabla \times \vec{f}) \\ &= [\frac{\partial}{\partial x}, \frac{\partial}{\partial y}, \frac{\partial}{\partial z}] \left[ \begin{matrix} \frac{\partial f_z}{\partial y} - \frac{\partial f_y}{\partial z} \\ -(\frac{\partial f_z}{\partial x} - \frac{\partial f_x}{\partial z})\\ \frac{\partial f_y}{\partial x} - \frac{\partial f_x}{\partial y} \end{matrix} \right] \\ &= (\frac{\partial^2 f_z}{\partial y \partial x} - \frac{\partial^2 f_y }{\partial z \partial x}) - (\frac{\partial^2 f_z}{\partial x \partial y} - \frac{\partial^2 f_x}{\partial z \partial y}) + (\frac{\partial^2 f_y}{\partial x \partial z} - \frac{\partial^2 f_x}{\partial y \partial z}) \\ &= 0 \end{aligned} \tag{1.10} rot(div(f ​))​=∇⋅(∇×f ​)=∇T(∇×f ​)=[∂x∂​,∂y∂​,∂z∂​]⎣⎢⎡​∂y∂fz​​−∂z∂fy​​−(∂x∂fz​​−∂z∂fx​​)∂x∂fy​​−∂y∂fx​​​⎦⎥⎤​=(∂y∂x∂2fz​​−∂z∂x∂2fy​​)−(∂x∂y∂2fz​​−∂z∂y∂2fx​​)+(∂x∂z∂2fy​​−∂y∂z∂2fx​​)=0​(1.10)


2. KL散度

2.1 KL散度简介

  • KL散度的概念来源于概率论和信息论中。
  • KL散度又被称为: 相 对 熵 \color{red}相对熵 相对熵、互熵、鉴别信息、Kullback熵、Kullback-Leible散度(即KL散度的简写)。
  • 在机器学习、深度学习领域中,KL散度被广泛运用于变分自编码器中(Variational AutoEncoder,简称VAE)、EM算法、GAN网络中。

2.2 KL散度的定义

KL散度的定义是建立在熵(Entropy)的基础上的。此处以离散随机变量为例,先给出熵的定义,再给定KL散度定义。

  1. 熵 定 义 \color{red}熵定义 熵定义
    若一个离散随机变量 X X X的可能取值为 X = { x 1 , x 2 , ⋯ , x n } X=\{x_1,x_2,⋯,x_n\} X={x1​,x2​,⋯,xn​},而对应的概率为 p i = p ( X = x i ) p_i=p(X=x_i) pi​=p(X=xi​),则随机变量 X X X的 熵 定 义 \color{red}熵定义 熵定义为:
    H ( X ) = − ∑ i = 1 n p ( x i ) log ⁡ p ( x i ) (2.1) H(X)=−∑_{i=1}^np(x_i)\log p(x_i)\tag{2.1} H(X)=−i=1∑n​p(xi​)logp(xi​)(2.1)

    规定当 p ( x i ) = 0 p(x_i)=0 p(xi​)=0时, p ( x i ) log ⁡ p ( x i ) = 0 p(x_i)\log p(x_i)=0 p(xi​)logp(xi​)=0。

  2. 相 对 熵 \color{red}相对熵 相对熵
    若有两个随机变量 P P P、 Q Q Q,且其概率分布分别为 p ( x ) 、 q ( x ) p(x)、q(x) p(x)、q(x),则 p 相 对 q \color{red}p相对q p相对q的 相 对 熵 \color{red}相对熵 相对熵为:
    D K L ( p ∣ ∣ q ) = ∑ i = 1 n p ( x ) log ⁡ p ( x ) q ( x ) (2.2) \color{red}D_{KL}(p||q)=∑_{i=1}^np(x)\log{\frac{p(x)}{q(x)}}\tag{2.2} DKL​(p∣∣q)=i=1∑n​p(x)logq(x)p(x)​(2.2)
    之所以称之为 相 对 熵 \color{red}相对熵 相对熵,是因为其可以通过两随机变量的交叉熵(Cross-Entropy)以及信息熵推导得到:

    推导:

    1. 针对上述离散变量的概率分布 p ( x ) 、 q ( x ) p(x)、q(x) p(x)、q(x)而言,其交叉熵定义为:
      H ( p , q ) = ∑ x p ( x ) log ⁡ 1 q ( x ) = − ∑ x p ( x ) log ⁡ q ( x ) \begin{aligned}H(p,q)=∑_xp(x)\log{\frac{1}{q(x)}}=−∑_xp(x)\log q(x)\end{aligned} H(p,q)=x∑​p(x)logq(x)1​=−x∑​p(x)logq(x)​
      在信息论中,交叉熵可认为是对预测分布 q ( x ) q(x) q(x)用真实分布 p ( x ) p(x) p(x)来进行编码时所需要的信息量大小。
    2. KL散度或相对熵可通过下式得出:
      D K L ( p ∥ q ) = H ( p , q ) − H ( p ) = − ∑ x p ( x ) log ⁡ q ( x ) − ∑ x − p ( x ) log ⁡ p ( x ) = − ∑ x p ( x ) ( log ⁡ q ( x ) − log ⁡ p ( x ) ) = − ∑ x p ( x ) log ⁡ q ( x ) p ( x ) \begin{aligned} D_{K L}(p \| q) &=H(p, q)-H(p) \\ &=-\sum_{x} p(x) \log q(x)-\sum_{x}-p(x) \log p(x) \\ &=-\sum_{x} p(x)(\log q(x)-\log p(x)) \\ &=-\sum_{x} p(x) \log \frac{q(x)}{p(x)} \end{aligned} DKL​(p∥q)​=H(p,q)−H(p)=−x∑​p(x)logq(x)−x∑​−p(x)logp(x)=−x∑​p(x)(logq(x)−logp(x))=−x∑​p(x)logp(x)q(x)​​

2.3 KL散度的数学性质

KL散度可以用来衡量两个分布之间的差异,其具有如下数学性质:

2.3.1 正定性

D K L ( p ∣ ∣ q ) ≥ 0 (2.3) \color{red}D_{KL}(p||q)≥0\tag{2.3} DKL​(p∣∣q)≥0(2.3)
可用Gibbs 不等式直接得出。先给出 G i b b s 不 等 式 \color{blue}Gibbs不等式 Gibbs不等式的内容:
若 ∑ i = 1 n p i = ∑ i = 1 n q i = 1 ∑^n_{i=1}p_i=∑^n_{i=1}q_i=1 ∑i=1n​pi​=∑i=1n​qi​=1,且 p i , q i ∈ ( 0 , 1 ] p_i,q_i∈(0,1] pi​,qi​∈(0,1],则有:
− ∑ i n p i log ⁡ p i ≤ − ∑ i n p i log ⁡ q i (2.4) −∑_i^n{p_i}\log p_i≤−∑_i^n{p_i}\log q_i\tag{2.4} −i∑n​pi​logpi​≤−i∑n​pi​logqi​(2.4)
当且仅当 p i = q i ( ∀ i ) p_i=q_i(∀i) pi​=qi​(∀i)等号成立。

2.3.2 不对称性

  1. KL散度并不是一个真正的度量或者距离,因为它不具有对称性:
    D ( p ∥ q ) ≠ D ( q ∥ p ) (2.5) \color{red}D(p∥q)≠D(q∥p)\tag{2.5} D(p∥q)​=D(q∥p)(2.5)
  2. 各种散度中,Jensen-Shannon divergence( J S 散 度 \color{red}JS散度 JS散度)是 对 称 的 \color{red}对称的 对称的。
    各种散度参考下一章节。

2.4 KL散度的理解

2.4.1 统计学意义上的KL散度:

  1. 在统计学意义上来说,KL散度可以用来 衡 量 两 个 分 布 之 间 的 差 异 程 度 \color{red}衡量两个分布之间的差异程度 衡量两个分布之间的差异程度。
  2. 两个分布差异越小,KL散度越小;反之亦反。当两分布一致时,其KL散度为0。
  3. 正是因为其可以衡量两个分布之间的差异,所以在VAE、EM、GAN中均有使用到KL散度。

2.4.2 信息论角度的KL散度:

  1. KL散度在信息论中的专业术语为相对熵。
  2. KL散度可理解为 编 码 系 统 对 信 息 进 行 编 码 时 所 需 要 的 平 均 附 加 信 息 量 \color{red}编码系统对信息进行编码时所需要的平均附加信息量 编码系统对信息进行编码时所需要的平均附加信息量。
    1. 其中信息量的单位随着计算公式中log运算的底数而变化。

      • log底数为2:单位为比特(bit)
      • log底数为e:单位为奈特(nat)
    2. 参考阅读:
      • 英文版:Kullback-Leibler Divergence Explained
      • 英文版中文翻译: 解释Kullback-Leibler散度

2.5 连续随机变量的KL散度

2.5.1 一维高斯分布的随机变量KL散度

  1. 定义
    假设 p p p和 q q q均是服从 N ( μ 1 , σ 1 2 ) N (μ_1,σ^2_1) N(μ1​,σ12​)和 N ( μ 2 , σ 2 2 ) N (μ_2,σ^2_2) N(μ2​,σ22​)的随机变量的概率密度函数 (probability density function) ,则从 q q q到 p p p的KL散度定义为:
    D K L ( p ∥ q ) = ∫ [ log ⁡ ( p ( x ) ) − log ⁡ ( q ( x ) ) ] p ( x ) d x = ∫ [ p ( x ) log ⁡ ( p ( x ) ) − p ( x ) log ⁡ ( q ( x ) ) ] d x (2.6) \color{red}\begin{aligned} D_{K L}(p \| q) &=\int[\log (p(x))-\log (q(x))] p(x) d x \\ &=\int[p(x) \log (p(x))-p(x) \log (q(x))] d x \end{aligned}\tag{2.6} DKL​(p∥q)​=∫[log(p(x))−log(q(x))]p(x)dx=∫[p(x)log(p(x))−p(x)log(q(x))]dx​(2.6)
  2. 化简公式
    已知正态分布的概率密度函数(probability density function)如下式:
    p ( x ) = 1 2 π σ 1 exp ⁡ ( − ( x − μ 1 ) 2 2 σ 1 2 ) q ( x ) = 1 2 π σ 2 exp ⁡ ( − ( x − μ 2 ) 2 2 σ 2 2 ) (2.7) \begin{aligned} p(x) &=\frac{1}{\sqrt{2 \pi} \sigma_{1}} \exp \left(-\frac{\left(x-\mu_{1}\right)^{2}}{2 \sigma_{1}^{2}}\right) \\ q(x) &=\frac{1}{\sqrt{2 \pi} \sigma_{2}} \exp \left(-\frac{\left(x-\mu_{2}\right)^{2}}{2 \sigma_{2}^{2}}\right) \end{aligned}\tag{2.7} p(x)q(x)​=2π ​σ1​1​exp(−2σ12​(x−μ1​)2​)=2π ​σ2​1​exp(−2σ22​(x−μ2​)2​)​(2.7)

    • 公式(2.6)第一项 ∫ p ( x ) log ⁡ ( p ( x ) ) d x ∫p(x)\log (p(x))dx ∫p(x)log(p(x))dx计算如下:
      ∫ p ( x ) log ⁡ ( p ( x ) ) d x = ∫ p ( x ) log ⁡ [ 1 2 π σ 1 exp ⁡ ( − ( x − μ 1 ) 2 2 σ 1 2 ) ] d x = ∫ p ( x ) [ log ⁡ 1 2 π σ 1 + log ⁡ exp ⁡ ( − ( x − μ 1 ) 2 2 σ 1 2 ) ] d x = − 1 2 log ⁡ ( 2 π σ 1 2 ) + ∫ p ( x ) ( − ( x − μ 1 ) 2 2 σ 1 2 ) d x = − 1 2 log ⁡ ( 2 π σ 1 2 ) − ∫ p ( x ) x 2 d x − ∫ p ( x ) 2 x μ 1 d x + ∫ p ( x ) μ 1 2 d x 2 σ 1 2 = − 1 2 log ⁡ ( 2 π σ 1 2 ) − ( μ 1 2 + σ 1 2 ) − ( 2 μ 1 × μ 1 ) + μ 1 2 2 σ 1 2 = − 1 2 [ 1 + log ⁡ ( 2 π σ 1 2 ) ] (2.8) \begin{aligned} \int p(x) \log (p(x)) d x &=\int p(x) \log \left[\frac{1}{\sqrt{2 \pi} \sigma_{1}} \exp \left(-\frac{\left(x-\mu_{1}\right)^{2}}{2 \sigma_{1}^{2}}\right)\right] d x \\ &=\int p(x)\left[\log \frac{1}{\sqrt{2 \pi} \sigma_{1}}+\log \exp \left(-\frac{\left(x-\mu_{1}\right)^{2}}{2 \sigma_{1}^{2}}\right)\right] d x \\ &=-\frac{1}{2} \log \left(2 \pi \sigma_{1}^{2}\right)+\int p(x)\left(-\frac{\left(x-\mu_{1}\right)^{2}}{2 \sigma_{1}^{2}}\right) d x \\ &=-\frac{1}{2} \log \left(2 \pi \sigma_{1}^{2}\right)-\frac{\int p(x) x^{2} d x-\int p(x) 2 x \mu_{1} d x+\int p(x) \mu_{1}^{2} d x}{2 \sigma_{1}^{2}} \\ &=-\frac{1}{2} \log \left(2 \pi \sigma_{1}^{2}\right)-\frac{\left(\mu_{1}^{2}+\sigma_{1}^{2}\right)-\left(2 \mu_{1} \times \mu_{1}\right)+\mu_{1}^{2}}{2 \sigma_{1}^{2}} \\ &=-\frac{1}{2}\left[1+\log \left(2 \pi \sigma_{1}^{2}\right)\right] \end{aligned}\tag{2.8} ∫p(x)log(p(x))dx​=∫p(x)log[2π ​σ1​1​exp(−2σ12​(x−μ1​)2​)]dx=∫p(x)[log2π ​σ1​1​+logexp(−2σ12​(x−μ1​)2​)]dx=−21​log(2πσ12​)+∫p(x)(−2σ12​(x−μ1​)2​)dx=−21​log(2πσ12​)−2σ12​∫p(x)x2dx−∫p(x)2xμ1​dx+∫p(x)μ12​dx​=−21​log(2πσ12​)−2σ12​(μ12​+σ12​)−(2μ1​×μ1​)+μ12​​=−21​[1+log(2πσ12​)]​(2.8)
    • 公式(2.6)第二项可以同第一项按照类似的方式进行展开化简,如下:
      ∫ p ( x ) log ⁡ ( q ( x ) ) d x = ∫ p ( x ) log ⁡ [ 1 2 π σ 2 exp ⁡ ( − ( x − μ 2 ) 2 2 σ 2 2 ) ] d x = ∫ p ( x ) [ log ⁡ 1 2 π σ 2 + log ⁡ exp ⁡ ( − ( x − μ 2 ) 2 2 σ 2 2 ) ] d x = − 1 2 log ⁡ ( 2 π σ 2 2 ) + ∫ p ( x ) ( − ( x − μ 2 ) 2 2 σ 2 2 ) d x = − 1 2 log ⁡ ( 2 π σ 2 2 ) − ∫ p ( x ) x 2 d x − ∫ p ( x ) 2 x μ 2 d x + ∫ p ( x ) μ 2 2 d x 2 σ 2 2 = − 1 2 log ⁡ ( 2 π σ 2 2 ) − ( μ 1 2 + σ 1 2 ) − ( 2 μ 2 × μ 1 ) + μ 2 2 2 σ 2 2 = − 1 2 log ⁡ ( 2 π σ 2 2 ) − σ 1 2 + ( μ 1 − μ 2 ) 2 2 σ 2 2 (2.9) \begin{aligned} \int p(x) \log (q(x)) d x &=\int p(x) \log \left[\frac{1}{\sqrt{2 \pi} \sigma_{2}} \exp \left(-\frac{\left(x-\mu_{2}\right)^{2}}{2 \sigma_{2}^{2}}\right)\right] d x \\ &=\int p(x)\left[\log \frac{1}{\sqrt{2 \pi} \sigma_{2}}+\log \exp \left(-\frac{\left(x-\mu_{2}\right)^{2}}{2 \sigma_{2}^{2}}\right)\right] d x \\ &=-\frac{1}{2} \log \left(2 \pi \sigma_{2}^{2}\right)+\int p(x)\left(-\frac{\left(x-\mu_{2}\right)^{2}}{2 \sigma_{2}^{2}}\right) d x \\ &=-\frac{1}{2} \log \left(2 \pi \sigma_{2}^{2}\right)-\frac{\int p(x) x^{2} d x-\int p(x) 2 x \mu_{2} d x+\int p(x) \mu_{2}^{2} d x}{2 \sigma_{2}^{2}} \\ &=-\frac{1}{2} \log \left(2 \pi \sigma_{2}^{2}\right)-\frac{\left(\mu_{1}^{2}+\sigma_{1}^{2}\right)-\left(2 \mu_{2} \times \mu_{1}\right)+\mu_{2}^{2}}{2 \sigma_{2}^{2}} \\ &=-\frac{1}{2} \log \left(2 \pi \sigma_{2}^{2}\right)-\frac{\sigma_{1}^{2}+\left(\mu_{1}-\mu_{2}\right)^{2}}{2 \sigma_{2}^{2}}\end{aligned}\tag{2.9} ∫p(x)log(q(x))dx​=∫p(x)log[2π ​σ2​1​exp(−2σ22​(x−μ2​)2​)]dx=∫p(x)[log2π ​σ2​1​+logexp(−2σ22​(x−μ2​)2​)]dx=−21​log(2πσ22​)+∫p(x)(−2σ22​(x−μ2​)2​)dx=−21​log(2πσ22​)−2σ22​∫p(x)x2dx−∫p(x)2xμ2​dx+∫p(x)μ22​dx​=−21​log(2πσ22​)−2σ22​(μ12​+σ12​)−(2μ2​×μ1​)+μ22​​=−21​log(2πσ22​)−2σ22​σ12​+(μ1​−μ2​)2​​(2.9)
    • 简化一维高斯分布的随机变量KL散度公式如下:
      K L ( p , q ) = ∫ [ p ( x ) log ⁡ ( p ( x ) ) − p ( x ) log ⁡ ( q ( x ) ) ] d x = − 1 2 [ 1 + log ⁡ ( 2 π σ 1 2 ) ] − [ − 1 2 log ⁡ ( 2 π σ 2 2 ) − σ 1 2 + ( μ 1 − μ 2 ) 2 2 σ 2 2 ] = log ⁡ σ 2 σ 1 + σ 1 2 + ( μ 1 − μ 2 ) 2 2 σ 2 2 − 1 2 (2.10) \color{red}\begin{aligned}K L(p, q) &=\int[p(x) \log (p(x))-p(x) \log (q(x))] d x \\ &=-\frac{1}{2}\left[1+\log \left(2 \pi \sigma_{1}^{2}\right)\right]-\left[-\frac{1}{2} \log \left(2 \pi \sigma_{2}^{2}\right)-\frac{\sigma_{1}^{2}+\left(\mu_{1}-\mu_{2}\right)^{2}}{2 \sigma_{2}^{2}}\right] \\ &=\log \frac{\sigma_{2}}{\sigma_{1}}+\frac{\sigma_{1}^{2}+\left(\mu_{1}-\mu_{2}\right)^{2}}{2 \sigma_{2}^{2}}-\frac{1}{2}\end{aligned}\tag{2.10} KL(p,q)​=∫[p(x)log(p(x))−p(x)log(q(x))]dx=−21​[1+log(2πσ12​)]−[−21​log(2πσ22​)−2σ22​σ12​+(μ1​−μ2​)2​]=logσ1​σ2​​+2σ22​σ12​+(μ1​−μ2​)2​−21​​(2.10)

2.5.2 多元高斯分布的随机变量KL散度

  1. 假设多元高斯分布 p p p和 q q q:
    p ( x ) ∼ N ( μ 1 , Σ 1 2 ) = 1 ( 2 π ) N / 2 ∣ Σ 1 ∣ 1 / 2 exp ⁡ ( − 1 2 ( x − μ 1 ) T Σ 1 − 1 ( x − μ 1 ) ) q ( x ) ∼ N ( μ 2 , Σ 2 2 ) = 1 ( 2 π ) N / 2 ∣ Σ 2 ∣ 1 / 2 exp ⁡ ( − 1 2 ( x − μ 2 ) T Σ 2 − 1 ( x − μ 2 ) ) (2.11) \begin{aligned} &p(x) \sim N\left(\mu_{1}, \Sigma_{1}^{2}\right) = \frac{1}{(2 \pi)^{N / 2}\left|\Sigma_{1}\right|^{1 / 2}} \exp \left(-\frac{1}{2}\left(x-\mu_{1}\right)^{T} \Sigma_{1}^{-1}\left(x-\mu_{1}\right)\right) \\ &q(x) \sim N\left(\mu_{2}, \Sigma_{2}^{2}\right) = \frac{1}{(2 \pi)^{N / 2}\left|\Sigma_{2}\right|^{1 / 2}} \exp \left(-\frac{1}{2}\left(x-\mu_{2}\right)^{T} \Sigma_{2}^{-1}\left(x-\mu_{2}\right)\right) \end{aligned}\tag{2.11} ​p(x)∼N(μ1​,Σ12​)=(2π)N/2∣Σ1​∣1/21​exp(−21​(x−μ1​)TΣ1−1​(x−μ1​))q(x)∼N(μ2​,Σ22​)=(2π)N/2∣Σ2​∣1/21​exp(−21​(x−μ2​)TΣ2−1​(x−μ2​))​(2.11)
    其中 μ 1 , μ 2 \mu_{1}, \mu_{2} μ1​,μ2​为均值, Σ 1 , Σ 2 \Sigma_{1}, \Sigma_{2} Σ1​,Σ2​为方差。协方差矩阵 Σ \Sigma Σ满足对称正定性质, N N N为多元变量 x x x的维数:
    μ 1 , μ 2 ∈ R N × 1 Σ 1 , Σ 2 ∈ R N × N (2.12) \begin{aligned} & \mu_{1}, \mu_{2} \in \mathbb{R}^{N \times 1} \\ &\Sigma_{1}, \Sigma_{2} \in \mathbb{R}^{N \times N} \end{aligned}\tag{2.12} ​μ1​,μ2​∈RN×1Σ1​,Σ2​∈RN×N​(2.12)
  2. 多元高斯分布随机变量的KL散度写为(推导与一维高斯分布的随机变量KL散度相似):
    D K L ( p ( x ) ∣ ∣ q ( x ) ) = ∫ p ( x ) log ⁡ p ( x ) q ( x ) d x = E p ( x ) [ log ⁡ p ( x ) − log ⁡ q ( x ) ] = 1 2 E p ( x ) [ − log ⁡ det ⁡ Σ 1 − ( x − μ 1 ) T Σ 1 − 1 ( x − μ 1 ) + log ⁡ det ⁡ Σ 2 + ( x − μ 2 ) T Σ 2 − 1 ( x − μ 2 ) ] = 1 2 log ⁡ det ⁡ Σ 2 det ⁡ Σ 1 + 1 2 E p ( x ) [ − ( x − μ 1 ) T Σ 1 − 1 ( x − μ 1 ) + ( x − μ 2 ) T Σ 2 − 1 ( x − μ 2 ) ] = 1 2 log ⁡ det ⁡ Σ 2 det ⁡ Σ 1 + 1 2 E p ( x ) { − t r [ Σ 1 − 1 ( x − μ 1 ) ( x − μ 1 ) T ] + t r [ Σ 2 − 1 ( x − μ 2 ) ( x − μ 2 ) T ] } = 1 2 log ⁡ det ⁡ Σ 2 det ⁡ Σ 1 − 1 2 t r { E p ( x ) [ Σ 1 − 1 ( x − μ 1 ) ( x − μ 1 ) T ] } + 1 2 t r { E p ( x ) [ Σ 2 − 1 ( x − μ 2 ) ( x − μ 2 ) T ] } = 1 2 log ⁡ det ⁡ Σ 2 det ⁡ Σ 1 − N 2 + 1 2 t r { E p ( x ) [ Σ 2 − 1 ( x x T − μ 2 x T − x μ 2 T + μ 2 μ 2 T ) ] } = 1 2 log ⁡ det ⁡ Σ 2 det ⁡ Σ 1 − N 2 + 1 2 t r [ Σ 2 − 1 ( Σ 1 + μ 1 μ 1 T − μ 2 μ 1 T − μ 1 μ 2 T + μ 2 μ 2 T ) ] = 1 2 log ⁡ det ⁡ Σ 2 det ⁡ Σ 1 − N 2 + 1 2 t r ( Σ 2 − 1 Σ 1 ) + 1 2 t r [ Σ 2 − 1 ( μ 1 μ 1 T − μ 2 μ 1 T − μ 1 μ 2 T + μ 2 μ 2 T ) ] = 1 2 { log ⁡ det ⁡ Σ 2 det ⁡ Σ 1 − N + t r ( Σ 2 − 1 Σ 1 ) + t r ( μ 1 T Σ 2 − 1 μ 1 − μ 1 T Σ 2 − 1 μ 2 − μ 2 T Σ 2 − 1 μ 1 + μ 2 T Σ 2 − 1 μ 2 ) } = 1 2 { log ⁡ det ⁡ Σ 2 det ⁡ Σ 1 − N + t r ( Σ 2 − 1 Σ 1 ) + t r ( μ 1 T Σ 2 − 1 μ 1 − 2 μ 1 T Σ 2 − 1 μ 2 + μ 2 T Σ 2 − 1 μ 2 ) } = 1 2 { log ⁡ det ⁡ Σ 2 det ⁡ Σ 1 − N + t r ( Σ 2 − 1 Σ 1 ) + ( μ 2 − μ 1 ) T Σ 2 − 1 ( μ 2 − μ 1 ) } (2.13) \begin{aligned} &\quad D_{KL}(p(x)||q(x))=\int p(x) \log \frac{p(x)}{q(x)} dx=\mathbb{E}_{p(x)}[\log p(x)-\log q(x)]\\ &=\frac{1}{2}\mathbb{E}_{p(x)}[-\log\det \Sigma_1-(x-\mu_1)^T\Sigma_1^{-1}(x-\mu_1)+\log\det \Sigma_2+(x-\mu_2)^T\Sigma_2^{-1}(x-\mu_2)]\\ &=\frac{1}{2}\log \frac{\det \Sigma_2}{\det \Sigma_1}+\frac{1}{2}\mathbb{E}_{p(x)}[-(x-\mu_1)^T\Sigma_1^{-1}(x-\mu_1)+(x-\mu_2)^T\Sigma_2^{-1}(x-\mu_2)]\\ &=\frac{1}{2}\log \frac{\det \Sigma_2}{\det \Sigma_1}+\frac{1}{2}\mathbb{E}_{p(x)}\{-tr[\Sigma_1^{-1}(x-\mu_1)(x-\mu_1)^T]+tr[\Sigma_2^{-1}(x-\mu_2)(x-\mu_2)^T]\}\\ &=\frac{1}{2}\log \frac{\det \Sigma_2}{\det \Sigma_1}-\frac{1}{2}tr\{\mathbb{E}_{p(x)}[\Sigma_1^{-1}(x-\mu_1)(x-\mu_1)^T]\} +\frac{1}{2}tr\{\mathbb{E}_{p(x)}[\Sigma_2^{-1}(x-\mu_2)(x-\mu_2)^T]\}\\ &=\frac{1}{2}\log \frac{\det \Sigma_2}{\det \Sigma_1}-\frac{N}{2} +\frac{1}{2}tr\{\mathbb{E}_{p(x)}[\Sigma_2^{-1}(xx^T-\mu_2x^T-x\mu_2^T+\mu_2\mu_2^T)]\}\\ &=\frac{1}{2}\log \frac{\det \Sigma_2}{\det \Sigma_1}-\frac{N}{2} +\frac{1}{2}tr[\Sigma_2^{-1}(\Sigma_1+\mu_1\mu_1^T-\mu_2\mu_1^T-\mu_1\mu_2^T+\mu_2\mu_2^T)]\\ &=\frac{1}{2}\log \frac{\det \Sigma_2}{\det \Sigma_1}-\frac{N}{2} +\frac{1}{2}tr(\Sigma_2^{-1}\Sigma_1)+\frac{1}{2}tr[\Sigma_2^{-1}(\mu_1\mu_1^T-\mu_2\mu_1^T-\mu_1\mu_2^T+\mu_2\mu_2^T)]\\ &=\frac{1}{2}\{\log \frac{\det \Sigma_2}{\det \Sigma_1}-N +tr(\Sigma_2^{-1}\Sigma_1)+tr(\mu_1^T\Sigma_2^{-1}\mu_1-\mu_1^T\Sigma_2^{-1}\mu_2-\mu_2^T\Sigma_2^{-1}\mu_1+\mu_2^T\Sigma_2^{-1}\mu_2)\}\\ &=\frac{1}{2}\{\log \frac{\det \Sigma_2}{\det \Sigma_1}-N +tr(\Sigma_2^{-1}\Sigma_1)+tr(\mu_1^T\Sigma_2^{-1}\mu_1-2\mu_1^T\Sigma_2^{-1}\mu_2+\mu_2^T\Sigma_2^{-1}\mu_2)\}\\ &=\frac{1}{2}\{\log \frac{\det \Sigma_2}{\det \Sigma_1}-N +tr(\Sigma_2^{-1}\Sigma_1)+(\mu_2-\mu_1)^T\Sigma_2^{-1}(\mu_2-\mu_1)\}\\ \end{aligned}\tag{2.13} ​DKL​(p(x)∣∣q(x))=∫p(x)logq(x)p(x)​dx=Ep(x)​[logp(x)−logq(x)]=21​Ep(x)​[−logdetΣ1​−(x−μ1​)TΣ1−1​(x−μ1​)+logdetΣ2​+(x−μ2​)TΣ2−1​(x−μ2​)]=21​logdetΣ1​detΣ2​​+21​Ep(x)​[−(x−μ1​)TΣ1−1​(x−μ1​)+(x−μ2​)TΣ2−1​(x−μ2​)]=21​logdetΣ1​detΣ2​​+21​Ep(x)​{−tr[Σ1−1​(x−μ1​)(x−μ1​)T]+tr[Σ2−1​(x−μ2​)(x−μ2​)T]}=21​logdetΣ1​detΣ2​​−21​tr{Ep(x)​[Σ1−1​(x−μ1​)(x−μ1​)T]}+21​tr{Ep(x)​[Σ2−1​(x−μ2​)(x−μ2​)T]}=21​logdetΣ1​detΣ2​​−2N​+21​tr{Ep(x)​[Σ2−1​(xxT−μ2​xT−xμ2T​+μ2​μ2T​)]}=21​logdetΣ1​detΣ2​​−2N​+21​tr[Σ2−1​(Σ1​+μ1​μ1T​−μ2​μ1T​−μ1​μ2T​+μ2​μ2T​)]=21​logdetΣ1​detΣ2​​−2N​+21​tr(Σ2−1​Σ1​)+21​tr[Σ2−1​(μ1​μ1T​−μ2​μ1T​−μ1​μ2T​+μ2​μ2T​)]=21​{logdetΣ1​detΣ2​​−N+tr(Σ2−1​Σ1​)+tr(μ1T​Σ2−1​μ1​−μ1T​Σ2−1​μ2​−μ2T​Σ2−1​μ1​+μ2T​Σ2−1​μ2​)}=21​{logdetΣ1​detΣ2​​−N+tr(Σ2−1​Σ1​)+tr(μ1T​Σ2−1​μ1​−2μ1T​Σ2−1​μ2​+μ2T​Σ2−1​μ2​)}=21​{logdetΣ1​detΣ2​​−N+tr(Σ2−1​Σ1​)+(μ2​−μ1​)TΣ2−1​(μ2​−μ1​)}​(2.13)

    其中运用到的一些矩阵等式:

    1. E p ( ⋅ ) Ep(⋅) Ep(⋅)代表⋅在概率密度函数 p ( x ) p(x) p(x)的期望。多元正态分布下期望矩阵化的表示
      E ( x T A x ) = t r ( A Σ ) + μ T A μ (2.14) \color{blue}E(x^TAx)=tr(AΣ)+μ^TAμ\tag{2.14} E(xTAx)=tr(AΣ)+μTAμ(2.14)
    2. 矩阵的迹的性质
      矩阵线性组合迹不变:  tr ⁡ ( α A + β B ) = α tr ⁡ ( A ) + β tr ⁡ ( B ) 矩阵转置迹不变:  tr ⁡ ( A ) = tr ⁡ ( A T ) 两方阵相乘交换迹不变:  tr ⁡ ( A B ) = tr ⁡ ( B A ) 轮换不变性:  tr ⁡ ( A B C ) = tr ⁡ ( B C A ) = tr ⁡ ( C A B ) (2.15) \color{blue}\begin{array}{l} \text { 矩阵线性组合迹不变: } \operatorname{tr}(\alpha A+\beta B)=\alpha \operatorname{tr}(A)+\beta \operatorname{tr}(B)\\ \text { 矩阵转置迹不变: } \operatorname{tr}(A)=\operatorname{tr}\left(A^{T}\right)\\ \text { 两方阵相乘交换迹不变: } \operatorname{tr}(A B)=\operatorname{tr}(B A)\\ \text { 轮换不变性: } \operatorname{tr}(A B C)=\operatorname{tr}(B C A)=\operatorname{tr}(C A B) \end{array}\tag{2.15}  矩阵线性组合迹不变: tr(αA+βB)=αtr(A)+βtr(B) 矩阵转置迹不变: tr(A)=tr(AT) 两方阵相乘交换迹不变: tr(AB)=tr(BA) 轮换不变性: tr(ABC)=tr(BCA)=tr(CAB)​(2.15)
    3. 对于列向量 λ \lambda λ, λ T A λ \lambda^TA\lambda λTAλ的结果是一个标量,而标量的迹就是这个标量,即 t r ( λ T A λ ) = λ T A λ tr(\lambda^TA\lambda)=\lambda^TA\lambda tr(λTAλ)=λTAλ,因此
      λ T A λ = t r ( λ T A λ ) = t r ( A λ λ T ) (2.16) \color{blue}\lambda^TA\lambda=tr(\lambda^TA\lambda)=tr(A\lambda\lambda^T)\tag{2.16} λTAλ=tr(λTAλ)=tr(AλλT)(2.16)
    4. 多元高斯分布中均值 μ μ μ和方差 Σ Σ Σ的性质:
      E [ x x T ] = Σ + μ μ T (2.17) \color{blue}E[xx^T]=Σ+μμ^T\tag{2.17} E[xxT]=Σ+μμT(2.17)
      E ( x T A x ) = t r ( A Σ ) + μ T A μ (2.18) \color{blue}E(x^TAx)=tr(AΣ)+μ^TAμ\tag{2.18} E(xTAx)=tr(AΣ)+μTAμ(2.18)

因此:
D K L ( p ∥ q ) = 1 2 log ⁡ ∣ Σ 2 ∣ ∣ Σ 1 ∣ + 1 2 E p ( x ) [ ( x − μ 2 ) T Σ 2 − 1 ( x − μ 2 ) − ( x − μ 1 ) T Σ 1 − 1 ( x − μ 1 ) ] = 1 2 log ⁡ ∣ Σ 2 ∣ ∣ Σ 1 ∣ + 1 2 tr ⁡ ( Σ 2 − 1 Σ 1 ) + ( μ 1 − μ 2 ) T Σ 2 − 1 ( μ 1 − μ 2 ) T − 1 2 N (2.19) \color{red}\begin{aligned} D_{K L}(p \| q)=& \frac{1}{2} \log \frac{\left|\Sigma_{2}\right|}{\left|\Sigma_{1}\right|}+\frac{1}{2} E_{p(x)}\left[\left(x-\mu_{2}\right)^{T} \Sigma_{2}^{-1}\left(x-\mu_{2}\right)-\left(x-\mu_{1}\right)^{T} \Sigma_{1}^{-1}\left(x-\mu_{1}\right)\right] \\ =& \frac{1}{2} \log \frac{\left|\Sigma_{2}\right|}{\left|\Sigma_{1}\right|}+\frac{1}{2} \operatorname{tr}\left(\Sigma_{2}^{-1} \Sigma_{1}\right)+\left(\mu_{1}-\mu_{2}\right)^{T} \Sigma_{2}^{-1}\left(\mu_{1}-\mu_{2}\right)^{T}-\frac{1}{2} N\end{aligned}\tag{2.19} DKL​(p∥q)==​21​log∣Σ1​∣∣Σ2​∣​+21​Ep(x)​[(x−μ2​)TΣ2−1​(x−μ2​)−(x−μ1​)TΣ1−1​(x−μ1​)]21​log∣Σ1​∣∣Σ2​∣​+21​tr(Σ2−1​Σ1​)+(μ1​−μ2​)TΣ2−1​(μ1​−μ2​)T−21​N​(2.19)

参考:

  • 快速理解梯度,散度和旋度
  • 梯度、散度、旋度与矢量分析
  • Kullback-Leibler Divergence Explained
  • KL散度(Kullback-Leibler Divergence)介绍及详细公式推导

散度和KL散度的介绍相关推荐

  1. 如何理解K-L散度(相对熵)

    Kullback-Leibler Divergence,即K-L散度,是一种量化两种概率分布P和Q之间差异的方式,又叫相对熵.在概率学和统计学上,我们经常会使用一种更简单的.近似的分布来替代观察数据或 ...

  2. 信息量、信息熵、交叉熵、KL散度、JS散度、Wasserstein距离

    前两篇介绍了目标检测中的回归损失函数,本来这篇打算介绍目标检测中的分类损失函数.但是介绍classification loss function自然绕不过交叉熵,所以还是简单的把信息论中的一些概念在这 ...

  3. 一点对 KL 散度的理解

    在深度学习中经常用到的一个概念是 KL散度.之前对KL散度进行过一次理解,但后来随着利用次数的减少,开始忘却其具体的定义与物理意义,仅在印象中记得是"描述两个分布的相似度的度量". ...

  4. 机器学习:KL散度详解

    KL 散度,是一个用来衡量两个概率分布的相似性的一个度量指标. 我们知道,现实世界里的任何观察都可以看成表示成信息和数据,一般来说,我们无法获取数据的总体,我们只能拿到数据的部分样本,根据数据的部分样 ...

  5. AI入门:通俗讲解熵、交叉熵和 KL 散度

    全文共 4351 字,23 幅图, 预计阅读时间 22 分钟. 本文被以下三份资料所启发,纯纯的致敬! [Christopher Colah] - Visual Information Theory ...

  6. 【Pytorch神经网络理论篇】 21 信息熵与互信息:联合熵+条件熵+交叉熵+相对熵/KL散度/信息散度+JS散度

    1 信息熵 熵 (Entropy),信息熵:常被用来作为一个系统的信息含量的量化指标,从而可以进一步用来作为系统方程优化的目标或者参数选择的判据. 1.1 信息熵的性质 单调性,发生概率越高的事件,其 ...

  7. kl散度度量分布_数据挖掘比赛技巧——确定数据同分布

    在数据挖掘比赛中,很重要的一个技巧就是要确定训练集与测试集特征是否同分布,这也是机器学习的一个很重要的假设[1].但很多时候我们知道这个道理,却很难有方法来保证数据同分布,这篇文章就分享一下我所了解的 ...

  8. 相对熵与交叉熵_熵、KL散度、交叉熵

    公众号关注 "ML_NLP"设为 "星标",重磅干货,第一时间送达! 机器学习算法与自然语言处理出品 @公众号原创专栏作者 思婕的便携席梦思 单位 | 哈工大S ...

  9. kl散度与js散度_数据集相似度度量之KLamp;JS散度

    一.KL散度 1.什么是KL散度 KL散度又叫相对熵,是描述两个概率分布差异的一种方法,有人将KL散度称为KL距离,但实际上它不满足距离概念中的两个条件,a.对称性,即D(P||Q)=D(Q||P); ...

最新文章

  1. 字节序是什么?(大小端 Big endian Little endian)
  2. 向大厂看齐!为自己的程序增加自动转储的功能!
  3. 易汉博承建的数据库再发Nature子刊
  4. HTML5媒体(音频/视频)
  5. python原理及代码_链表的基本原理及Python代码的实现,与,python
  6. 源码追踪,解决Could not locate executable null\bin\winutils.exe in the Hadoop binaries.问题
  7. gcc编译器_2020好用的C++编译器有哪些?这几款值得下载
  8. 一文告诉你Java素数怎么判断
  9. python 下载google文件
  10. 【python pcl】Windows 10 python pcl 安装与测试
  11. 珠宝电商探索之路实战分享
  12. java spring 中 每小时一次_spring 定时任务的 执行时间设置规则
  13. 浅谈浏览器插件检测 和自定义协议的支持
  14. Android 电子罗盘 --指南针(方向传感器的应用)
  15. python怎样分析文献综述_教你如何做文献综述
  16. 西电 操作系统课设 在Ubuntu18.04安装pintos
  17. FirmAE安装指北
  18. 网易互动直播2.0 开发 十二 视频设备管理
  19. Primary Arithmetic
  20. 五个python小练习

热门文章

  1. 几款免费的数据恢复软件测试
  2. android 改变来电号码,Android8.1 MTK平台 Dialer修改(来电全屏、归属地显示)
  3. IP网络设备的测试方法
  4. 模型转换、模型压缩、模型加速工具汇总
  5. Linux计划任务管理
  6. 第七章 射频信号源
  7. C语言 输入月份,输出该月有多少天(假设不考虑闰年的情况下)。
  8. Python 生成验证码图片
  9. rpa操作excel_全面解析RPA与Excel宏的区别
  10. 如何获取支付宝小程序的appid