56、典型回归算法详解

典型回归算法详解

在回归分析中,有多种典型的算法可以用于解决不同场景下的问题。下面将详细介绍多元线性回归、多项式回归、岭回归和套索回归这几种常见的回归算法。

1. 多元线性回归

多元线性回归是一种基本的回归方法,用于建立多个自变量与因变量之间的线性关系。通过最小化残差平方和来估计模型的参数。

已知方程:
[
-2x^Ty + 2x^Tx\hat{\theta} = 0
]

由此可得,使用最小二乘法求解多元线性回归参数的方程为:
[
\hat{\theta}_{multi} = (x^Tx)^{-1}x^Ty
]

多元线性回归的示意图中,数据点中间的红线被称为回归线,它是通过训练样本得到的这些数据点的最佳拟合线。

2. 多项式回归

多项式回归是一种特殊的回归模型,当自变量 $x$ 与因变量 $y$ 之间的关系被建模为 $x$ 的 $p$ 次多项式时,就属于多项式回归模型。

给定 $n$ 个带标签的训练样本 $S = {(x_i, y_i) | i = 1, \ldots, n}$,其中 $x_i \in \mathbb{R}^m$,$y_i \in \mathbb{R}$。对于回归模型 $y_i = f(x_i, \theta) + \varepsilon_i$,令 $x_i = (x_i, x_i^2, \ldots, x_i^m)$ 为多项式回归的自变量,$\theta = (\theta_0, \theta_1, \ldots, \theta_m)$ 为参数,则多项式回归的目标函数可表示为:
[
y_i = f(x_i, \theta) + \varepsilon_i = \theta_0 + \theta_1x_i + \theta_2x_i^2 + \cdots + \theta_mx_i^m + \varepsilon_i = \sum_{j=0}^{m} \theta_jx_i^j + \varepsilon_i
]
其中 $m \geq 2$,且 $x_i^0 = 1$。

虽然上述方程中自变量和因变量之间的关系是非线性的,但多项式回归是一种线性回归模型。

多项式回归函数可以用以下矩阵形式表示:
[
\begin{bmatrix}
y_1 \
y_2 \
y_3 \
\vdots \
y_n
\end{bmatrix} =
\begin{bmatrix}
1 & x_1 & x_1^2 & \cdots & x_1^m \
1 & x_2 & x_2^2 & \cdots & x_2^m \
1 & x_3 & x_3^2 & \cdots & x_3^m \
\vdots & \vdots & \vdots & \ddots & \vdots \
1 & x_n & x_n^2 & \cdots & x_n^m
\end{bmatrix}
\begin{bmatrix}
\theta_0 \
\theta_1 \
\theta_2 \
\vdots \
\theta_m
\end{bmatrix} +
\begin{bmatrix}
\varepsilon_1 \
\varepsilon_2 \
\varepsilon_3 \
\vdots \
\varepsilon_n
\end{bmatrix}
]

因此,多项式回归的目标函数和预测模型可以表示为:
[
y = X_{poly}\theta + \varepsilon
]
[
\hat{y} = X_{poly}\hat{\theta}
]

其中,上述方程中设计矩阵 $X_{poly}[i, :]$ 的第 $i$ 行是一个 $m$ 次多项式。

类似于前面介绍的最小二乘法,计算其残差平方和并求梯度,可得到多项式回归的参数估计方程:
[
\hat{\theta} = (X_{poly}^TX_{poly})^{-1}X_{poly}^Ty
]

多项式回归的示意图展示了其拟合效果。

以下是多项式回归的步骤总结:
1. 确定自变量 $x$ 和因变量 $y$,并准备训练样本。
2. 将自变量 $x$ 转换为多项式形式 $x_i = (x_i, x_i^2, \ldots, x_i^m)$。
3. 构建矩阵 $X_{poly}$ 和向量 $y$。
4. 根据公式 $\hat{\theta} = (X_{poly}^TX_{poly})^{-1}X_{poly}^Ty$ 计算参数估计值 $\hat{\theta}$。
5. 使用预测模型 $\hat{y} = X_{poly}\hat{\theta}$ 进行预测。

3. 岭回归

岭回归是在自变量高度相关时用于估计线性回归模型参数的一种方法。

在多元线性回归中,常用的参数估计方法是最小二乘法,通过最小化残差平方和来估计参数:
[
RSS_{multi}(\hat{\theta}) = \sum_{i=1}^{n} \left(y_i - \sum_{j=0}^{m} \hat{\theta} jx {ij}\right)^2
]

然而,当多元线性回归中出现多重共线性时,会导致参数估计不可靠且方差较大。多重共线性通常发生在多个自变量高度相关的情况下,即一个自变量可以由其他自变量线性预测。如果两个自变量之间存在精确的多重共线性关系,则称为完全共线性。

为了解决多重共线性问题,岭回归在残差平方和 $RSS(\cdot)$ 中添加了一个正则化项(也称为收缩惩罚项)。带有正则化项的残差平方和称为广义残差平方和,记为 $\widetilde{RSS} {ridge}(\cdot)$:
[
\widetilde{RSS}
{ridge}(\hat{\theta}) = \sum_{i=1}^{n} \left(y_i - \sum_{j=0}^{m} \hat{\theta} jx {ij}\right)^2 + \lambda \sum_{j=1}^{m} (\hat{\theta} j)^2 = RSS {multi}(\hat{\theta}) + \lambda \sum_{j=1}^{m} (\hat{\theta}_j)^2
]
其中 $\lambda$ 是待确定的调整参数。

最小化 $\widetilde{RSS} {ridge}(\hat{\theta})$ 需要在等式右边的两项之间进行权衡。第一项 $RSS(\hat{\theta})$ 是线性回归的残差平方和,使用最小二乘法进行最小化以估计参数;第二项是正则化项,通过使 $\lambda \sum {j=1}^{m} (\hat{\theta}_j)^2 \leq c$(其中 $c > 0$ 为常数)来最小化。当 $\hat{\theta}_1, \hat{\theta}_2, \ldots, \hat{\theta}_m$ 趋近于零时,正则化项最小化,从而使 $\hat{\theta}_j (j = 1, 2, \ldots, p)$ 的估计值趋近于零。调整参数 $\lambda$ 用于控制这两项对回归参数估计的相对影响:当 $\lambda = 0$ 时,正则化项为零,岭回归等同于线性回归;当 $\lambda \to \infty$ 时,收缩正则化项的影响增大,岭回归的参数估计将趋近于零。

岭回归参数估计的矩阵表示如下:
[
\widetilde{RSS}_{ridge}(\hat{\theta}) = (y - X\hat{\theta})^T(y - X\hat{\theta}) + \lambda\hat{\theta}^T\hat{\theta} = y^Ty - 2y^TX\hat{\theta} + \hat{\theta}^TX^TX\hat{\theta} + \lambda\hat{\theta}^T\hat{\theta}
]

计算 $\widetilde{RSS} {ridge}(\cdot)$ 的梯度并令其为零:
[
\frac{\partial\widetilde{RSS}
{ridge}(\hat{\theta})}{\partial\hat{\theta}} = -2X^Ty + 2X^TX\hat{\theta} + 2\lambda\hat{\theta} = 0
]

因此,岭回归的参数估计为:
[
\hat{\theta}_{ridge} = (X^TX - \lambda I)^{-1}X^Ty
]
其中 $I$ 是单位矩阵。

以下是岭回归的步骤总结:
1. 确定自变量 $X$ 和因变量 $y$,并准备训练样本。
2. 选择合适的调整参数 $\lambda$。
3. 构建矩阵 $X$ 和向量 $y$。
4. 根据公式 $\hat{\theta} {ridge} = (X^TX - \lambda I)^{-1}X^Ty$ 计算参数估计值 $\hat{\theta} {ridge}$。
5. 使用估计的参数进行预测。

4. 套索回归

套索回归是另一种解决多重共线性问题的方法,“lasso” 是 “least absolute shrinkage and selection operator” 的缩写。

套索回归同样在残差平方和 $RSS(\cdot)$ 中添加了一个正则化项,但与岭回归的正则化项有所不同。广义残差平方和记为 $\widetilde{RSS} {lasso}(\cdot)$:
[
\widetilde{RSS}
{lasso}(\hat{\theta}) = \sum_{i=1}^{n} \left(y_i - \sum_{j=0}^{m} \hat{\theta} jx {ij}\right)^2 + \lambda \sum_{j=1}^{m} |\hat{\theta} j| = RSS {multi}(\hat{\theta}) + \lambda \sum_{j=1}^{m} |\hat{\theta}_j|
]

同样,套索回归也是对于某个常数 $c > 0$,使正则化项 $\sum_{j=1}^{m} |\hat{\theta}_j| \leq c$。然而,当参数 $\lambda$ 足够大时,套索回归的 $L_1$ 正则化具有迫使某些参数估计值恰好为零的效果。因此,套索回归通常比岭回归更容易进行变量选择和排除无关变量。

比较岭回归的公式(13.21)和套索回归的公式(13.25),可以发现它们的广义残差平方和形式相同,唯一的区别在于正则化项。套索回归用 $|\hat{\theta} j|$ 代替了 $(\hat{\theta}_j)^2$。岭回归的正则化项 $\sum {j=1}^{m} (\hat{\theta} j)^2$ 是 $L_2$ 正则化,而套索回归的正则化项 $\sum {j=1}^{p} |\hat{\theta}_j|$ 是 $L_1$ 正则化,因为参数向量 $\hat{\theta}$ 的 $L_1$ 范数为 $|\hat{\theta}|_1 = \sum |\hat{\theta}_j|$。这种细微但重要的变化使得套索回归的某些参数可以精确地降为零。

当数据集只有两个变量(即 $m = 2$)时,通过示意图可以比较套索回归和岭回归的差异。它们的残差平方和相同,用三层红色椭圆曲线表示。在二维空间中,套索回归的正则化项 $\sum_{j=1}^{2} |\theta_j| = |\theta_1| + |\theta_2|$ 变成一个菱形,而岭回归的正则化项 $\sum_{j=1}^{2} (\theta_j)^2 = (\theta_1)^2 + (\theta_2)^2$ 是一个圆形。比较两个示意图可以看出,套索回归的 $L_1$ 正则化具有迫使一个参数估计值为零的效果,而岭回归的 $L_2$ 正则化只能使其趋近于零,但不能等于零。

以下是套索回归的步骤总结:
1. 确定自变量 $X$ 和因变量 $y$,并准备训练样本。
2. 选择合适的调整参数 $\lambda$。
3. 构建矩阵 $X$ 和向量 $y$。
4. 最小化广义残差平方和 $\widetilde{RSS}_{lasso}(\hat{\theta})$ 来估计参数 $\hat{\theta}$。
5. 使用估计的参数进行预测,并根据参数值进行变量选择。

算法对比总结

算法名称 适用场景 正则化项 变量选择能力 参数估计特点
多元线性回归 自变量相互独立或相关性较低 最小化残差平方和
多项式回归 自变量与因变量呈非线性关系 可拟合复杂的非线性关系
岭回归 自变量高度相关 $L_2$ 正则化 参数估计趋近于零
套索回归 自变量高度相关且需要变量选择 $L_1$ 正则化 部分参数可精确为零

流程图

graph TD;
    A[开始] --> B[选择回归算法];
    B --> C{是否存在多重共线性};
    C -- 是 --> D[选择岭回归或套索回归];
    C -- 否 --> E[选择多元线性回归或多项式回归];
    D --> F{是否需要变量选择};
    F -- 是 --> G[选择套索回归];
    F -- 否 --> H[选择岭回归];
    E --> I{关系是否非线性};
    I -- 是 --> J[选择多项式回归];
    I -- 否 --> K[选择多元线性回归];
    G --> L[准备数据];
    H --> L;
    J --> L;
    K --> L;
    L --> M[估计参数];
    M --> N[进行预测];
    N --> O[结束];

通过以上介绍,我们对多元线性回归、多项式回归、岭回归和套索回归这几种典型的回归算法有了更深入的了解。在实际应用中,需要根据数据的特点和问题的需求选择合适的算法。

深入理解回归算法的应用与选择

在实际的数据处理和分析中,选择合适的回归算法至关重要。下面我们将进一步探讨这些回归算法在不同场景下的应用,并通过更多的示例和分析来加深对它们的理解。

不同场景下的算法选择

在实际问题中,我们需要根据数据的特征和问题的需求来选择合适的回归算法。以下是一些常见场景及对应的算法选择建议:

  1. 数据特征为线性且自变量独立 :当自变量之间相互独立或相关性较低,且自变量与因变量之间呈现线性关系时,多元线性回归是一个不错的选择。它简单直接,通过最小化残差平方和来估计参数,能够有效地建立线性模型。
  2. 数据呈现非线性关系 :如果自变量与因变量之间的关系是非线性的,多项式回归可以发挥作用。它通过将自变量转换为多项式形式,能够拟合复杂的非线性关系,提供更精确的预测。
  3. 自变量高度相关 :当多个自变量高度相关时,会出现多重共线性问题,导致参数估计不可靠。此时,岭回归和套索回归是可选的方法。
    • 不需要变量选择 :如果只需要解决多重共线性问题,而不需要进行变量选择,岭回归是一个合适的选择。它通过添加 $L_2$ 正则化项,使得参数估计趋近于零,从而降低方差,提高模型的稳定性。
    • 需要变量选择 :如果不仅要解决多重共线性问题,还需要进行变量选择,排除无关变量,套索回归则更为合适。它的 $L_1$ 正则化项能够迫使某些参数精确为零,从而实现变量的自动选择。
示例分析

为了更好地理解这些算法的应用,我们来看一个具体的示例。假设我们有一个数据集,包含房屋的面积、房间数量、房龄等自变量,以及房屋的价格作为因变量。

  1. 多元线性回归 :如果我们初步判断房屋的面积、房间数量和房龄与价格之间呈现线性关系,且这些自变量之间相关性较低,我们可以使用多元线性回归来建立模型。通过最小化残差平方和,估计出每个自变量对应的参数,从而预测房屋的价格。
  2. 多项式回归 :如果我们发现房屋价格与面积之间的关系不是简单的线性关系,可能存在二次或更高次的关系,我们可以使用多项式回归。将面积转换为多项式形式,如 $x_i = (x_i, x_i^2)$,然后构建矩阵 $X_{poly}$,根据公式 $\hat{\theta} = (X_{poly}^TX_{poly})^{-1}X_{poly}^Ty$ 估计参数,得到更准确的预测模型。
  3. 岭回归 :如果我们发现面积和房间数量之间存在高度相关性,导致参数估计不稳定,我们可以使用岭回归。选择合适的调整参数 $\lambda$,根据公式 $\hat{\theta}_{ridge} = (X^TX - \lambda I)^{-1}X^Ty$ 计算参数估计值,从而解决多重共线性问题。
  4. 套索回归 :如果我们不仅要解决多重共线性问题,还想知道哪些自变量对房屋价格的影响更大,哪些可以排除,我们可以使用套索回归。通过最小化广义残差平方和 $\widetilde{RSS}_{lasso}(\hat{\theta})$ 估计参数,部分参数可能会精确为零,从而实现变量选择。
算法性能评估

在选择回归算法时,除了考虑数据特征和问题需求,还需要评估算法的性能。常见的评估指标包括均方误差(MSE)、均方根误差(RMSE)、决定系数($R^2$)等。

  1. 均方误差(MSE) :是预测值与真实值之间误差的平方的平均值,计算公式为 $MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2$。MSE 越小,说明模型的预测精度越高。
  2. 均方根误差(RMSE) :是 MSE 的平方根,计算公式为 $RMSE = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2}$。RMSE 与原始数据的单位相同,更直观地反映了模型的预测误差。
  3. 决定系数($R^2$) :表示模型对数据的拟合程度,取值范围在 $[0, 1]$ 之间。$R^2$ 越接近 1,说明模型对数据的拟合效果越好。计算公式为 $R^2 = 1 - \frac{\sum_{i=1}^{n} (y_i - \hat{y} i)^2}{\sum {i=1}^{n} (y_i - \bar{y})^2}$,其中 $\bar{y}$ 是因变量的平均值。
调整参数的选择

在岭回归和套索回归中,调整参数 $\lambda$ 的选择非常关键。它直接影响到正则化项的作用,从而影响模型的性能。以下是一些选择 $\lambda$ 的方法:

  1. 交叉验证 :将数据集分为训练集和验证集,使用不同的 $\lambda$ 值在训练集上训练模型,然后在验证集上评估模型的性能。选择使验证集上性能最优的 $\lambda$ 值。
  2. 网格搜索 :定义一个 $\lambda$ 值的范围,在这个范围内均匀选择多个 $\lambda$ 值,分别训练模型并评估性能。选择性能最优的 $\lambda$ 值。
总结

回归分析是数据科学中重要的工具之一,多元线性回归、多项式回归、岭回归和套索回归是常见的回归算法。在实际应用中,我们需要根据数据的特征和问题的需求选择合适的算法。同时,通过评估指标来评估模型的性能,并合理选择调整参数,以提高模型的预测精度和稳定性。

通过本文的介绍,希望读者对这些回归算法有了更深入的理解,能够在实际问题中灵活运用这些算法,解决各种回归问题。

关键要点回顾

要点 详情
算法类型 多元线性回归、多项式回归、岭回归、套索回归
适用场景 线性关系、非线性关系、多重共线性、变量选择
正则化项 岭回归:$L_2$ 正则化;套索回归:$L_1$ 正则化
变量选择能力 套索回归强于岭回归
参数估计特点 岭回归趋近于零;套索回归部分参数可精确为零
评估指标 MSE、RMSE、$R^2$
调整参数选择 交叉验证、网格搜索

流程图总结

graph LR;
    A[数据特征分析] --> B{线性 or 非线性};
    B -- 线性 --> C{自变量独立?};
    C -- 是 --> D[多元线性回归];
    C -- 否 --> E{需要变量选择?};
    E -- 否 --> F[岭回归];
    E -- 是 --> G[套索回归];
    B -- 非线性 --> H[多项式回归];
    D --> I[模型训练];
    F --> I;
    G --> I;
    H --> I;
    I --> J[模型评估];
    J --> K{性能是否满意};
    K -- 是 --> L[使用模型预测];
    K -- 否 --> M[调整参数或更换算法];
    M --> I;

通过以上内容,我们对回归算法有了全面的了解,从算法的原理、应用场景、性能评估到参数选择,都进行了详细的介绍。希望这些知识能够帮助读者在实际工作中更好地运用回归分析,解决各种数据问题。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值