作者: 引线小白-本文永久链接:httpss://www.limoncc.com/post/301c877f0fd6a2cd/
知识共享许可协议: 本博客采用署名-非商业-禁止演绎4.0国际许可证
摘要:本文意在理清损失函数的基础问题。若有错误,请大家指正。
关键词:损失函数
,机器学习
[TOC]
1、信息论若干概念与结论
我们首先回顾一下信息论的若干基本概念
信息: $\displaystyle \mathrm{I}(\bm{x}_i)=-\ln p(\bm{x}_i) $
信息熵: $\displaystyle \mathbb{H}[\bm{x}]
=\mathbb{E}[\mathrm{I}(\bm{x})]
=-\int p(\bm{x})\ln p(\bm{x})\mathrm{d}\bm{x}
$
条件熵: $\displaystyle \mathbb{H}[\bm{x}\mid\bm{y}]
= -\int\int p(\bm{x},\bm{y})\ln p(\bm{x}\mid \bm{y})\mathrm{d}\bm{x}\mathrm{d}\bm{y}
$
联合熵: $\displaystyle \mathbb{H}[\bm{x}\bm{y}]
=-\int\int p(\bm{x},\bm{y})\ln p(\bm{x}, \bm{y})\mathrm{d}\bm{x}\mathrm{d}\bm{y}
=\mathbb{H}[\bm{x}]+\mathbb{H}[\bm{y}\mid\bm{x}
]
\leqslant\mathbb{H}[\bm{x}]+\mathbb{H}[\bm{y}]
$
交叉熵: $\displaystyle \mathbb{H}[p,q]=-\int p(\bm{x})\ln q(\bm{x}) \mathrm{d}\bm{x}$
KL散度: $\displaystyle \mathbb{KL}[p\parallel q]
=-\int p(\bm{x})\ln\frac{q(\bm{x})}{p(\bm{x})}\mathrm{d}\bm{x}
=-\mathbb{H}[p]+\mathbb{H}[p,q]
$
互信息:
$$\begin{align}
\mathbb{MI}[\bm{x},\bm{y}]
=\mathbb{KL}\left[p(\bm{x},\bm{y})\parallel p(\bm{x})p(\bm{y})\right]
&=-\int\int p(\bm{x},\bm{y})\ln\frac{p(\bm{x})p(\bm{y})}{p(\bm{x},\bm{y})}\mathrm{d}\bm{x}\mathrm{d}\bm{y}\\
&=-\int\int p(\bm{x},\bm{y})[\ln p(\bm{x})-\ln p(\bm{x}\mid\bm{y})]\mathrm{d}\bm{x}\mathrm{d}\bm{y}\\
&=-\int\int p(\bm{x},\bm{y})\ln p(\bm{x})\mathrm{d}\bm{x}\mathrm{d}\bm{y}+\int\int p(\bm{x},\bm{y})\ln p(\bm{x}\mid\bm{y})\mathrm{d}\bm{x}\mathrm{d}\bm{y}\\\displaystyle
&=-\int p(\bm{x})\ln p(\bm{x})\mathrm{d}\bm{x}+\int\int p(\bm{x},\bm{y})\ln p(\bm{x}\mid \bm{y})\mathrm{d}\bm{x}\mathrm{d}\bm{y}\\
&=\mathbb{H}[\bm{x}]-\mathbb{H}[\bm{x}\mid\bm{y}]=\mathbb{H}[\bm{y}]-\mathbb{H}[\bm{y}\mid\bm{x}]
\end{align}$$
2、损失函数的一些结论
最小化 KL 散度其实就是在最小化分布之间的交叉熵,确切的说是最小化 KL 散度个一个上界:经验分布和高斯模型之间的交叉熵。下面我们来证明这一点。我们考虑单变量情形,有数据集 $\displaystyle \{\bm{x}_i,y_i\}_{i=1}^n$ 同时令: $\displaystyle p_\mathcal{D}$表示经验密度, $\displaystyle p_M$表示估计密度。于是有:
$$\begin{align}
\mathbb{KL}\big[p_\mathcal{D}\parallel p_M\big]
&= -\mathbb{E}_{p_\mathcal{D}}\bigg[\ln\frac{p_M}{p_\mathcal{D}}\bigg]
=\mathbb{E}_{p_\mathcal{D}}\big[\ln p_M\big]-\mathbb{E}_{p_\mathcal{D}}\big[\ln p_\mathcal{D}\big]
=\mathbb{H}[p_\mathcal{D},p_M]-\mathbb{H}[p_\mathcal{D}]\\
&\geqslant\mathbb{H}[p_\mathcal{D},p_M]=-\mathbb{E}_{p_\mathcal{D}}\big[\ln p_M\big]=-\frac{1}{n}\ln p_M\big(\mathcal{D}\big)=-\frac{1}{n}\ell\\
\end{align}$$
注意这里 $\displaystyle p_M\big(\mathcal{D}\big)$其实就是似然函数。在频率主义下,我们叫似然函数;在贝叶斯主义下,我们叫数据集分布。在图模型里面,我们叫证据。请自行体会这些名词的含义。
我们来考虑一个具体的例子:均方误差是经验分布和高斯模型之间的交叉熵。我们考虑如下模型
$$\begin{align}
p(y\mid \bm{x})=\mathcal{N}(y\mid \bm{w}^\text{T}\bm{x},\sigma^2)=\left(2\pi\right)^{-1/2}(\sigma^2)^{-1/2}\exp\left[-\frac{1}{2}(x-\mu)^2\sigma^{-2}\right]
\end{align}$$
我们有:
$$\begin{align}
\mathbb{H}[p_\mathcal{D},p_M]
&=-\mathbb{E}_{p_\mathcal{D}}\big[\ln p_M\big]=-\mathbb{E}_{p_\mathcal{D}}\big[\ln\mathcal{N}(y\mid \bm{w}^\text{T}\bm{x},\sigma^2)\big]\\
&=\displaystyle -\mathbb{E}_{p_\mathcal{D}}\bigg[-\frac{n}{2}\ln 2\pi-n\ln\sigma- \frac{\bm{\varepsilon}^\text{T}\bm{\varepsilon}}{2\sigma^2}\bigg]\\
&\displaystyle\propto \frac{1}{2}\mathbb{E}_{p_\mathcal{D}}\bigg[\bm{\varepsilon}^\text{T}\bm{\varepsilon}\bigg]=\frac{1}{2n}\bm{\varepsilon}^\text{T}\bm{\varepsilon}
=\frac{1}{2n}\big|\big|\, \bm{\varepsilon} \,\big|\big|^2\\
&\displaystyle=\frac{1}{2n}\sum_{i=1}^n\big|\big|\, y_i-\hat{y}_i \,\big|\big|^2\\
&\displaystyle=\frac{1}{2n}\mathrm{RSS}=\mathrm{MSE}\\
\end{align}$$
对于多元独立同分布情况:
$$\begin{align}
\mathbb{KL}\big[p_\mathcal{D}\parallel p_M\big]
&\propto\mathbb{H}[p_\mathcal{D},p_M]=-\mathbb{E}_{p_\mathcal{D}}\big[\ln p_M\big]=-\mathbb{E}_{p_\mathcal{D}}\big[\ln\mathcal{N}\big(\bm{y}\mid \bm{w}^\text{T}\bm{x},\varSigma\big)\big]\\
&\propto- \frac{1}{2}\mathbb{E}_{p_\mathcal{D}}\bigg[\sum_{i=1}^n\big|\big|\bm{y}_i-\hat{\bm{y}}_i\big|\big|^2\bigg]
\propto \frac{1}{2n}\sum_{i=1}^n\big|\big|\bm{y}_i-\hat{\bm{y}}_i\big|\big|^2=\mathrm{MES}
\end{align}$$
也就是说KL散度、交叉熵、似然函数、均方误差,其实存在等价关系。注意这个等价关系是有条件的。 $\displaystyle -\mathbb{E}_{p_\mathcal{D}}\big[\ln p_M\big]=-\frac{1}{n}\ln p_M\big(\mathcal{D}\big)$显然是要求大数定律保证的,是渐近性质。至于似然函数是不是均方误差需要假设数据分布是符合高斯分布,且数据点是独立。当然如果数据点是独立同分布,大数定律保证下也有高斯分布渐近性质。所以存在如下几个层次的等价关系,每下一个层次约束条件越来越严格。
$$\begin{align}
\min \mathbb{KL}\big[p_\mathcal{D}\parallel p_M\big]&\iff \min \mathbb{H}[p_\mathcal{D},p_M]\\
\min \mathbb{KL}\big[p_\mathcal{D}\parallel p_M\big]&\iff \min \mathbb{H}[p_\mathcal{D},p_M]\iff \max\ell \\
\min \mathbb{KL}\big[p_\mathcal{D}\parallel p_M\big]&\iff \min \mathbb{H}[p_\mathcal{D},p_M]\iff \max\ell\iff\min \mathrm{MSE}
\end{align}$$
3、评述
1、在离散型变量的情况下,为了编码真实世界模型$\displaystyle p_\mathcal{D}$的信息。我们使用模型$\displaystyle p_M$编码数据。而$\displaystyle p_M$编码比真实世界模型$\displaystyle p_\mathcal{D}$要多出额外信息量。KL 散度衡量的就是这个额外信息量。
2、贯穿神经网络设计的一个反复出现的主题就是损失函数的梯度必须足够的大和具有足够的预测性,来为学习算法提供一个好的指引。饱和(变得非常平)的函数破坏了这一目标,因为它们把梯度变得非常小。一个显著的例子是神经网络很多输出单元都会包含一个指数函数,这在变量取绝对值非常大时会造成饱和。而这个时候 $\displaystyle \big|\big|\, y_i-\hat{y}_i \,\big|\big|^2$会变得很小。而负对数可以消除输出的指数效果。这就是为什 么交叉熵代价函数比均方误差或者平均绝对误差更受欢迎的原因之一了。
版权声明 | |
由引线小白创作并维护的柠檬CC博客采用署名-非商业-禁止演绎4.0国际许可证。 本文首发于柠檬CC [ https://www.limoncc.com ] , 版权所有、侵权必究。 | |
本文永久链接 | httpss://www.limoncc.com/post/301c877f0fd6a2cd/ |
如果您需要引用本文,请参考: |
引线小白. (May. 7, 2017). 《损失函数大意》[Blog post]. Retrieved from https://www.limoncc.com/post/301c877f0fd6a2cd |
@online{limoncc-301c877f0fd6a2cd, title={损失函数大意}, author={引线小白}, year={2017}, month={May}, date={7}, url={\url{https://www.limoncc.com/post/301c877f0fd6a2cd}}, } |