最大似然估计和CE的关系
本文最后更新于 2024年7月20日中午11点38分
最大似然估计和CE的关系
为了理解CE和最大似然法之间的关系, 首先理解基本概念.
信息量和熵
信息量
信息量衡量了时间的不确定性, 一个时间发生的概率越大, 不确定性就越小, 信息量就越少. 公式:
事件$x_0$, 事件发生的概率是$p(x_0)$, 若事件必然发生, $p(x_0)=1$, 信息量为0.
熵
熵衡量了系统的混乱程度和不确定性. 熵越大,不确定性越大, 信息量越大. 熵的计算公式:
其中事件变量X, $p(x_i)$表示事件$X=x_i$的概率, $- \log p(x_i)$就是事件$X=x_i$的信息量.
可以发现, 熵是信息量的期望, 各个事件发生概率乘以其信息量. 熵越大, X取值越难确定, 系统越不稳定.
相对熵 relative entropy
相对熵也称为KL散度(Kullback-Lerbler divergence), 表示一个随机变量的两个不同分布的距离. 假设$p(x)$和$q(x)$分别是离散随机变量X的两个分布概率, 则p相对于q的相对熵是:
相对熵的性质:
- 如果$p(x)$和$q(x)$的分布相同, 则其相对熵=0.
- 相对熵不具有对称性, $D_{KL}(p||q)!=D_{KL}(q||p)$
- $D_{KL}(p||q)\geq 0$
交叉熵 cross entropy
假设$p(x)$和$q(x)$分别是离散随机变量X的两个分布概率, 其中$p(x)$是目标分布, $q(x)$是预测分布, p和q的交叉熵可以看做, 使用预测分布表示目标分布的困难程度:
熵,交叉熵,相对熵的关系:
根据上面的三个公式, 下面很容易推导:
在机器学习中, 目标分布$p(x)$即真实分布是固定的, 所以$H(p)$是固定的, 最小化交叉熵等价于最小化相对熵.
交叉熵损失函数 CE loss
假设batch size=n, 是m分类问题, 交叉熵损失函数的公式:
其中$p(x_i)$是真实label, $q(x_i)$是预测label, $x_i$是一个batch中的第i个向量, $x_i^j$是第i个向量的第j个元素.
最大似然估计
最大似然估计是一种参数估计. 现在对某个变量X, 我们知道它分布服从某种分布形态(二项分布/正态分布/指数分布等),但是分布的具体参数不知道。
此时可以借助从总体抽样的方式,估计未知参数。
通过一个简单例子便于理解:
假设研究对象X的分布是二项分布,即0-1分布,其中1的概率是p。如果知道p的值,就知道了分布形态的全部。但现在只是到分布形态是二项分布, 不知道具体p值是什么. 就可以通过最大似然估计求p值.
具体方法是这样: 首先抽样, 得到样本集$X=[x_1, x_2, .., x_n]$, 包含n个样本, 独立同分布. 任何一个参数$x_i$的取值概率是$p(x_i|\theta)$, 其中$\theta$是这个分布函数的未知参数. (上例中x_i为0或者1, 未知参数是p)
则得到当前样本集的概率是:
这个$P(X)$是关于未知参数$\theta$的函数. 函数$P(X)$是参数$\theta$相对于样本集X的似然函数 likelihood, 可以写作:
因为现在抽取到样本集X已成为既定事实, 这个事件发生了, 我们可以假设这个事件发生的概率尽可能大, 即我们要求未知参数$\theta$的值, 让这个似然函数$L(\theta)$的取值尽可能大, 这就是最大似然估计.
最大似然估计: 找到让似然函数$L(\theta)$的取值尽可能大的$\theta$值, $argmax L(\theta)$.
在求极值之前, 先取似然函数的对数, 得到对数似然函数. 因为似然函数是多个项的乘积, 可能会是多个小数相乘得到一个非常小的值, 造成下溢underflow.
对数似然函数:
如何求$\theta$的值, 让对数似然函数的取值最大? 先对对数似然函数求关于$\theta$的偏导数, 令偏导=0, 得到似然方程. 然后求似然方程得到$\theta$的取值.
总结, 最大似然估计的流程:
(现在知道某个变量的分布函数, 但不知道具体参数, 通过最大似然估计求未知参数.)
- 首先对变量X进行抽样, 得到样本集$X=[x_1, x_2, .., x_n]$.
- 得到似然函数 $L(\theta) = P(x_1|\theta) … P(x_n | \theta)$
- 得到对数似然函数 $l(\theta) = \log L(\theta) $.
- 进行最大似然估计 $argmax_{\theta} l(\theta)$:
a. 把对数似然函数求关于$\theta$的偏导数, 令偏导=0, 得到似然方程.
b. 求解似然方程得到$\theta$的取值.
最大似然估计和交叉熵的关系
现在知道最大似然估计maximum likelihood estimation是:
进行放缩, 两边除以样本个数n:
上述公式a是对随机变量X的函数$\log p(X | \theta)$求均值, 根据大数定理, 随着样本容量n的增加, 样本的算术平均值等于随机变量X的期望, 即:
其中, $E_X$表示变量X的函数$\log p(X | \theta)$的期望.
这样, 当样本集n很大时, 最大似然估计可以看做:
相对熵可以这样变换:
其中$q(x)$是目标分布, 是固定的, 所以$E_x (\log q(x))$是固定的; $p(x)$是预测分布.
最小化$D_{KL}(q||p)$ $\Longleftrightarrow$ 最小化$(- E_x(\log p(x)))$ $\Longleftrightarrow$ 最大化似然估计. ($\Longleftrightarrow$表示‘等价于’)
因为
最小化$D_{KL}(q||p)$等价于最小化$H(q,p)$.
所以: 最小化交叉熵$H(q,p)$ $\Longleftrightarrow$ 最大似然估计$argmax_{\theta} l(x|\theta)$.
其中q是变量x的真实分布, p是x的预测分布, $\theta$是$p(x)$的未知参数.
参考:
基础篇:
https://www.jianshu.com/p/191c029ad369
进阶篇:
https://www.cnblogs.com/wangguchangqing/p/12068084.html