机器学习线性回归

一、基本原理

线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。

  • 线性:两个变量之间的关系一次函数关系的——图象是直线,叫做线性。
  • 非线性:两个变量之间的关系不是一次函数关系的——图象不是直线,叫做非线性。
  • 回归:人们在测量事物的时候因为客观条件所限,求得的都是测量值,而不是事物真实的值,为了能够得到真实值,无限次的进行测量,最后通过这些测量数据计算回归到真实值,这就是回归的由来。

线性回归就是利用的样本D=(\mathrm{x}_i, \mathrm{y}_i)\mathrm{i}=1,2,3 \ldots \mathrm{N}, \mathrm{x}_i是特征数据,可能是一个,也可能是多个,通过有监督的学习,学习到由xy的映射h,利用该映射关系对未知的数据进行预估,因为y为连续值,所以是回归问题。

  1. 假设函数的形式
    线性回归的假设函数(\theta_{0}表示截距项,x_{0} = 1,方便矩阵表达):
    f(x)=\theta_{0} x_{0}+\theta_{1} x_{1}+\theta_{2} x_{2} \ldots+\theta_{n} x_{n} = \theta ^TX
    其中\theta,X都是列向量

  2. loss function
    一般使用最小二乘法,真实值y_{i},预测值h_θ(x),则误差平方为\left(y_{i}-h_{\theta}\left(x_{i}\right)\right)^{2}找到合适的参数,使得误差平方和最小
    MSE: J\left(\theta_{0}, \theta_{1}\right)=\frac{1}{2 m} \sum_{i=1}^{m}\left(y_{i}-h_{\theta}\left(x_{i}\right)\right)^{2}

其中共有m个样本点,乘以1/2是为了方便计算。

二、面试题

  1. 简述岭回归与Lasso回归以及使用场景。
  • 目的:

    • 解决线性回归出现的过拟合的请况。
    • 解决在通过正规方程方法求解\theta的过程中出现的X^TX不可逆的请况。
  • 本质:

    • 约束(限制)要优化的参数
      这两种回归均通过在损失函数中引入正则化项来达到目的:
      线性回归的损失函数:
      J(\theta)=\frac{1}{2 m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}
  • 岭回归
    如果数据的特征比样本点还多,数据特征n,样本个数m,如果n>m,则计算(XTX)-1时会出错。因为(xTX)不是满秩矩阵,所以不可逆。
    为了解决这个问题,统计学家引入了岭回归的概念。
    w = (XTX +入I)-1xTy
    入为岭系数,I为单位矩阵(对角线上全为1,其他元素全为O)

    • 损失函数:
      J(\theta)=\frac{1}{2 m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}+\lambda \sum_{j=1}^{n} \theta_{j}^{2}
      加入了一个L2的正则
  • Lasso回归

    • 损失函数
      J(\theta)=\frac{1}{2 m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}+\lambda \sum_{j=1}^{n} |\theta_{j}|
  • 补充

    • ElasticNet 回归: 线性回归 + L1正则化 + L2 正则化。

      • ElasticNet在我们发现用Lasso回归太过(太多特征被稀疏为0),而岭回归也正则化的不够(回归系数衰减太慢)的时候,可以考虑使用ElasticNet回归来综合,得到比较好的结果。

      • 损失函数
        J(\theta)=\frac{1}{2} \sum_{i}^{m}\left(y^{(i)}-\theta^{T} x^{(i)}\right)^{2}+\lambda\left(\rho \sum_{j}^{n}\left|\theta_{j}\right|+(1-\rho) \sum_{j}^{n} \theta_{j}^{2}\right)

    • LWR( 局部加权)回归

      • 局部加权线性回归是在线性回归的基础上对每一个测试样本(训练的时候就是每一个训练样本)在其已有的样本进行一个加权拟合,权重的确定可以通过一个核来计算,常用的有高斯核(离测试样本越近,权重越大,反之越小),这样对每一个测试样本就得到了不一样的权重向量,所以最后得出的拟合曲线不再是线性的了,这样就增加的模型的复杂度来更好的拟合非线性数据。

      • 损失函数
        J(\theta)=\frac{1}{2} \sum_{i=1}^{m} w^{(i)}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}

  1. 线性回归要求因变量服从正态分布吗?

线性回归的假设前提是噪声服从正态分布,即因变量服从正态分布。但实际上难以达到,因变量服从正态分布时模型拟合效果更好。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容