线性回归可谓是机器学习最简单的入门了,本文从最小二乘法开始讲解线性回归的过程。由于本文的公式比较复杂,手打比较麻烦,因此部分公式推导会在草稿纸上进行,然后以图片的形式展示。整理不易,还望点个赞,谢谢。

其实,我们对线性回归并不默认,从初中开始,我们就开始根据点(x1,y1)(x_1,y_1)(x1,y1),(x2,y2)(x_2,y_2)(x2,y2)来求线性方程,这其实是最简单的线性回归方程。到后来高中,我们根据一些点(x1,y1)(x_1,y_1)(x1,y1),(x2,y2)(x_2,y_2)(x2,y2)…,(xm,ym)(x_m,y_m)(xm,ym)来采用最小二乘法求线性回归方程。其原理如下:
假设:y=wx+by = wx + by=wx+b
则损失函数为:

这里问题就变成求二次函数的极小值,然后采用微积分方法求最小值:

这里就得到了一元线性回归的结果。
对于多元线性回归,采用矩阵的形式将会更加方便,公式如下,这里可以假设x0=1x_0=1x0=1。

那么我们这里的损失函数为:

这里可以采用梯队下降法来求解机器学习中的最小损失函数。

其中ααα为学习率,也称为步长或步幅。
ααα的设置非常重要:
如果太小了,将导致学习速度很慢;如果太大了,导致无法收敛。

损失函数前面的常数为了方便计算,可以设置为1/21/21/2(常数部分不影响损失函数情况),如下图:

这里损失函数J(θ)J(θ)J(θ)对参数θjθ_jθj 的梯度为:

从而得到:

上述迭代过程每次迭代都会使用所有的样本数据,数学上已经证明线性回归模型的损失函数通过梯度下降算法求解一定会全局收敛,所以如果要编程实现该算法只需要控制迭代次数即可。
缺点:对异常值非常敏感
这篇博客详细介绍了线性回归的原理,从最小二乘法出发,讲解了一元和多元线性回归的求解过程。通过公式推导展示了如何使用梯度下降法寻找损失函数的最小值,并探讨了学习率α对模型训练的影响。文中还提到线性回归对异常值敏感的缺点。
4192

被折叠的 条评论
为什么被折叠?



