机器学习 线性回归

这篇博客详细介绍了线性回归的基本原理、算法思路,包括最小二乘法和梯度下降,并探讨了在实践中可能遇到的特征归一化和学习率选择问题。随后,文章转向Lasso回归与岭回归,解释了它们如何通过正则化解决过拟合和矩阵不可逆问题,以及两者之间的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.线性回归

1.1原理

        线性回归就是通过拟合已知的数据来得到一个线性模型,然后再利用线性模型来预测其他数据,使得预测结果接近真实值,达到预期目标。最后把真实值和预测值作比较,计算均方误差,求取均方误差最小时的一组\theta值。

假设函数: h_{\theta }(x)=\theta ^{T}X=\theta _{0}X_{0}+\theta _{1}X_{1}+\theta _{2}X_{2}+...+\theta _{n}X_{n}
损失函数:J(\theta )=\frac{1}{2}\sum_{i=1}^{n}(h_{\theta }(x^{(i)})-y^{(i)})^{2} 
目标:min(J(\theta ))

1.2算法思路

1.2.1最小二乘法

        划分数据后,利用训练数据中特征部分构建矩阵X,标签列构建y,然后再利用公式\theta =(X^{T}X)^{-1}X^{T}y计算θ。

1.2.2梯度下降

        首先我们对回归系数\theta进行初始化,令里面值全部为1,然后利用均方误差公式求取当前系数\theta下的梯度,再用当前系数的值减去梯度乘以学习率来更新\theta值,最后不断循环此操作,直到达到指定迭代次数为止,最终迭代停止时的系数即为回归方程的系数。其中,系数\theta的迭代公式为\theta _{j}=\theta _{j}-a\sum_{i=1}^{m}(h_{\theta }(x^{i})-y^{i})_{j}^{(i)}

1.3可能遇到的问题

  • 特征归一化:一是能够提升模型的收敛速度,因为如果各个数据的量级差别很大的话,绘制出来的等高线图是扁平状的椭圆,这时候通过梯度下降法寻找梯度方向最终将走垂直于等高线的Z字形路线,迭代速度变慢。但是如果对特征进行归一化操作之后,整个等高线图将呈现圆形,梯度的方向是指向圆心的,迭代速度远远大于前者。二是能够提升模型精度。
  • 学习率\alpha的选取:学习率选取过小,会导致迭代次数较多,收敛次数变慢;学习率选取过大,有可能跳过最优解,导致最终根本无法收敛。

2.Lasso回归与岭回归

        Lasso回归与岭回归是为了解决线性回归出现的过拟合以及在通过正规方程方法求解θ的过程中出现的X^{T}X不可逆这两类问题的, Lasso回归与岭回归通过在损失函数中分别引入L1正则项和L2正则项来达到目的。
线性回归损失函数:J(\theta )=\frac{1}{2}\sum_{i=1}^{n}(h_{\theta }(x^{(i)})-y^{(i)})^{2} 

Lasso回归损失函数:J(\theta )=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta }(x^{i})-y^{i})^{2}+\lambda \sum_{j=1}^{n}|\theta _{j}|

岭回归损失函数:J(\theta )=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta }(x^{i})-y^{i})^{2}+\lambda \sum_{j=1}^{n}\theta _{j}^{2} 

        其中λ称为正则化参数,如果λ选取过大,会把所有参数θ均最小化,造成欠拟合,如果λ选取过小,会导致对过拟合问题解决不当。 
        Lasso回归与岭回归最大的区别在于Lasso回归引入的是L1范数惩罚项,岭回归引入的是L2范数惩罚项,Lasso回归能够使得损失函数中的许多θ均变成0,这点要优于岭回归,因为岭回归是要所有的θ均存在的,这样计算量Lasso回归将远远小于岭回归。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值