1.4 概率统计与信息论 分布、期望与交叉熵

1.开篇先说说,概率这件事为什么躲不开

上一篇我们把模型说成一个函数,把训练说成蒙着眼下山,大家对深度学习那套基本流程大概有点感觉了。这一篇我想把数学的底子再往下挖一层,和大家一起聊聊概率统计和信息论。这块东西很多同学觉得玄,其实它是后面理解损失函数的钥匙,搞透了,你看任何损失都不会再发憷。

先回答一个最根本的问题,深度学习为什么非得请概率上场?

第一个原因,现实里的数据从来都不干净。同样是每天复习5小时,张三这次期末考了85,李四考了82,甚至同一个人两次模拟考的成绩都会有波动。这种没法用确定规则解释的抖动,我们就叫它噪声。只要数据里带着噪声,确定性数学就不够用了,我们得用概率来描述这种不确定性。

第二个原因更关键,分类模型最后吐出来的结果,其实是一串概率。比方说识别一张图片,模型告诉你它是猫的概率0.7、是狗的概率0.2、是其他什么东西的概率0.1。softmax层的全部本事,就是把网络算出来的那一堆原始分数,压成一串加起来等于1的概率。所以说起来,分类模型从头到尾都在和概率打交道。

第三个原因很多人没意识到,我们日常念叨的交叉熵损失、均方误差这些,底层本质都是负对数似然。这句话你现在可能看不太懂,没关系,等讲到最大似然估计那一节你就明白了。总之先把概率的工具攥在手里,后面理解损失函数就能轻松不少。

2.从抛硬币开始:随机变量、分布、期望和方差

随机变量和概率分布

我们从最接地气的抛硬币说起。抛一枚均匀硬币,结果可能是正面,也可能是反面。这种事先没法确定、要等抛完才知道结果的量,我们叫它随机变量,记作 XXXX 能取到的每一个值,都对应一个出现的可能性大小,这个可能性大小就叫概率。我们把 XX 取各种值的概率整体记作 PP(称为概率分布或概率律),其中某个具体结果 xx 发生的概率写成 P(x)P(x)。比如正面朝上的概率写成 P(X=正面)=0.5P(X=\text{正面})=0.5,那个 0.50.5 就是正面这个结果发生的可能性。

XX 所有能取到的值,连同它们各自的概率,整整齐齐列出来,这就叫概率分布。分布本质上就是一张清单,列出了每个结果对应的概率有多大。

连续型的情况稍微复杂一点。比如考试分数可以取到85.0、85.1、85.13这种连续的值,这时候我们没法逐个去列概率,改用一条叫概率密度函数的曲线来描述,记作 f(x)f(x)。曲线在某一点越高,说明那个值附近的取值越密集。先记住这个区别就行,离散的我们谈概率,连续的我们谈密度。

期望:长期平均

光知道每个结果的可能性还不够,我们还想知道长期来看这个随机变量平均会落在哪。这个长期平均就叫期望,记作 E[X]E[X]

拿骰子举例。掷一枚均匀骰子,点数从1到6每个出现的概率都是1/6。那期望就是:

E[X]=i=16iP(X=i)=1+2+3+4+5+66=3.5E[X]=\sum_{i=1}^{6} i\cdot P(X=i)=\frac{1+2+3+4+5+6}{6}=3.5

那个 \sum(读作sigma)是求和符号,意思是把后面 iP(X=i)i\cdot P(X=i) 这一整块,从 i=1i=1 一直加到 i=6i=6,下标 ii 就是把每一项编号用的。3.53.5 这个数你可能觉得有点怪,骰子面上又没有3.5点。但是期望本来就是长期扔骰子、把所有结果平均下来的那个数,你扔个几百上千次,平均值就会稳稳地往3.5靠。

不妨换个角度理解。我之前翻过一本讲统计的书,里面有一句话记得很清楚:短期看运气,长期看期望。小明这次考试可能超常发挥考了高分,下次又失手考砸,但是把整个学期所有考试的成绩平均下来,那基本就贴着期望走。运动员也类似,一场比赛手感火热砍下高分不算难,整个赛季的平均得分才反映真实水平。短期可以靠运气,长期只能看期望。

方差:波动大小

期望告诉我们平均水平,但它管不了这个变量有多跳。一个学生平均分85,可能是次次都稳稳考85,也可能这次100下次70再下次85,两种情况的稳定性完全不一样。衡量这种波动大小的,就叫方差,记作 Var(X)\text{Var}(X),定义是:

Var(X)=E[(XE[X])2]\text{Var}(X)=E\big[(X-E[X])^2\big]

它的意思是先看每一次的取值跟期望差了多少(这就是 XE[X]X-E[X]),再平方一下把正负号抹掉(不然正负偏差会互相抵消),最后把这些平方偏差求个期望,得到的就是平均的偏离程度。方差越大,说明这个变量越喜欢乱蹦,越不稳定。

方差开个根号,就得到标准差,记作 σ\sigma,它和原始数据同一个量纲,读起来更直观。深度学习里我们更常拿方差说话,因为 σ2\sigma^2 在数学推导里更顺手,后面高斯分布你也会看到它反复出场。

3.三种最常见的分布

伯努利分布:二分类的亲妈

最简单的随机变量只有两个取值,成功或者失败、正面或者反面、垃圾邮件或者正常邮件。我们把成功记作1,成功的概率记作 pp,那么失败就是0,概率是 1p1-p。这种只有两种结果、由一个参数 pp 决定的分布,就叫伯努利分布。

二分类任务最后输出的就是伯努利分布。模型给你一个 pp,告诉你这张图片是猫的概率有多大,剩下的 1p1-p 就是这张图不是猫的概率。sigmoid函数干的事,就是把网络最后一层那个随便多大的数,压到0到1之间,好让它能当 pp 来用。

范畴分布:多分类的标准答案

如果结果不止两种呢?比如掷骰子有6种结果、识别ImageNet有1000种类别。这时候我们就升级到范畴分布(categorical distribution,可以理解成多项分布的一种特殊情况)。它由一组概率 p1,p2,,pkp_1,p_2,\dots,p_k 决定,kk 是类别总数,pip_i 表示第 ii 类的概率,这些概率加起来必须等于1。

softmax输出的就是一组范畴分布的概率。网络最后一层吐出 kk 个原始分数,softmax把它们重新归一化,得到一组和为1的概率。你看到的(这张图80%是猫、15%是狗、5%是鸟)这种输出,背后的数学结构就是范畴分布。

高斯分布:那口无处不在的钟形曲线

最后出场的,是深度学习里最尊贵的存在,高斯分布(也叫正态分布)。它的概率密度画出来就是一口对称的钟形曲线,中间高、两头低,记作 N(μ,σ2)\mathcal{N}(\mu,\sigma^2)μ\mu(读作mu)是均值,决定钟的中心落在哪儿。σ2\sigma^2 就是上一节说的方差,决定这口钟有多胖多扁。

高斯分布的密度函数长这样:

f(x)=12πσ2exp((xμ)22σ2)f(x)=\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)

那个 exp\exp 是自然常数 ee 的幂次,π\pi 是圆周率,\sqrt{\quad} 是开平方。这串公式你现在不用死记,记住它的形状就够了,离均值 μ\mu 越近的值出现的概率密度越大,越往两边走越稀罕。

高斯分布为什么这么重要呢,因为现实里很多噪声都近似服从它。这背后有个叫中心极限定理的数学结论,说一大堆独立的小噪声叠加起来,最终分布会逼近高斯。所以当我们假设模型误差是高斯噪声的时候,均方误差这种损失就自然而然地冒出来了。考试成绩被老师强行curve成正态分布,也是同一口钟在起作用。这一点等下讲最大似然估计的时候会再串一次。

4.最大似然估计:损失函数的祖师爷

似然是什么

分布讲完了,我们反过来问一个更要命的问题,分布的参数是怎么定下来的?伯努利分布的 pp 是0.6还是0.7,高斯分布的 μ\mu 是85还是82,这些数谁说了算?总不能凭空拍脑袋猜一个。

最大似然估计(Maximum Likelihood Estimation,简称MLE)给了一个特别朴素的回答:我已经观测到了一批数据,那就去找一组参数,让这批数据出现的可能性最大。换句话说,如果真实参数真的是某个值,那手头这批数据出现的概率应该比较大。既然这批数据偏偏出现了,那最合理的猜测,就是那个能让它出现概率最大的参数。

一个小例子

假设我有一枚不知来路的硬币,抛了10次,7次正面3次反面。我想估计正面朝上的概率 pp。按照MLE,我们要最大化(7正3反)这件事发生的概率,这个概率可以写成 p7(1p)3p^7(1-p)^3。我们想让这个数最大。

直接对 pp 求导,令导数为0,解出来 p=0.7p=0.7。直觉上就是这样,你看到10次里出了7次正面,那最靠谱的猜测就是这枚硬币正面概率0.7。MLE在这一刻显得特别通情达理。

取个负对数,损失就出来了

现实里我们不直接最大化 p7(1p)3p^7(1-p)^3 这种东西。原因之一是好几个概率乘起来数值会特别小(你想想0.1乘以0.1再乘以0.1),计算机算起来容易下溢。原因之二是连乘求导不如连加好算。所以我们取个对数,把连乘变成连加,顺手加个负号,把最大化翻成最小化。

对刚才那个例子取负对数,就得到 (7logp+3log(1p))-\big(7\log p+3\log(1-p)\big)。那个 log\log 就是对数函数,它把乘积变成加和。这个形式是不是有点眼熟?说穿了,它就是二分类交叉熵损失的原型。每个样本贡献一项 logp-\log p(当真实标签是正类),或者 log(1p)-\log(1-p)(当真实标签是负类),全部加起来求平均,就是你在PyTorch里调用的那个 BCELoss

所以最小化损失和最大化似然讲的是同一回事,只不过一个带了负号、一个没带。这层窗户纸一旦捅破,你看各种损失函数的设计都会通透很多。

从高斯噪声的 MLE 推出均方误差。 这条线我顺便推完,免得你心里留个疙瘩。假设真实的标签 yy 等于模型的预测 y^\hat y 加上一个零均值、方差 σ2\sigma^2 的高斯噪声:y=y^+ϵy=\hat y+\epsilonϵN(0,σ2)\epsilon\sim\mathcal N(0,\sigma^2)。那么在给定 y^\hat y 时,yy 的条件分布就是 yy^N(y^,σ2)y|\hat y\sim\mathcal N(\hat y,\sigma^2),密度函数:

p(yy^)=12πσ2exp ⁣((yy^)22σ2)p(y|\hat y)=\frac{1}{\sqrt{2\pi\sigma^2}}\exp\!\Bigl(-\frac{(y-\hat y)^2}{2\sigma^2}\Bigr)

nn 个样本独立,似然是各样本密度相乘 L=i=1np(yiy^i)L=\prod_{i=1}^{n}p(y_i|\hat y_i),取负对数似然:

logL=i=1n[(yiy^i)22σ212log(2πσ2)]=12σ2i=1n(yiy^i)2+n2log(2πσ2)-\log L=-\sum_{i=1}^{n}\Bigl[-\frac{(y_i-\hat y_i)^2}{2\sigma^2}-\frac{1}{2}\log(2\pi\sigma^2)\Bigr]=\frac{1}{2\sigma^2}\sum_{i=1}^{n}(y_i-\hat y_i)^2+\frac{n}{2}\log(2\pi\sigma^2)

后面那一项 n2log(2πσ2)\frac{n}{2}\log(2\pi\sigma^2) 跟参数(模型权重)无关,优化时是常数可以扔掉。12σ2\frac{1}{2\sigma^2} 也是常数缩放,不影响最优解的位置。于是最小化负对数似然,等价于最小化 i=1n(yiy^i)2\sum_{i=1}^{n}(y_i-\hat y_i)^2,除以 nn 就是均方误差 MSE。

这一推把两件事钉死了:均方误差不是随便选的损失,它就是"假设噪声服从高斯分布"这件事用 MLE 推出来的必然结果。 同理,你把噪声换成拉普拉斯分布(密度是 eyy^/b\propto e^{-|y-\hat y|/b}),MLE 推出来就是平均绝对误差 MAE。换一个噪声假设,就换一个损失——这种"假设决定损失"的视角,比死记"MSE 管回归、交叉熵管分类"要深刻得多。

5.信息论三件套:熵、交叉熵和KL散度

MLE那条线讲完,我们顺势拐进信息论。信息论里有三个概念你绕不开,熵、交叉熵和KL散度,它们三个一脉相承。

熵:衡量到底有多意外

熵(entropy)衡量的是一个分布的不确定性,换句话说就是你每次看到结果平均有多意外。分布记作 PP,它的熵定义为:

H(P)=xP(x)logP(x)H(P)=-\sum_{x} P(x)\log P(x)

那个 HH 就是熵的记号,x\sum_x 表示对所有可能的结果 xx 求和,P(x)P(x) 是结果 xx 发生的概率,log\log 还是对数。

举个对比例子你就懂了。如果一枚硬币两面都是正面,那你抛它之前就已经知道结果,毫无意外可言,熵就是0。如果硬币是均匀的,正反各0.5,你抛之前完全猜不准,这时候熵最大。分布越平均、越没法预测,熵就越大。分布越偏、越能提前押中,熵就越小。

这件事放到各行各业都成立。一部悬疑小说如果开头就让你猜到凶手,读完没什么波澜,熵就低,一部好的反转剧,每集都给你来个没想到,那种意外感就是高熵。体育比赛也一样,实力悬殊的两支球队对打,结果几乎没悬念,熵就低,势均力敌的德比战,输赢全看临场,熵就高。理解了这层,你就抓住了熵的精髓。

交叉熵:分类任务的标准损失

交叉熵(cross entropy)登场了,这是分类任务里出场率最高的损失,没有之一。它的定义是:

H(P,Q)=xP(x)logQ(x)H(P,Q)=-\sum_{x} P(x)\log Q(x)

这里 PP 是真实分布(标签告诉我们的事实),QQ 是模型预测出来的分布。直观上你可以这么理解,我们本来应该用 PP 这套最优编码来记录真实结果,每个结果平均花 H(P)H(P) 那么多比特,但是现在模型非要让我们用 QQ 这套不靠谱的编码去记,那肯定要多花点代价。这个多出来的总代价,就是交叉熵 H(P,Q)H(P,Q)

把它和MLE那条线接上。在多分类任务里,真实标签其实是一个one-hot向量,只有一个位置是1,其余全是0(这种特殊的分布就是退化版的范畴分布)。把这种 PP 代进交叉熵公式,整个求和里只有真实类别那一项乘上了1还活着,其他项乘上0全没了,最后简化成 logQ(y真实)-\log Q(y_{\text{真实}})。这就是负对数似然本人,眼熟吧?所以多分类里的交叉熵损失,本质上就是MLE的另一种说法。

当模型预测的真实类别概率 Q(y真实)Q(y_{\text{真实}}) 越接近1,logQ-\log Q 就越接近0。预测越离谱、QQ 越接近0,logQ-\log Q 就越往正无穷飙。这种对了几乎不罚、错了往死里罚的特性,正好是分类任务想要的,这就是为什么交叉熵能稳坐分类损失的头把交椅。

KL散度:两个分布差多少

最后一位,KL散度(Kullback-Leibler divergence)。它衡量的是两个分布 PPQQ 差了多少,定义是:

KL(PQ)=xP(x)logP(x)Q(x)\text{KL}(P\|Q)=\sum_{x} P(x)\log\frac{P(x)}{Q(x)}

里面那个 P(x)Q(x)\frac{P(x)}{Q(x)} 是两个概率的比值,log\log 取对数再对 xx 求和。它有一段特别重要的关系式:

H(P,Q)=H(P)+KL(PQ)H(P,Q)=H(P)+\text{KL}(P\|Q)

意思是交叉熵等于真实分布自己的熵,加上从 PPQQ 的KL散度。由于训练数据固定下来之后,真实分布 PP 的熵 H(P)H(P) 就是个常数,不影响优化,所以最小化交叉熵,等价于最小化KL散度。这下三条线就全接上了,MLE、交叉熵、KL散度,其实是同一件事的三个面孔。

不过KL散度有两个小脾气你要记住。第一,它非对称,KL(PQ)\text{KL}(P\|Q)KL(QP)\text{KL}(Q\|P) 一般不相等,所以它严格来说不能叫距离,只能叫散度。第二,它永远非负,只有当 PPQQ 完全相同的时候才等于0。这个非负性后面会在变分推断、VAE那些地方反复出场,到时候你会再见到它。

为什么 KL 散度非负:用 Jensen 不等式证明。 这条性质太重要,光记住结论心里不踏实,我们把它推一遍。KL 散度可以换个写法:KL(PQ)=xP(x)logP(x)Q(x)=xP(x)logQ(x)P(x)\text{KL}(P\|Q)=\sum_x P(x)\log\frac{P(x)}{Q(x)}=-\sum_x P(x)\log\frac{Q(x)}{P(x)}。注意后面这个形式,它是把 log\log 这个函数(凹函数)作用在随机变量 Q(x)P(x)\frac{Q(x)}{P(x)} 上、再对服从 PPxx 求期望,最后加个负号。

这里要用到 Jensen 不等式:对任何凹函数 fflog\log 正是凹函数,因为它的二阶导数 1/x2<0-1/x^2<0),有 E[f(X)]f(E[X])E[f(X)]\leq f(E[X])。把 f=logf=\log、随机变量 X=Q(x)P(x)X=\frac{Q(x)}{P(x)} 代入:

xP(x)logQ(x)P(x)    log ⁣(xP(x)Q(x)P(x))=log ⁣(xQ(x))=log1=0\sum_x P(x)\log\frac{Q(x)}{P(x)}\;\leq\;\log\!\Bigl(\sum_x P(x)\frac{Q(x)}{P(x)}\Bigr)=\log\!\Bigl(\sum_x Q(x)\Bigr)=\log 1=0

最后一步用了所有概率加起来等于1。把这个结果代回 KL 散度的式子:

KL(PQ)=xP(x)logQ(x)P(x)    0=0\text{KL}(P\|Q)=-\sum_x P(x)\log\frac{Q(x)}{P(x)}\;\geq\;-0=0

所以 KL 散度恒非负。等号什么时候成立?Jensen 不等式取等号的条件是随机变量恒为常数,即 Q(x)P(x)\frac{Q(x)}{P(x)} 对所有 xx 都一样,也就是 P=QP=Q。这就完整证明了"KL 散度非负,且当且仅当两分布相同时为零"。这个证明后面讲 VAE 的 ELBO 时会原封不动再用一次,你在这儿先把它吃透。

6.贝叶斯定理:把信念和证据缝起来

最后我们带一笔贝叶斯定理。它的核心公式长这样:

P(θD)=P(Dθ)P(θ)P(D)P(\theta|D)=\frac{P(D|\theta)\,P(\theta)}{P(D)}

这个公式不是凭空蹦出来的,它从条件概率的定义两步就能推出来。 条件概率的定义是 P(AB)=P(A,B)P(B)P(A|B)=\frac{P(A,B)}{P(B)},其中 P(A,B)P(A,B)AABB 同时发生的联合概率。把这个定义套到 P(θD)P(\theta|D)P(Dθ)P(D|\theta) 上:

P(θD)=P(θ,D)P(D),P(Dθ)=P(θ,D)P(θ)P(\theta|D)=\frac{P(\theta,D)}{P(D)},\qquad P(D|\theta)=\frac{P(\theta,D)}{P(\theta)}

两式里的 P(θ,D)P(\theta,D) 是同一个东西(联合概率),从第二个式子反解出 P(θ,D)=P(Dθ)P(θ)P(\theta,D)=P(D|\theta)P(\theta),代入第一个式子,就得到贝叶斯定理。就这么简单——它不过是"条件概率定义 + 联合概率的两种写法"的直接推论。

P(θD)=P(Dθ)P(θ)P(D)P(\theta|D)=\frac{P(D|\theta)\,P(\theta)}{P(D)}

里面几个零件我先解释清楚。θ\theta 是我们关心的参数(比如模型那一堆权重),DD 是我们观测到的数据,竖线 | 读作给定,P(θD)P(\theta|D) 表示在给定数据 DD 的条件下参数 θ\theta 的概率。P(θ)P(\theta) 是先验,就是我们没看到数据之前对参数 θ\theta 的初始信念,凭经验拍的。P(Dθ)P(D|\theta) 是似然,就是假设参数真的是 θ\theta,数据 DD 出现的概率,MLE里我们最大化的就是这个。P(θD)P(\theta|D) 是后验,就是看完数据之后我们对参数的更新信念。P(D)P(D) 是个归一化常数,负责把后验压成一个合法的概率(加起来等于1)。

贝叶斯定理干的活,就是把先验信念和观测证据缝起来,得到一个更新后的信念。你可以把它想成一个不断刷新认知的过程,每次看到新数据,后验就变成下一轮的先验,信念被一点一点地修正。某部侦探小说里有个经典桥段,主角每发现一条线索,就更新一次对嫌疑人的怀疑程度,这种抽丝剥茧的节奏,其实就是贝叶斯定理的生活化版本。频率派(MLE那一拨)和贝叶斯派(这一拨)的分歧,核心就在于参数到底要不要给它加个先验。深度学习里大部分时候走频率派路线,但是贝叶斯神经网络、不确定性估计这些方向,全靠这套路子吃饭。

7.收个尾

概率统计和信息论是理解损失函数的钥匙。分布刻画数据是怎么生出来的,期望和方差给出中心点和抖动幅度。至于为什么要最小化那一个特定的损失,MLE给了答案。分类损失为什么长那个样子,要靠熵和交叉熵来解释。两个分布差多少,则交给KL散度。把这些串起来,你以后看到任何一个损失函数,都能把它读成一段有逻辑的话,那些冷冰冰的符号也就不可怕了。

下一篇我们会进入微积分和凸优化的地盘,聊聊导数、梯度之外更完整的优化视角,以及为什么有些损失好优化、有些损失坑多得离谱。

下一章见。

练习

Q1. 最小化交叉熵和最大化伯努利似然,为什么说是同一件事?这跟"分类为什么不用 MSE"怎么接上?

二分类标签 yi{0,1}y_i\in\{0,1\} 服从伯努利分布,单个样本概率是 y^iyi(1y^i)1yi\hat{y}_i^{y_i}(1-\hat{y}_i)^{1-y_i}nn 个样本似然连乘。取负对数再除以 nn 取平均,正好就是二元交叉熵损失。所以最小化交叉熵 = 最大化伯努利似然。而 MSE 背后假设的是高斯分布,跟分类标签的伯努利分布对不上号,再把 sigmoid 套进 MSE 还会拖一个 σ(z)\sigma'(z) 让梯度消失,两头不合适,所以分类该用交叉熵。

Q2. 一枚不知来路的硬币抛了 10 次,7 次正面 3 次反面。用 MLE 估正面概率 pp,并写出对应的负对数似然形式。

似然是 p7(1p)3p^7(1-p)^3,对 pp 求导令其为零,解出 p^=0.7\hat{p}=0.7——看到 10 次里 7 次正面,最靠谱的猜测就是正面概率 0.7。取负对数得 (7logp+3log(1p))-\bigl(7\log p+3\log(1-p)\bigr),这正是二分类交叉熵的原型:正类样本贡献 logp-\log p,负类贡献 log(1p)-\log(1-p)

Q3. KL 散度有哪两个"小脾气"?其中一个能严格证出来,是哪个?

第一,非对称,KL(PQ)\text{KL}(P\|Q)KL(QP)\text{KL}(Q\|P) 一般不相等,所以它只能叫散度不能叫距离。第二,永远非负,只有 P=QP=Q 时才等于 0。非负这条能用 Jensen 不等式证:log\log 是凹函数,有 xP(x)logQ(x)P(x)log(xQ(x))=log1=0\sum_x P(x)\log\frac{Q(x)}{P(x)}\leq\log\bigl(\sum_x Q(x)\bigr)=\log 1=0,加个负号就得 KL(PQ)0\text{KL}(P\|Q)\geq0

Q4.(面试题) 完整推一遍"假设噪声服从零均值高斯分布,用 MLE 推出来的损失就是 MSE"。

设真实标签 y=y^+ϵy=\hat{y}+\epsilon,噪声 ϵN(0,σ2)\epsilon\sim\mathcal{N}(0,\sigma^2),则给定预测 y^\hat{y}yy^N(y^,σ2)y|\hat{y}\sim\mathcal{N}(\hat{y},\sigma^2),密度 p(yy^)=12πσ2exp((yy^)22σ2)p(y|\hat{y})=\frac{1}{\sqrt{2\pi\sigma^2}}\exp\bigl(-\frac{(y-\hat{y})^2}{2\sigma^2}\bigr)nn 个样本独立,似然连乘 L=ip(yiy^i)L=\prod_i p(y_i|\hat{y}_i),取负对数:logL=12σ2i(yiy^i)2+n2log(2πσ2)-\log L=\frac{1}{2\sigma^2}\sum_i(y_i-\hat{y}_i)^2+\frac{n}{2}\log(2\pi\sigma^2)。后一项跟权重无关是常数可以扔,12σ2\frac{1}{2\sigma^2} 是常数缩放不影响最优解的位置,于是最小化它等价于最小化 i(yiy^i)2\sum_i(y_i-\hat{y}_i)^2,除以 nn 就是 MSE。这说明 MSE 不是随便选的,它就是"噪声服从高斯分布"这件事用 MLE 推出来的必然结果(同理,换成拉普拉斯噪声会推出 MAE)。

相关标签
深度学习数学概率论信息论