最大似然估计、KL散度和交叉熵

news/2024/11/29 13:45:29/

深度学习建立在概率论的基础上,本质是估计数据集(具有随机误差)的分布,即定义模型后进行参数估计。

极大似然估计

极大似然估计是点估计的一种,我们定义一个似然函数来作为对真实分布的估计,取似然程度最大的一组参数作为估计值。

给定分布 p ( x ; θ ) p(x; \boldsymbol{\theta}) p(x;θ),从中取一组样本 X 1 , X 2 , X 3 , . . . , X n X_1, X_2, X_3, ..., X_n X1,X2,X3,...,Xn,则样本的 p d f pdf pdf
L ( θ ; X 1 , X 2 , X 3 , . . . , X n ) = ∏ i n p ( x i ; θ ) L(\boldsymbol{\theta};X_1, X_2, X_3, ..., X_n) = \prod_{i}^{n} p(x_i;\boldsymbol{\theta}) L(θ;X1,X2,X3,...,Xn)=inp(xi;θ)
其中,参数 θ \boldsymbol{\theta} θ未知, L L L即为似然函数
该问题也就转化为,在观测到一组样本 X 1 , X 2 , X 3 , . . . , X n X_1, X_2, X_3, ..., X_n X1,X2,X3,...,Xn时, θ \boldsymbol{\theta} θ取什么值会使样本出现的可能性最大,也就是求 L L L最大时的参数 θ \boldsymbol{\theta} θ值。
a r g max ⁡ θ ∏ i n p ( x i ; θ ) arg\max_{\theta}\prod_{i}^{n} p(x_i;\boldsymbol{\theta}) argθmaxinp(xi;θ)
求积转为求和的对数,便于计算
a r g max ⁡ θ ∑ i n log ⁡ p ( x i ; θ ) = a r g min ⁡ θ − ∑ i n log ⁡ p ( x i ; θ ) arg\max_{\theta}\sum_{i}^{n}\log{p(x_i;\boldsymbol{\theta})} = arg\min_{\theta} - \sum_{i}^{n}\log{p(x_i;\boldsymbol{\theta})} argθmaxinlogp(xi;θ)=argθmininlogp(xi;θ)

KL散度 & 交叉熵

从另一个角度来讲,如何衡量 p θ p_{\theta} pθ p θ ^ p_{\hat\theta} pθ^的差异呢?使用f-divergence中的KL散度来进行衡量。

KL散度定义为
D K L ( p θ ∣ ∣ p θ ^ ) = ∑ i n p θ ( x i ) log ⁡ p θ ( x i ) p θ ^ ( x i ) = ∑ i n p θ ( x i ) log ⁡ p θ ( x i ) − ∑ i n p θ ( x i ) log ⁡ p θ ^ ( x i ) D_{KL}(p_{\theta}||p_{\hat\theta}) = \sum_i^n p_{\theta}(x_i) \log \frac{p_{\theta}(x_i)}{p_{\hat\theta}(x_i)}= \sum_i^n p_{\theta}(x_i) \log {p_{\theta}(x_i)} - \sum_i^np_{\theta}(x_i) \log {p_{\hat\theta}(x_i)} DKL(pθpθ^)=inpθ(xi)logpθ^(xi)pθ(xi)=inpθ(xi)logpθ(xi)inpθ(xi)logpθ^(xi)
其中,
∑ i n p θ ( x i ) log ⁡ p θ ( x i ) \sum_i^n p_{\theta}(x_i) \log {p_{\theta}}(x_i) inpθ(xi)logpθ(xi)为常量。

因此,问题就转化为
a r g min ⁡ − ∑ i n p θ ( x i ) log ⁡ p θ ^ ( x i ) = a r g min ⁡ θ − E x log ⁡ p θ ^ ( x ) arg \min - \sum_i^np_{\theta}(x_i) \log {p_{\hat\theta}}(x_i) = arg \min_{\boldsymbol\theta} -E_x\log{p_{\hat\theta}}(\boldsymbol{x}) argmininpθ(xi)logpθ^(xi)=argθminExlogpθ^(x)
该式子也是交叉熵

结论

根据大数定理,
∑ i n log ⁡ p ( x i ; θ ) = E x log ⁡ p θ ^ ( x ) \sum_{i}^{n}\log{p(x_i;\boldsymbol{\theta})} = E_x\log{p_{\hat\theta}}(\boldsymbol{x}) inlogp(xi;θ)=Exlogpθ^(x)

也就是在本问题中,求极大似然估计、最小化KL散度和最小化交叉熵等价


大数定理

X 1 , X 2 , X 3 . . . X_1, X_2, X_3... X1,X2,X3...为独立同分布(iid)的随机变量,且 E ( X ) = μ , V a r X = σ 2 < ∞ E(X)=\mu, Var X = \sigma^2 < \infty E(X)=μ,VarX=σ2<,定义 X n ˉ = ∑ i n X i \bar{X_n} = \sum_i^n X_i Xnˉ=inXi,则有
lim ⁡ n → ∞ P ( ∣ X n ˉ − μ ∣ > ϵ ) = 0 \lim_{n\to\infty}P(|\bar{X_n}-\mu| > \epsilon) = 0 nlimP(Xnˉμ>ϵ)=0

f-divergence(f-散度)

在概率论中,f散度是用来测量两个分布P和Q之间差异的函数,定义为
D f ( P ∣ ∣ Q ) = ∫ f ( d P d Q ) d Q D_f(P||Q) = \int f(\frac{dP}{dQ})dQ Df(PQ)=f(dQdP)dQ
若P和Q可导
D f ( P ∣ ∣ Q ) = ∫ f ( ( p ( x ) q ( x ) ) q ( x ) d x D_f(P||Q) = \int f(\frac{(p(x)}{q(x)}) q(x)dx Df(PQ)=f(q(x)(p(x))q(x)dx
f ( t ) f(t) f(t)取不同的函数时,即为不同的散度,KL散度取 f ( t ) = t log ⁡ ( t ) f(t) = t\log(t) f(t)=tlog(t)
D K L ( P ∣ ∣ Q ) = ∫ p ( x ) ( p ( x ) q ( x ) d x D_{KL}(P||Q) = \int p(x)\frac{(p(x)}{q(x)}dx DKL(PQ)=p(x)q(x)(p(x)dx

熵、KL散度和交叉熵

  • 熵: H ( X ) = − ∑ i n p ( x i ) log ⁡ p ( x i ) H(X)=-\sum_i^n p(x_i)\log p(x_i) H(X)=inp(xi)logp(xi),表示不确定程度,越不确定值越大
  • KL散度(相对熵): D K L ( p θ ∣ ∣ p θ ^ ) = ∑ i n p θ ( x i ) log ⁡ p θ ( x i ) − ∑ i n p θ ( x i ) log ⁡ p θ ^ ( x i ) D_{KL}(p_{\theta}||p_{\hat\theta}) = \sum_i^n p_{\theta}(x_i) \log {p_{\theta}(x_i)} - \sum_i^np_{\theta}(x_i) \log {p_{\hat\theta}(x_i)} DKL(pθpθ^)=inpθ(xi)logpθ(xi)inpθ(xi)logpθ^(xi)
  • 交叉熵: C E ( X ) = − ∑ i n p θ ( x i ) log ⁡ p θ ^ ( x i ) CE(X) = - \sum_i^np_{\theta}(x_i) \log {p_{\hat\theta}(x_i)} CE(X)=inpθ(xi)logpθ^(xi)
    从定义里可以看出,当熵为常量时,KL散度和交叉熵等价。

http://www.ppmy.cn/news/414665.html

相关文章

KL15和汽车各个档位

KL是德语Klemme的缩写&#xff0c;意思是ECU的管脚、接线柱&#xff0c;和Pin意思相同&#xff0c;后面的数字代表不同的电源模式。 KL15表示发动机的点火信号和启动车辆的信号&#xff0c;驾驶循环以此为准 KL15R&#xff0c;其中R表示Radio&#xff0c;用于启动车辆的仪表盘…

机器学习笔记之Sigmoid信念网络(三)KL散度角度观察醒眠算法

机器学习笔记之Sigmoid信念网络——KL散度角度观察醒眠算法 引言回顾&#xff1a; 醒眠算法过程 KL Divergence \text{KL Divergence} KL Divergence观察醒眠算法 引言 上一节介绍了MCMC以及平均场理论变分推断方法的弊端并介绍了醒眠算法(Weak-Sleep Algorithm)。本节将介绍从…

社区发现算法——KL算法

K-L&#xff08;Kernighan-Lin&#xff09;算法 原始论文(An efficient heuristic procedure for partitioning graphs) K-L&#xff08;Kernighan-Lin&#xff09;算法是一种将已知网络划分为已知大小的两个社区的二分方法&#xff0c;它是一种贪婪算法。 它的主要思想是为…

MPEG2和MPEG4视频编码的比较

1 MPEG-2技术 MPEG-2的初衷是为广播级电视质量&#xff08;CCIR601格式&#xff09;的视音频信号定义的压缩编码标准&#xff0c;但最终结果是成为了一个通用的标准&#xff0c;能在很大范围内对不同分辨率和不同输出比特率的图像信号进行有效编码。 MPEG-2的编码技术主要基于…

KL25嵌入式实验考核

KL25嵌入式实验考核&#xff08; 6/43 &#xff09; 404 页面找不到 说明资源在审核中... 1. 利用 KL25 小板实现:控制红色 LED 灯每隔 2 秒钟亮暗变换的同时 在 PC 机上显示 MCU 的计时时间&#xff0c;MCU 的初始时间由 PC 设置。/ 百度云备用&#xff1a;密码ub5t 2. 利…

Kullback-Leibler(KL)散度介绍

在这篇文章中&#xff0c;我们将探讨一种比较两个概率分布的方法&#xff0c;称为Kullback-Leibler散度(通常简称为KL散度)。通常在概率和统计中&#xff0c;我们会用更简单的近似分布来代替观察到的数据或复杂的分布。KL散度帮助我们衡量在选择近似值时损失了多少信息。 让我们…

关于PCA主成分分析与KL变换

最近看了PCA主成分分析,其中KL变化是其中的一种方法 具体的原理我转载了以下文章 http://blog.csdn.net/kingskyleader/article/details/7734710 先贴一记代码 clear all; close all; N=500; for i=1:Nx1(1,i)=-2+0.8*randn(1);x1(2,i)=-1+0.9*randn(1);x1(3,i)= 2+0.7*ran…

版图设计心得

过去的一周&#xff0c;经过没日没夜的layout&#xff0c;感觉自己确实成为了一名已经入门的layout machine。在这里总结一下layout的心得 版图设计的概念 版图设计的目的是把设计好的电路的原理图变成可以生产在硅片上的实际电路。最后经过版图提取形成gds文件格式&#xff…