线性回归是一种基本的监督学习方法,广泛用于回归问题中。它通过学习输入变量与输出变量之间的线性关系来对数据进行建模。以下从定义到求解的角度系统介绍线性回归模型。

线性回归模型的定义

线性回归假设输出变量 𝑦和输入变量 𝑥 之间满足线性关系:y=wTx+by=w^Tx+by=wTx+b

  • 符号说明:
    • x∈Rnx\in\mathbb{R}^nxRn:输入特征向量(维度为 𝑛)。
    • w∈Rnw\in\mathbb{R}^nwRn:权重向量,表示每个特征的系数。
    • b∈Rb\in\mathbb{R}bR:偏置(bias),表示线性模型的截距。
    • y∈Ry\in\mathbb{R}yR:输出变量,通常是一个连续值。
  • 目标: 根据训练数据集 D={(xi,yi)}i=1mD=\{(x_i,y_i)\}_{i=1}^mD={(xi,yi)}i=1m ,学习参数 𝑤 和 𝑏,使得模型能对未知数据的输出 𝑦 做出准确预测。
  • 假设: 假定输出 𝑦 和输入 𝑥 满足以下关系:y=wTx+b+ϵy=w^Tx+b+\epsilony=wTx+b+ϵ
    其中 𝜖 是独立同分布的噪声项,通常服从正态分布 N(0,σ2)N(0,\sigma^2)N(0,σ2)

线性回归模型的代价函数

在机器学习中,代价函数用来衡量模型预测值与真实值之间的误差。

  • 平方误差损失函数: 在线性回归中,常用平方误差作为损失函数来衡量单个样本预测值y^i\hat{y}_iy^i与真实值yiy_{i}yi的差异:L(yi,y^i)=(yi−y^i)2L(y_i,\hat{y}_i)=(y_i-\hat{y}_i)^2L(yi,y^i)=(yiy^i)2
  • 线性回归的代价函数(均方误差, Mean Squared Error, MSE): 对于 𝑚 个训练样本,定义代价函数 J(w,b) 为:J(w,b)=12m∑i=1m(yi−(wTxi+b))2J(w,b)=\frac{1}{2m}\sum_{i=1}^m\left(y_i-(w^Tx_i+b)\right)^2J(w,b)=2m1i=1m(yi(wTxi+b))2
    • 其中:
      • yiy_{i}yi:第 𝑖 个样本的真实值。
      • wTxi+bw^Tx_i+bwTxi+b:第 𝑖 个样本的预测值。
      • 12m\frac{1}{2m}2m1:引入1/2是为了在求导时简化计算。
  • 目标: 寻找参数 𝑤 和 𝑏,使得代价函数 J(w,b) 最小。

梯度下降法求解线性回归模型

梯度下降是一种常用的优化算法,用于最小化代价函数 J(w,b) 并求解模型参数。

梯度下降法原理

  • 梯度下降通过不断更新参数 𝑤 和 𝑏,逐步减小代价函数值,直到达到最优解。
  • 更新规则:w:=w−α∂J(w,b)∂w,b:=b−α∂J(w,b)∂bw:=w-\alpha\frac{\partial J(w,b)}{\partial w},\quad b:=b-\alpha\frac{\partial J(w,b)}{\partial b}w:=wαwJ(w,b),b:=bαbJ(w,b)
    • 其中:
      • a\mathrm{a}a:学习率(控制每次更新的步长)。
      • ∂J(w,b)∂w 和 ∂J(w,b)∂b\frac{\partial J(w,b)}{\partial w}\text{ 和 }\frac{\partial J(w,b)}{\partial b}wJ(w,b)  bJ(w,b)
        :代价函数对 𝑤 和 𝑏 的梯度。

代价函数的梯度计算

对于代价函数J(w,b)=12m∑i=1m(yi−(wTxi+b))2J(w,b)=\frac{1}{2m}\sum_{i=1}^m\left(y_i-(w^Tx_i+b)\right)^2J(w,b)=2m1i=1m(yi(wTxi+b))2,其梯度为:

  • 对 𝑤 求偏导:∂J(w,b)∂w=−1m∑i=1m(yi−(wTxi+b))xi\frac{\partial J(w,b)}{\partial w}=-\frac{1}{m}\sum_{i=1}^m(y_i-(w^Tx_i+b))x_iwJ(w,b)=m1i=1m(yi(wTxi+b))xi
  • 对 b 求偏导:∂J(w,b)∂b=−1m∑i=1m(yi−(wTxi+b))\frac{\partial J(w,b)}{\partial b}=-\frac{1}{m}\sum_{i=1}^m(y_i-(w^Tx_i+b))bJ(w,b)=m1i=1m(yi(wTxi+b))

梯度下降算法流程

  • 初始化参数: 随机初始化 𝑤 和 𝑏。
  • 迭代更新参数: 按照以下公式更新 𝑤 和 𝑏:w:=w+αm∑i=1m(yi−(wTxi+b))xiw:=w+\frac{\alpha}{m}\sum_{i=1}^m(y_i-(w^Tx_i+b))x_iw:=w+mαi=1m(yi(wTxi+b))xi
    b:=b+αm∑i=1m(yi−(wTxi+b))b:=b+\frac{\alpha}{m}\sum_{i=1}^m(y_i-(w^Tx_i+b))b:=b+mαi=1m(yi(wTxi+b))
  • 停止条件: 当代价函数 J(w,b) 的变化值小于某个阈值,或者达到最大迭代次数时停止。

线性回归模型的优点和局限性

优点:

  • 模型简单,易于理解和实现。
  • 具有很好的可解释性,权重𝑤可以反映每个特征对输出的影响。
  • 对小规模数据和线性关系数据表现良好。

局限性:

  • 只能捕捉输入与输出之间的线性关系,无法处理非线性关系。
  • 对异常值敏感,容易受噪声影响。
  • 需要手动选择特征,无法自动提取特征。

总结

  • 线性回归模型是一种简单但有效的回归方法,适用于线性关系的数据。
  • 模型的核心是通过最小化均方误差(MSE)来找到最佳参数。
  • 梯度下降是一种常用的优化方法,可以有效求解线性回归模型参数。
  • 尽管线性回归存在一定局限性,但其直观性和高效性使其在许多场景中仍有广泛应用。
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐