最大似然估计求解线性回归

之前我在讲理解最大似然估计 http://0fd.org/2017/06/10/understand-the-maximum-likelihood-estimation/ 的时候,讲了两个例子,不过都很简单,今天来讲讲怎么用最大似然估计来求解线性回归方程,不管是一元还是多元

线性回归方程如下:

y = \theta_1 x_1 + ... + \theta_n x_n = \sum_{i=1}^{n} \theta_i x_i

现在假设我们有 m 组样本数据,(y^1, x_{(1 \sim n)}^1), (y^2, x_{(1 \sim n)}^2), ..., (y^m, x_{(1 \sim n)}^m),我们怎么用最大似然估计来求解\theta呢?

要用最大似然回归,首先就得确定模型方程,这里用什么模型呢?

正态分布

我们以前大学学概率论的时候肯定知道中心极限定理:大量独立的随机变量之和趋向于某个稳定的分布,这个分布后来被命名为高斯分布,也就是正态分布,有兴趣的可以看看书本的证明过程

随机测量的误差服从正态分布,而且不仅服从正态分布,还服从均值为0的正态分布

误差的均值期望为0,这是非常重要的一个特性

定义误差:

\xi^{(i)} = y^{(i)} - \theta x_{(1 \sim n)}^{(i)}

这样我们就把上面的线性方程的样本数据,转变成了误差的样本数据,通过最大似然方法求解误差分布的参数来求解线性方程的参数

再来回忆一下求解最大似然估计的4个过程:

  1. 确定模型函数
  2. 确定似然函数或者对数似然函数
  3. 求导
  4. 计算极值(使得似然最大的一定是在极值处)

1)确定模型函数

因为我们已经把样本数据转换成了误差,而误差服从均值为0的正态分布

正态分布的原始模型方程是

f(x) = \frac {1}{\sqrt{2\pi}\sigma} exp(-\frac {(x - \mu)^2}{2\sigma^2})

这里的x是样本数据,\mu是样本均值,因为我们的样本是误差,并且样本的期望均值是0,把上述误差的定义代入上式,得到我们最终的模型方程

f(\xi) = \frac {1}{\sqrt{2\pi}\sigma} exp(-\frac {(\xi)^2}{2\sigma^2})

进一步得到 f(x,y) = \frac {1}{\sqrt{2\pi}\sigma} exp(-\frac {(y - \theta x)^2}{2\sigma^2})

2)确定似然函数

正态分布的联合概率密度函数就是似然函数,为了计算方便,我们取对数似然

L({\theta},\sigma^2) = ln(\prod_{i=1}^{m} \frac {1}{\sqrt{2\pi}\sigma} exp(-\frac {(y_i - \theta x_i)^2}{2\sigma^2})) \\ = \sum_{i=1}^m ln(\frac {1}{\sqrt{2\pi}\sigma} exp(-\frac {(y_i - \theta x_i)^2}{2\sigma^2})) \\ = m ln(\frac {1}{\sqrt{2\pi}\sigma}) - \frac {1}{2\sigma^2} \sum_{i=1}^m (y_i - \theta x_i)^2

这里和之前将的正态分布似然函数不太一样了,最终转换成了 \theta,\sigma^2 相关的函数

我们要求L(\theta)最大值,也就是求\frac {1}{2\sigma^2} \sum_{i=1}^m (y_i - \theta x_i)^2最小值

3)求导

对上述似然函数求导,最大值一定在极值处

由于我们最终的目的是求\theta的值,并不打算求解整个正态分布的所有参数,比如\sigma^2等等,所以我们只需要对\theta求偏导即可

\frac {\partial L(\theta,\sigma^2)} {\partial \theta} = \frac {1} {\sigma^2} \sum_{i=1}^{m} x_i (y_i - \theta x_i)

由于x_i, \theta是向量,y_i是常量,我们把上式转换为向量表达式

\frac {\partial L(\theta,\sigma^2)} {\partial \theta} = \frac {1} {\sigma^2} \sum_{i=1}^{m} X_i(Y_i - \theta^T X_i) = \frac {1} {\sigma^2} (XY - X\theta^TX)

4)计算极值

要求对数似然的最大值,让上述式子为0即可,最大值必然在极值处

XY = X\theta^TX = X^T \theta X

最终,\theta = (X^TX)^{-1}XY

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注