回归任务:典型算法与损失函数详解
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
通过以上流程和方法,我们可以有效地完成回归任务,选择合适的算法和损失函数,优化回归模型,使其更好地适应不同的数据和问题。在实际应用中,需要根据具体情况灵活调整和选择,以达到最佳的预测效果。
回归算法与损失函数详解
超级会员免费看
2037

被折叠的 条评论
为什么被折叠?



