本文我们讨论以下问题:
- 线性回归及线性模型的定义
- 利用最小二乘法估计线性模型参数
- 似然函数和极大似然估计,后者和最小二乘法存在的关系
- 梯度下降
1. 从一个实例说起
假设我们有四个数据点:(1, 6)、(2, 5)、(3, 7)、(4, 10),想要用一条直线拟合它,如下图所示:
图1 Linear regression demo
我们假设单变量(一元)线性模型的函数方程是:
所以我们希望找到最佳的和组合(这也就是机器学习想要求解的参数),能够尽可能符合以下超定方程组:
线性回归即在一些样本上对特征(x)和期望值(y)建立线性模型的一种回归分析。
将第0个特征设为1,即,那么:
线性模型则可以表示为:
2. 最小二乘法(Least Squares Method)
说到直线拟合,最常用的便是最小二乘法。最小二乘法的思路是让前述超定方程组左右两边的方差和最小,即需要令以下函数取值最小:
表示样本数量,上标表示第个样本。
对于前面的例子,则有:
函数是关于参数的函数,并且是一个凸函数。
要令其值最小可以通过分别对和求偏导,然后令偏导等于0来计算:
于是可以解得:
3. 似然函数和极大似然估计(Maximum Likelihood Estimation)
3.1 什么是似然函数?
开始讲线性回归的极大似然估计前,我们先看下什么是似然函数:
似然函数是一种关于模型中参数的函数,用来表示模型参数中的似然性。
我们的目标是求解最为合理的模型参数,也就是求使得似然性最大时的参数,此时求解得到参数即为极大似然估计。
概率是在已知参数的情况下,预测某些输入应该得到的结果;似然性则是在观测到的结果上,对参数的合理性(可能性)进行评估。
如果在已知参数的情况下,模型输出y的概率可以表示为:
利用贝叶斯定理:
因此我们可以构造一个似然函数用于表示期望值为时,当前估计参数为的可能性。
似然函数的取值并不重要,而是参数变化时似然函数变大还是变小,所以并不需要似然函数满足归一性。
3.2 线性回归的似然函数
对于线性回归,大多数时候,并不存在一个函数,可以让所有数据点都落在这个函数上面,所以预测值和实际值之间会存在误差,所以线性模型应该完善成如下方程:
其中为残差,转换一下,即:
线性模型的前提假设是残差服从均值为0的正态分布(不同样本间相互独立,方差一致)。
因此对于某个样本,预测值服从正态分布:。
如果残差均值不为0,这里的期望将会有偏置,但是也并不影响后续的推导。
考虑正态分布的概率密度函数,预测值越接近期望(也就是),其概率越大,说明参数取值越合理。
所以对于某个样本,我们可以认为其似然函数就是正态分布的概率密度函数,于是有:
对于个样本,相互之间是独立的,因此所有样本的联合似然函数为:
取对数,得:
要使似然性最大,其实就是使最小。
因此显然,在满足残差服从正态分布的前提下,线性回归的参数估计,最小二乘估计和极大似然估计其实是等价的。
4. 梯度下降(Gradient descent)
如果是多元线性回归,表示成矩阵形式,可以推导得到参数的最小二乘估计:
在参数量比较少的时候,我们可以通过此正规方程求解;但在参数量很大时,因为存在求逆操作,当参数量很大时,求解这个方程性能会很低。
所以我们就需要更加有效的求解参数的方法,这就是梯度下降(它有很多变种,有机会此后会再细聊)。
在机器学习中,我们将模型的参数求解过程,转变为一个最小优化问题:定义一个损失函数,求解使得损失函数最小时的参数。
对于线性回归,损失函数核心就是采用最小二乘法的平方误差函数,如下:
我们使用如下的方式同时更新所有参数,直到收敛或者损失小于指定值:
其中称为学习率(Learning rate),用于控制梯度下降的速度。下标表示第个参数。
梯度下降有效的前提是损失函数是一个凸函数,这样才能保证运用梯度下降时参数更新一定往全局最优解靠近。
对于一元线性回归,函数针对某个,关于图形可能如下图所示:
可以很直观看到:
- 当大于全局最优解时,梯度大于0,因此更新后参数将靠近最优解;
- 当大于全局最优解时,梯度小于0,因此更新后参数也会靠近最优解。
5. 总结
在开始总结前,简单画了一个图,方便对本文内容进行理解记忆:
Linear Regression Steps.png
总结内容:
- 线性回归即尝试对样本用线性模型进行拟合(描述自变量和因变量之间的关系)的回归分析;
- 为了求解线性模型的参数,可以使用最小二乘法和极大似然估计。
- 最小二乘法目核心是,在所有样本上,找到使估计值和真实值平方误差和最小的参数。
- 极大似然估计则是假设估计值满足某个分布,定义似然函数,找到使似然函数取值最大的参数。在线性模型的残差服从正态分布时,其极大似然估计和最小二乘估计本质是一样的。
- 最小二乘法和极大似然估计将如何求解模型参数,转化成一个最小优化问题,梯度下降则是解决最小优化问题的一种手段。
- 机器学习的目的在于建立合适的模型,然后求解模型的参数,亦即似然估计。
2019-08-14
网友评论