57、回归任务:典型算法与损失函数详解

回归算法与损失函数详解

回归任务:典型算法与损失函数详解

1. 套索回归(Lasso Regression)

套索回归是一种线性回归方法,其参数估计的矩阵表示如下。与线性回归类似,套索回归的残差平方和(RSS)表示为:
[
\begin{align }
\widehat{RSS}_{lasso}(\widehat{\theta})&=(y - X\widehat{\theta})^T(y - X\widehat{\theta}) + \lambda\widehat{\theta}\
&= y^Ty - 2y^TX\widehat{\theta} + \widehat{\theta}^TX^TX\widehat{\theta} + \lambda\widehat{\theta}
\end{align
}
]

求解其梯度并令其为零:
[
\begin{align }
\frac{\partial\widehat{RSS}_{lasso}(\widehat{\theta})}{\partial\widehat{\theta}}&=\frac{\partial(y^Ty - 2y^TX\widehat{\theta} + \widehat{\theta}^TX^TX\widehat{\theta} + \lambda\widehat{\theta})}{\partial\widehat{\theta}}\
&= -2X^Ty + 2X^TX\widehat{\theta} + \lambda\
&= 0
\end{align
}
]

因此,套索回归的参数估计为:
[
\widehat{\theta}_{lasso} = (2X^TX)^{-1}(2X^Ty - \lambda)
]

套索回归的操作步骤如下:
1. 准备数据集,将其分为特征矩阵 (X) 和目标向量 (y)。
2. 确定正则化参数 (\lambda) 的值。
3. 根据上述公式计算参数估计 (\widehat{\theta}_{lasso})。

2. 贝叶斯回归(Bayesian Regression)

之前介绍的回归算法(如多元线性回归、多项式回归、岭回归和套索回归)都是基于最小二乘法(即最小化残差平方和)来求解线性回归的参数。岭回归和套索回归只是增加了一个正则化项。这些方法基于大数定律,需要大量的训练样本,相当于线性回归的频率方法,因此被称为频率主义线性回归。

贝叶斯回归,也称为贝叶斯线性回归,是一种基于贝叶斯推断的线性回归分析模型。它根据先验信息和似然信息推断回归参数,为训练样本不足的回归问题提供了一种有效的方法。

贝叶斯回归最常用的是正态线性模型,即给定自变量,因变量服从高斯分布。

给定有限数量的 (n) 个训练样本 (S = {(x_i, y_i) | i = 1, \ldots, n}),其目标函数表示为 (y = X\theta + \varepsilon)。

基于高斯先验分布,参数 (\theta) 和误差项 (\varepsilon) 在零均值条件下可以表示为:
[
\begin{align }
\theta &\sim N(0, \Sigma)\
\varepsilon &\sim N(0, \sigma^2I)
\end{align
}
]
其中,协方差 (\Sigma) 和方差 (\sigma^2) 已知,(I) 表示 (n) 阶单位矩阵。

贝叶斯回归计算在训练样本 (S) 条件下参数 (\theta) 的条件概率,即 (p(\theta|S) = p(\theta|X, y))。根据贝叶斯定理,有:
[
p(\theta|X, y) = \frac{p(y|X, \theta)p(\theta)}{p(y|X)}
]
其中,似然函数 (p(y|X, \theta)) 和先验 (p(\theta)) 如下:
[
\begin{align }
p(y|X, \theta) &= N(y|X\theta, \sigma^2I)\
p(\theta) &= N(\theta|0, \Sigma)
\end{align
}
]

基于上述公式,推导其回归的条件概率 (p(\theta|X, y)) 如下:
[
\begin{align }
p(\theta|X, y) &\propto p(y|X, \theta)p(\theta)\
&= N(y|X\theta, \sigma^2I)N(\theta|0, \Sigma)\
&\propto \exp\left(-\frac{1}{2\sigma^2}(y - X\theta)^T(y - X\theta)\right)\exp\left(-\frac{1}{2}\theta^T\Sigma^{-1}\theta\right)\
&= \exp\left(-\frac{1}{2}\left(\frac{1}{\sigma^2}(y - X\theta)^T(y - X\theta) + \theta^T\Sigma^{-1}\theta\right)\right)
\end{align
}
]

为了简化上述表达式,令 (M = \frac{1}{\sigma^2}X^TX + \Sigma^{-1}),(b = \frac{1}{\sigma^2}X^Ty),则表达式变为:
[
\frac{1}{\sigma^2}(y - X\theta)^T(y - X\theta) + \theta^T\Sigma^{-1}\theta = \theta^TM\theta - 2b^T\theta
]

通过应用以下恒等式完成二次型:
[
\theta^TM\theta - 2b^T\theta = (\theta - M^{-1}b)^TM(\theta - M^{-1}b) - b^TM^{-1}b
]

代入上述指数部分,得到:
[
p(\theta|X, y) \propto \exp\left(-\frac{1}{2}(\theta - M^{-1}b)^TM(\theta - M^{-1}b)\right)
]

已知参数 (\theta) 的高斯密度满足以下表达式:
[
N(\theta|\mu, \Sigma) = |2\pi\Sigma|^{-\frac{1}{2}}\exp\left(-\frac{1}{2}(\theta - \mu)^T\Sigma^{-1}(\theta - \mu)\right)
]

因此,有:
[
p(\theta|X, y) \propto N(\theta|M^{-1}b, M^{-1})
]

贝叶斯回归的操作步骤如下:
1. 准备数据集,将其分为特征矩阵 (X) 和目标向量 (y)。
2. 确定协方差 (\Sigma) 和方差 (\sigma^2) 的值。
3. 计算 (M) 和 (b) 的值。
4. 根据上述公式计算后验均值 (M^{-1}b) 和 (M^{-1})。

3. 回归损失函数

对于回归模型,由于标签的实际值是实数,期望模型准确预测实际值是不现实的。相反,我们希望其预测值尽可能接近实际值。这是回归和分类的本质区别:回归模型的损失函数衡量预测值和实际值之间的误差,而不是像分类模型那样判断这两个值是否相同。

回归的损失函数用于评估回归模型的性能,即通过计算预测值 (\widehat{y}_i) 和实际值 (y_i) 之间的误差,来衡量回归模型的准确性。损失函数也称为评估指标,用于优化回归模型。

设标记的训练样本集为 (S = {(x_i, y_i) | i = 1, \ldots, n}),其中 (x_i) 是第 (i) 个样本,(x_i \in \mathbb{R}^m),(y_i) 是该样本对应的实际值,(y_i \in \mathbb{R}),(n) 表示训练样本数据对的数量。同时,设回归模型对第 (i) 个样本 (x_i) 的预测为 (\widehat{y}_i = h(x_i)),其中 (h(x_i)) 称为回归模型的假设函数。

以下介绍几种常用的损失函数:
|损失函数名称|表达式|特点|
| ---- | ---- | ---- |
|均方误差(MSE)|(MSE = \frac{1}{n}\sum_{i=1}^{n}(y_i - \widehat{y} i)^2)|对大误差有正则化作用,易于求导,优化模型方便,稳定性好,但对异常值赋予较高权重|
|均方根误差(RMSE)|(RMSE = \sqrt{\frac{1}{n}\sum
{i=1}^{n}(y_i - \widehat{y}_i)^2})|单位与因变量相同,常用于评估模型对数据集的拟合程度|

下面是均方误差和均方根误差的操作步骤:
1. 准备数据集,得到实际值 (y_i) 和预测值 (\widehat{y}_i)。
2. 根据上述表达式计算均方误差和均方根误差。

mermaid格式流程图如下:

graph LR
    A[准备数据集] --> B[选择回归算法]
    B --> C{是否为套索回归}
    C -- 是 --> D[计算套索回归参数估计]
    C -- 否 --> E{是否为贝叶斯回归}
    E -- 是 --> F[计算贝叶斯回归后验均值和协方差]
    E -- 否 --> G[选择其他回归算法]
    D --> H[评估模型性能]
    F --> H
    G --> H
    H --> I[选择损失函数]
    I --> J{是否为均方误差}
    J -- 是 --> K[计算均方误差]
    J -- 否 --> L{是否为均方根误差}
    L -- 是 --> M[计算均方根误差]
    L -- 否 --> N[选择其他损失函数]
    K --> O[优化模型]
    M --> O
    N --> O

通过以上内容,我们详细介绍了套索回归、贝叶斯回归以及几种常用的回归损失函数。这些方法和指标在回归分析中都具有重要的应用价值,可以帮助我们更好地理解和优化回归模型。

回归任务:典型算法与损失函数详解

4. 其他常用回归损失函数

除了均方误差(MSE)和均方根误差(RMSE),还有一些其他常用的回归损失函数,下面为你详细介绍:
|损失函数名称|表达式|特点|
| ---- | ---- | ---- |
|平均绝对误差(MAE)|(MAE = \frac{1}{n}\sum_{i = 1}^{n}|y_i-\widehat{y} i|)|对异常值不敏感,反映预测值与实际值的平均绝对偏差|
|平均绝对百分比误差(MAPE)|(MAPE=\frac{1}{n}\sum
{i = 1}^{n}\left|\frac{y_i-\widehat{y} i}{y_i}\right|\times100\%)|以百分比形式表示误差,便于不同规模数据比较,但分母为零时有问题|
|平均偏差误差(MBE)|(MBE=\frac{1}{n}\sum
{i = 1}^{n}(y_i - \widehat{y} i))|可判断预测值整体上是高估还是低估实际值,但正负误差可能相互抵消|
|相对绝对误差(RAE)|(RAE=\frac{\sum
{i = 1}^{n}|y_i-\widehat{y} i|}{\sum {i = 1}^{n}|y_i-\overline{y}|}),其中(\overline{y}=\frac{1}{n}\sum_{i = 1}^{n}y_i)|相对误差指标,与简单预测方法对比评估模型|
|相对平方误差(RSE)|(RSE=\frac{\sum_{i = 1}^{n}(y_i-\widehat{y} i)^2}{\sum {i = 1}^{n}(y_i-\overline{y})^2})|相对误差指标,反映模型相对简单预测方法的优劣|
|Huber损失|(L_{\delta}(y,\widehat{y})=\begin{cases}\frac{1}{2}(y - \widehat{y})^2, & \text{if }|y - \widehat{y}|\leq\delta\\delta(|y - \widehat{y}|-\frac{1}{2}\delta), & \text{if }|y - \widehat{y}|>\delta\end{cases})|结合了MSE和MAE优点,对异常值鲁棒性好|
|对数双曲余弦损失|(L(y,\widehat{y})=\sum_{i = 1}^{n}\log(\cosh(\widehat{y} i - y_i)))|对异常值鲁棒,二阶可导,优化过程稳定|
|决定系数((R^2))|(R^2 = 1-\frac{\sum
{i = 1}^{n}(y_i-\widehat{y} i)^2}{\sum {i = 1}^{n}(y_i-\overline{y})^2})|衡量模型对数据的拟合优度,值越接近1拟合越好|

下面是这些损失函数的操作步骤:
1. 准备数据集,获取实际值 (y_i) 和预测值 (\widehat{y}_i)。
2. 根据上述对应的表达式,分别计算各个损失函数的值。

5. 损失函数选择建议

不同的损失函数适用于不同的场景,以下是一些选择建议:
- 数据中异常值较少 :可以优先选择均方误差(MSE),因为它对大误差有正则化作用,且易于求导,能方便地优化模型。
- 关注预测值与实际值的平均绝对偏差 :平均绝对误差(MAE)是一个不错的选择,它对异常值不敏感。
- 需要以百分比形式评估误差 :平均绝对百分比误差(MAPE)更合适,但要注意分母不能为零的情况。
- 判断预测值整体上是高估还是低估实际值 :平均偏差误差(MBE)可提供相关信息,但要注意正负误差可能相互抵消。
- 与简单预测方法对比评估模型 :相对绝对误差(RAE)和相对平方误差(RSE)是有效的指标。
- 数据中存在异常值 :Huber损失和对数双曲余弦损失对异常值具有较好的鲁棒性。
- 衡量模型对数据的拟合优度 :决定系数((R^2))是常用的指标,值越接近1表示模型拟合越好。

6. 总结与应用流程

在回归任务中,我们可以按照以下流程进行操作:
1. 数据准备 :收集并整理数据集,将其分为特征矩阵 (X) 和目标向量 (y)。
2. 算法选择 :根据数据特点和问题需求,选择合适的回归算法,如套索回归、贝叶斯回归等。
3. 参数估计 :使用所选算法计算回归参数。
- 套索回归:根据公式 (\widehat{\theta} {lasso} = (2X^TX)^{-1}(2X^Ty - \lambda)) 计算参数估计。
- 贝叶斯回归:计算 (M = \frac{1}{\sigma^2}X^TX + \Sigma^{-1}),(b = \frac{1}{\sigma^2}X^Ty),进而得到后验均值 (M^{-1}b) 和 (M^{-1})。
4. 模型评估 :选择合适的损失函数评估模型性能。
- 均方误差(MSE):(MSE = \frac{1}{n}\sum
{i=1}^{n}(y_i - \widehat{y} i)^2)
- 均方根误差(RMSE):(RMSE = \sqrt{\frac{1}{n}\sum
{i=1}^{n}(y_i - \widehat{y}_i)^2})
- 其他损失函数:按照对应表达式计算。
5. 模型优化 :根据损失函数的值,调整模型参数,优化模型性能。

mermaid格式流程图如下:

graph LR
    A[数据准备] --> B[算法选择]
    B --> C{套索回归}
    C -- 是 --> D[套索回归参数估计]
    C -- 否 --> E{贝叶斯回归}
    E -- 是 --> F[贝叶斯回归参数计算]
    E -- 否 --> G[其他回归算法]
    D --> H[模型评估]
    F --> H
    G --> H
    H --> I{选择损失函数}
    I --> J{均方误差}
    J -- 是 --> K[计算MSE]
    J -- 否 --> L{均方根误差}
    L -- 是 --> M[计算RMSE]
    L -- 否 --> N[其他损失函数计算]
    K --> O[模型优化]
    M --> O
    N --> O

通过以上流程和方法,我们可以有效地完成回归任务,选择合适的算法和损失函数,优化回归模型,使其更好地适应不同的数据和问题。在实际应用中,需要根据具体情况灵活调整和选择,以达到最佳的预测效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值