首先复习一下 高斯分布 和 最大似然估计(MLE)。
高斯分布
$$ N(\mu,\sigma^2)=\frac{1}{\sqrt{2\pi \sigma^2}}\cdot e^{-\frac{(x-\mu)^2}{2\sigma^2}} $$
其中,$\mu$是期望,$\sigma^2$是方差。
最大似然估计(MLE)
最大似然就是根据多个独立事件,来求得其中的参数。由于会涉及到多个独立事件,所以用乘积来表示:公式如下:
$L=\prod_{i=1}^Np_i$
想让上面这个事件的概率达到最大,以求出其中的参数,需要求导。然而直接求导这个式子不太容易,所以讲其转化为自然对数,变为加法形式,求导更加容易,最终式子就变成了:
$\ln L=\sum\limits_{i=1}^N\ln pi$
对这个公式的各个参数求导显然更加容易。
MLE对线性回归的优化
假设有这样一批数据,每个样本$(x_i,y_i)$的生成过程是独立,那么每个$y_i$的值可以被当做一个高斯分布。
怎么理解上面的话,为什么每个$y_i$的值可以被当做一个高斯分布?
假设我们的预测值为$\hat y$,根据线性回归的公式可以得到
$$ \hat y = f(x)=w_0+w_1x_1+...+w_dx_d $$
其中,$x_j$是$x$的第$j$个特征。
可以看出,$\hat y$ 是根据公式$f(x)$生成的。那么,可以看出来,$\hat y$服从高斯分布,其期望$\mu=\hat y$,而由于$f(x)$是固定的,那么其方差为0,也就是其服从$\hat y \thicksim N(\hat y,0)=N(W^Tx)$,也就是要注意一点,每个$\hat y$ 都是服从不同分布的,因为每个$\hat y$ 都是不同的。可以根据下面这个图片来理解。
假设每个$\hat y$ 对真实值$y$的预测误差(残差)为$\hat y - y =\varepsilon$ ,那么我们完全可以做出下面假设:
- 残差都服从正态分布
- 残差都拥有相同的方差
- 残差的期望为0
所以,可以推出:
$$ \varepsilon\thicksim N(0,\sigma^2) $$
而$y=\hat y-\varepsilon$,那么可以得出下面公式:
- $E(y)=E(\hat y+\varepsilon)$
- $E(y)=E(\hat y)+E(\varepsilon)$
- $E(y)=XW+0=XW$
以及:
- $Variance(y)=Variance(\hat y+\varepsilon)$
- $Variance(y)=Variance(\hat y)+Variance(\varepsilon)$
- $Variance(y)=0+\sigma^2$
所以,可以得出:
$$ y\thicksim N(XW,\sigma^2) $$
其极大似然函数就是:
$$ L(XW,\sigma^2|x)=\prod_{i=1}^nf_Y(y_i,x_iw,\sigma^2) $$
由于$y_i$的分布都是高斯分布,那么就可以得出:
$$ L(XW,\sigma^2|x)=\prod_{i=1}^n\frac{1}{\sqrt{2\pi \sigma^2}}\cdot e^{-\frac{(y_i-x_iw)^2}{2\sigma^2}}\\ $$
$$ L(XW,\sigma^2|x)=(\frac{1}{\sqrt{2\pi \sigma^2}})^n\cdot e^{-\frac{\sum\limits_{i=1}^n(y_i-x_iw)^2}{2\sigma^2}}\\ $$
$$ L(XW,\sigma^2|x)=(\frac{1}{\sqrt{2\pi \sigma^2}})^n\cdot e^{-\frac{(Y-XW)^T(Y-XW)}{2\sigma^2}} $$
转化为自然对数,得到::
$$ \ln (L(XW,\sigma^2|x))= \frac n2\ln(2\pi)-\frac n2\ln(\sigma^2)-\frac{(Y-XW)^T(Y-XW)}{2\sigma^2} $$
我们要得到最终的权重$w$,所以需要对其求导,最终结果如下:
$$ \frac{\partial ln(L(XW,\sigma^2|x))}{\partial W}=\frac 1{2\sigma^2}\frac{\partial (Y-XW)^T(Y-XW)}{\partial w}\\ $$
$$ \frac{\partial ln(L(XW,\sigma^2|x))}{\partial W}=\frac 1{2\sigma^2}\frac{\partial (Y^2-2X^TWY+X^TXW^2)}{\partial w}\\ $$
$$ \frac{\partial ln(L(XW,\sigma^2|x))}{\partial W}=\frac 1{2\sigma^2}(0-2X^TY+2X^TXW) $$
最后的$W$应该满足
$$ \frac{\partial ln(L(XW,\sigma^2|x))}{\partial W}=0 $$
那么,我们可以得出:
$$ \frac 1{2\sigma^2}(0-2X^TY+2X^TXW)=0\\ W=\frac{X^TY}{X^TX}=(X^TX)^{-1}X^TY $$
最终,我们得到了我们想要的模型。