第四节最大似然推导mse损失函数(深度解析最小二乘来源)(2)
上一节我们说了极大似然的思想以及似然函数的意义,了解了要使模型最好的参数值就要使似然函数最大,同时损失函数(最小二乘)最小, 留下了一个问题,就是这两个因素或者目的矛盾吗?今天我们就接着上面的问题继续解剖下去。
我们再来回顾下似然函数:
∏i=1mp(y(i)∣x(i);θ)=12πσexp(−(y(i)−θTx(i)2)2σ2)\prod_{i=1}^{m} p\left(y^{(i)} | x^{(i)} ; \theta\right)=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{\left(y^{(i)-} \theta^{T} x^{(i)^{2}}\right)}{2 \sigma^{2}}\right)i=1∏mp(y(i)∣x(i);θ)=2πσ1exp⎝⎛−2σ2(y(i)−θTx(i)2)⎠⎞
所谓似然函数就是一个大的乘项,它有多少项,取决于有多少个训练集的样本,因为它是判断训练集上发生的总概率最大的这么一个总似然函数。我们分析一下似然函数的取值由哪些因素确定?π\piπ是常数,σ\sigmaσ虽然是未知数,但是是个定值不能来回变,误差应该服从方差的高斯分布,不能来回变方差,唯一又能变又能影响最终结果的变量就是这一组www也就是θ\thetaθ。那么我们的目标就是找到一个θ\thetaθ(一组www)使通过其计算出来似然函数结果最大,我们给似然函数起个名字叫L(θ)L(\theta )L(θ),为什么括号里是θ\thetaθ,因为LLL的大小只看θ\thetaθ的脸色,其它值都是定值,改变不了最终结果,只有θ\thetaθ能改变结果,所以是关于θ\thetaθ的函数。由于似然函数内部带着exp函数,并且函数本身的形式是连乘,不太好求,所以我们在似然函数之前加了个log函数,因为log函数它是一个单调函数,而且是单调递增函数,不会影响函数的相对大小,并且
log(a.b)=loga+logb,logan=nloga\log (a . b)=\log a+\log b, \log a^{n}=n \log alog(a.b)=loga+logb,logan=nloga天生的良好属性。它能函数中的累乘变成累加,更方便求解。所以为了似然函数的更好求解,我们在L(θ)L(\theta )L(θ)两边加上log函数,如下:
l(θ)=logL(θ)=log∏i=1m12πσexp(−(y(i)−θTx(i)2)2σ2)l(\theta)=\log L(\theta)=\log \prod_{i=1}^{m} \frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{\left(y^{\left.(i)-\theta^{T} x^{(i)^{2}}\right)}\right.}{2 \sigma^{2}}\right)l(θ)=logL(θ)=logi=1∏m2πσ1exp⎝⎜⎜⎛−2σ2(y(i)−θTx(i)2)⎠⎟⎟⎞
=∑i=1mlog12πσexp(−(y(i)−θTx(i)2)2σ2)=mlog12πσ−1σ2⋅12∑i=1m(y(i)−θTx(i))2\begin{array}{l}{=\sum_{i=1}^{m} \log \frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{\left(y^{(i)}-\theta^{T} x^{(i)^{2}}\right)}{2 \sigma^{2}}\right)} \\ {=m \log \frac{1}{\sqrt{2 \pi} \sigma}-\frac{1}{\sigma^{2}} \cdot \frac{1}{2} \sum_{i=1}^{m}\left(y^{(i)}-\theta^{T} x^{(i)}\right)^{2}}\end{array}=∑i=1mlog2πσ1exp(−2σ2(y(i)−θTx(i)2))=mlog2πσ1−σ21⋅21∑i=1m(y(i)−θTx(i))2
我们来解析上面的每一步的来源,第一步不用怎么说,就是加了一个log,需要注意的是没加log之前是大写的L(θ)L(\theta )L(θ),加完log之后就是小写的l(θ)l(\theta )l(θ)。第一步到第二步实际上就是对于每一个样本之前的累乘,由于
log(a.b)=loga+logb \log (a . b)=\log a+\log b log(a.b)=loga+logb
加完log之后,所有的累乘变成累加,然后又用∑\sum∑表示出来。第二步到第三步,因为第二步中m个
log12πσexp(−(y(i)−θTx(i)2)2σ2)\log \frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{\left(y^{\left.(i)-\theta^{T} x^{(i)^{2}}\right)}\right.}{2 \sigma^{2}}\right)log2πσ1exp⎝⎜⎜⎛−2σ2(y(i)−θTx(i)2)⎠⎟⎟⎞
累加,每一个利用
log(a.b)=loga+logb
\log (a . b)=\log a+\log b
log(a.b)=loga+logb
属性表示成
log12πσ+logexp(−(y(i)−θTx(i)2)2σ2) \log \frac{1}{\sqrt{2 \pi} \sigma}+\operatorname{logexp}\left(-\frac{\left(y^{(i)-} \theta^{T} x^{(i)^{2}}\right)}{2 \sigma^{2}}\right) log2πσ1+logexp⎝⎛−2σ2(y(i)−θTx(i)2)⎠⎞
而
log12πσ
\log \frac{1}{\sqrt{2 \pi} \sigma}
log2πσ1
是常数,所以m个累加就是
mlog12πσ m \log \frac{1}{\sqrt{2 \pi} \sigma} mlog2πσ1
而后半部分
logexp(−(y(i)−θTx(i)2)2σ2)\operatorname{logexp}\left(-\frac{\left(y^{(i)-} \theta^{T} x^{(i)^{2}}\right)}{2 \sigma^{2}}\right)logexp⎝⎛−2σ2(y(i)−θTx(i)2)⎠⎞
累加,因为loge=1l o g e=1loge=1,log和e在一起可以互相消掉,所以
logexp(−(y(i)−θTx(i)2)2σ2)=−(y(i)−θTx(i)2)2σ2
\operatorname{logexp}\left(-\frac{\left(y^{(i)-} \theta^{T} x^{(i)^{2}}\right)}{2 \sigma^{2}}\right)=-\frac{\left(y^{(i)-\theta^{T} x^{(i)^{2}}}\right)}{2 \sigma^{2}}
logexp⎝⎛−2σ2(y(i)−θTx(i)2)⎠⎞=−2σ2(y(i)−θTx(i)2)
因为每一项xix^{i}xi不一样,所以写成
1σ2⋅12∑i=1m(y(i)−θTx(i))2
\frac{1}{\sigma^{2}} \cdot \frac{1}{2} \sum_{i=1}^{m}\left(y^{(i)}-\theta^{T} x^{(i)}\right)^{2}
σ21⋅21i=1∑m(y(i)−θTx(i))2
同时后半部分结果又把负号也给提出来了,那么加起来结果就是我们的第三步。
给自己鼓个掌吧,这么难得公式都会了,而且跟着我一步步的给它解释出来,真是不容易。到此为止,我们就分析一下,能够使第三步即:
mlog12πσ−1σ2⋅12∑i=1m(y(i)−θTx(i))2
m \log \frac{1}{\sqrt{2 \pi} \sigma}-\frac{1}{\sigma^{2}} \cdot \frac{1}{2} \sum_{i=1}^{m}\left(y^{(i)}-\theta^{T} x^{(i)}\right)^{2}
mlog2πσ1−σ21⋅21i=1∑m(y(i)−θTx(i))2
最大的θ\thetaθ是谁呢? 因为
mlog12πσ \operatorname{mlog} \frac{1}{\sqrt{2 \pi} \sigma} mlog2πσ1
是常数项,不去考虑它,它始终为正,所以有它没它都不会影响相对大小。那么也就是说只要
−1σ2⋅12∑i=1m(y(i)−θTx(i))2 -\frac{1}{\sigma^{2}} \cdot \frac{1}{2} \sum_{i=1}^{m}\left(y^{(i)}-\theta^{T} x^{(i)}\right)^{2} −σ21⋅21i=1∑m(y(i)−θTx(i))2
这一项越大,原始的L(θ)L(\theta )L(θ)函数就越大。注意这前面带个负号,因为我们是看成两个整体相加,所以后半部分的那一项是带个负号的。那么把负号去掉了,或者说这一项
1σ2⋅12∑i=1m(y(i)−θTx(i))2
\frac{1}{\sigma^{2}} \cdot \frac{1}{2} \sum_{i=1}^{m}\left(y^{(i)}-\theta^{T} x^{(i)}\right)^{2}
σ21⋅21i=1∑m(y(i)−θTx(i))2
这一项越小,原始的L(θ)L(\theta )L(θ)函数就越大。而σ\sigmaσ是常数,不影响大小,也就是说能够使
12∑i=1m(y(i)−θTx(i))2
\frac{1}{2} \sum_{i=1}^{m}\left(y^{(i)}-\theta^{T} x^{(i)}\right)^{2}
21i=1∑m(y(i)−θTx(i))2
最小的θ\thetaθ就是能够使L(θ)L(\theta )L(θ) 最大的θ\thetaθ。
是不是已经很眼熟了?我们回顾下**MSE(最小二乘),
J(θ)=12∑i=1m(hθxi−yi)2 J(\theta)=\frac{1}{2} \sum_{i=1}^{m}\left(h_{\theta} x^{i}-y^{i}\right)^{2} J(θ)=21i=1∑m(hθxi−yi)2
发现一模一样,因为里面的
(y(i)−θTx(i))2 \left(y^{(i)}-\theta^{T} x^{(i)}\right)^{2} (y(i)−θTx(i))2
位置不会影响相对大小。所以MSE(最小二乘) 怎么来的?为什么说MSE(最小二乘)越小,θ\thetaθ就越好,取决于你背后估计了所有的误差,服从高斯分布,如果它不服从高斯分布,也就不能用mse来判断了。截止到目前,我们就发现了把它作为损失函数,真的是非常合理。实际上这就是它背后的理论依据。
我们总结下,我们说判别模型事先给定一个判别函数,对吧?它这个例子判别函数
y=θTx y=\theta^{T} x y=θTx
根据判别函数来合理的构造出一个损失函数来。这个损失函数往往都是通过MLE,也就是最大似然估计为理论基础建立出来的最合理的损失函数,而最大似然的理论源泉是误差服从均值为零的高斯分布,也即样本服从高斯分布,而后通过最大似然一步步推导得到最小二乘。所以mse的损失函数的根本理论依据是什么?你就应该回答为假设方差服从均值为零的高斯分布。 至于是不是所有的回归问题,都用MSE当损失函数,不一定。但是90%都是它。在一些特殊的场景里,你已知误差服从别的分布了,那就会建立出别的损失函数来。比如huber损失函数,有兴趣可以自己研究下。但绝大多数的场景都会使用MSE作为回归问题的损失函数。 因为在你不知道任何情况的前提下,假设误差服从高斯分布是最常见且最合理的一种方式。 自此,你从理论方面推导了最大似然和最小二乘的关系,也为最小二乘作为损失函数找到了数学的理论支撑。下一节中我们讲解怎么样求解最小二乘或者使其相对最小,从而找到我们相对合理的模型参数θ\thetaθ。
7614





