深度学习建立在概率论的基础上,本质是估计数据集(具有随机误差)的分布,即定义模型后进行参数估计。
极大似然估计
极大似然估计是点估计的一种,我们定义一个似然函数来作为对真实分布的估计,取似然程度最大的一组参数作为估计值。
给定分布
p(x;θ),从中取一组样本
X1,X2,X3,...,Xn,则样本的
pdf为
L(θ;X1,X2,X3,...,Xn)=i∏np(xi;θ)
其中,参数
θ未知,
L即为似然函数。
该问题也就转化为,在观测到一组样本
X1,X2,X3,...,Xn时,
θ取什么值会使样本出现的可能性最大,也就是求
L最大时的参数
θ值。
argθmaxi∏np(xi;θ)
求积转为求和的对数,便于计算
argθmaxi∑nlogp(xi;θ)=argθmin−i∑nlogp(xi;θ)
KL散度 & 交叉熵
从另一个角度来讲,如何衡量
pθ和
pθ^的差异呢?使用f-divergence
中的KL散度来进行衡量。
KL散度定义为
DKL(pθ∣∣pθ^)=i∑npθ(xi)logpθ^(xi)pθ(xi)=i∑npθ(xi)logpθ(xi)−i∑npθ(xi)logpθ^(xi)
其中,
i∑npθ(xi)logpθ(xi)为常量。
因此,问题就转化为
argmin−i∑npθ(xi)logpθ^(xi)=argθmin−Exlogpθ^(x)
该式子也是交叉熵。
结论
根据大数定理,
i∑nlogp(xi;θ)=Exlogpθ^(x)
也就是在本问题中,求极大似然估计、最小化KL散度和最小化交叉熵等价。
注
大数定理
若
X1,X2,X3...为独立同分布(iid)的随机变量,且
E(X)=μ,VarX=σ2<∞,定义
Xnˉ=∑inXi,则有
n→∞limP(∣Xnˉ−μ∣>ϵ)=0
f-divergence(f-散度)
在概率论中,f散度是用来测量两个分布P和Q之间差异的函数,定义为
Df(P∣∣Q)=∫f(dQdP)dQ
若P和Q可导
Df(P∣∣Q)=∫f(q(x)(p(x))q(x)dx
当
f(t)取不同的函数时,即为不同的散度,KL散度取
f(t)=tlog(t)
DKL(P∣∣Q)=∫p(x)q(x)(p(x)dx
熵、KL散度和交叉熵
- 熵:
H(X)=−∑inp(xi)logp(xi),表示不确定程度,越不确定值越大
- KL散度(相对熵):
DKL(pθ∣∣pθ^)=∑inpθ(xi)logpθ(xi)−∑inpθ(xi)logpθ^(xi)
- 交叉熵:
CE(X)=−∑inpθ(xi)logpθ^(xi)
从定义里可以看出,当熵为常量时,KL散度和交叉熵等价。
转载:
https://blog.csdn.net/ice__snow/article/details/100985492