![76c9bd9db962ed5cd7233017f0c5e9d3.png](https://i-blog.csdnimg.cn/blog_migrate/2143d31bf8f40056788b261eb6036a26.jpeg)
1 什么是线性回归
线性回归算是机器学习中最基础的一个内容。虽然说基础,但是其背后蕴含的数学原理还是值得细细揣摩的。我们首先来看一下什么是线性回归。
给定一组数据集
线性回归的目的就是根据这个数据集,寻找一个最优的线性模型去构建x与y的关系。线性模型的数学形式为
其中
2 线性回归的求解——梯度下降法
梯度下降是机器学习中一种重要的方法,采用不断迭代更新参数的方法,模型的输出与目标更加接近。在使用梯度下降法之前,我们需要为线性回归模型构造合适的损失函数。
在线性回归问题中,我们使用最常见的均方误差做为损失函数。表达形式为:
梯度下降的思想就是不断迭代更新
很好理解,损失函数是针对于单个样本来定义的。代价函数则是在整个训练集上(或者更准确的说是在一个训练批次上)定义的。代价函数确定之后,下面开始实施梯度下降算法。根据数学知识,我们知道,函数在沿着梯度方向增长最快,我们的目标是想要代价函数取得最小,所以一种直观的想法,就是让
![50d100257b4c62617fd4f762b2af4b3a.png](https://i-blog.csdnimg.cn/blog_migrate/f5a95cdd769c8bb3b5162b96bb39f85f.jpeg)
梯度下降算法如下所示:
Repeat until convergence
{(for every j)
}
其中导数项计算如下:![]()
3 线性回归的概率解释
在刚开始接触线性回归的同学来说,可能有这么一个疑问:为什么损失函数要定义成误差平方的1/2。为什么不使用误差绝对值,或者3次方,4次方?从直观上来说,定义成误差的平方有两个好处:
(1)相比于更高次方的形式,均方误差的形式求导更加方便,导数为一次方形式
(2)相比于绝对值的形式,平方形式对于较大的偏差可以施加更大的惩罚,使得误差更快速的下降。
以上两点是对损失函数的一种直观解释,下面我们将从概率统计的角度进行解释。
线性模型对某一样本的预测值和真值之间,往往存在一个误差
这样就可以推出:
极大似然估计法是取使似然函数最大的
上式的第一项是常数,因此只要令第二项最小,则似然函数取得最大。而第二项恰好就是我们在上面定义的代价函数。