支持向量回归(SVR)

支持向量回归(Support Vector Regression, SVR)是支持向量机(SVM)的一种扩展,用于回归分析,即用于预测连续数值型目标。它的原理与分类任务中的支持向量机类似,SVR 通过最大化回归模型的间隔,同时允许部分样本违反一定的误差范围,以提高模型的鲁棒性。

1. 支持向量回归的基本概念

与分类中的 SVM 相似,SVR 也试图在数据点中找到一个“最优超平面”,但在回归问题中,这个超平面是一个回归函数,它尽可能接近数据点,并在允许误差的范围内做出预测。

在 SVR 中,我们需要找到一个函数 f ( x ) f(x) f(x),使得它能够预测样本的输出值,并且误差尽可能地小。同时,允许误差在一定的范围内,而不去惩罚这些误差。这种允许误差的范围由一个参数 ϵ \epsilon ϵ 控制,这就是 SVR 的 ϵ \epsilon ϵ -不敏感损失函数。

2. ϵ \epsilon ϵ-不敏感损失函数

在 SVR 中,引入了一个 ϵ \epsilon ϵ 参数,用来表示误差的容忍范围。如果预测值与真实值之间的差异小于 ϵ \epsilon ϵ,则认为没有损失。如果差异大于 ϵ \epsilon ϵ,则产生损失。

损失函数:

对于每个样本 ( x i , y i ) (x_i, y_i) (xi,yi),SVR 的损失函数定义为:

L ϵ ( y i , f ( x i ) ) = max ⁡ ( 0 , ∣ y i − f ( x i ) ∣ − ϵ ) L_{\epsilon}(y_i, f(x_i)) = \max(0, |y_i - f(x_i)| - \epsilon) Lϵ(yi,f(xi))=max(0,yif(xi)ϵ)

  • 当预测值 f ( x i ) f(x_i) f(xi) 与真实值 y i y_i yi 之间的差异小于 ϵ \epsilon ϵ 时,损失为零,即不惩罚误差。
  • 当差异大于 ϵ \epsilon ϵ 时,损失为 ∣ y i − f ( x i ) ∣ − ϵ |y_i - f(x_i)| - \epsilon yif(xi)ϵ

这种损失函数叫做 ϵ \epsilon ϵ-不敏感损失( ϵ \epsilon ϵ-insensitive loss),它允许一定范围内的误差,而不对模型产生惩罚。

3. 支持向量回归的优化目标

SVR 的目标是找到一个函数 f ( x ) = w T x + b f(x) = w^T x + b f(x)=wTx+b,使得大多数样本的预测误差不超过 ϵ \epsilon ϵ,同时尽量使模型简单(即最大化回归函数的间隔)。因此,SVR 的优化目标可以写作:

优化问题:

min ⁡ w , b , ξ i , ξ i ∗   1 2 ∥ w ∥ 2 + C ∑ i = 1 n ( ξ i + ξ i ∗ ) \min_{w, b, \xi_i, \xi_i^*} \ \frac{1}{2} \|w\|^2 + C \sum_{i=1}^n (\xi_i + \xi_i^*) w,b,ξi,ξimin 21w2+Ci=1n(ξi+ξi)

其中:

  • 1 2 ∥ w ∥ 2 \frac{1}{2} \|w\|^2 21w2:用于控制模型的复杂度,保持函数的平滑性。
  • C ∑ i = 1 n ( ξ i + ξ i ∗ ) C \sum_{i=1}^n (\xi_i + \xi_i^*) Ci=1n(ξi+ξi):对违反 ϵ \epsilon ϵ 不敏感损失函数的样本施加惩罚,控制误差。
  • ξ i \xi_i ξi ξ i ∗ \xi_i^* ξi:松弛变量,用于处理误差大于 ϵ \epsilon ϵ 的样本,分别表示预测值高于或低于真实值时的误差。
约束条件:

对于每个样本 ( x i , y i ) (x_i, y_i) (xi,yi),约束条件是:
y i − ( w T x i + b ) ≤ ϵ + ξ i ∗ y_i - (w^T x_i + b) \leq \epsilon + \xi_i^* yi(wTxi+b)ϵ+ξi
( w T x i + b ) − y i ≤ ϵ + ξ i (w^T x_i + b) - y_i \leq \epsilon + \xi_i (wTxi+b)yiϵ+ξi
ξ i , ξ i ∗ ≥ 0 \xi_i, \xi_i^* \geq 0 ξi,ξi0

这些约束条件保证了大部分数据点的预测值 f ( x i ) = w T x i + b f(x_i) = w^T x_i + b f(xi)=wTxi+b 距离真实值 y i y_i yi 的误差不超过 ϵ \epsilon ϵ,允许有一部分样本的误差通过松弛变量 ξ i \xi_i ξi ξ i ∗ \xi_i^* ξi 来表示。

4. 对偶问题的推导

为了求解 SVR 的优化问题,通常会将其转化为对偶问题。SVR 的对偶问题与支持向量分类器的对偶问题类似:

拉格朗日函数

我们引入拉格朗日乘子 α i , α i ∗ , λ i , λ i ∗ \alpha_i, \alpha_i^*, \lambda_i, \lambda_i^* αi,αi,λi,λi 来处理约束条件,构造拉格朗日函数:

L ( w , b , ξ i , ξ i ∗ , α i , α i ∗ , λ i , λ i ∗ ) = 1 2 ∥ w ∥ 2 + C ∑ i = 1 n ( ξ i + ξ i ∗ ) − ∑ i = 1 n α i [ ϵ + ξ i − y i + w T x i + b ] − ∑ i = 1 n α i ∗ [ ϵ + ξ i ∗ + y i − w T x i − b ] − ∑ i = 1 n ( λ i ξ i + λ i ∗ ξ i ∗ ) L(w, b, \xi_i, \xi_i^*, \alpha_i, \alpha_i^*, \lambda_i, \lambda_i^*) = \frac{1}{2} \|w\|^2 + C \sum_{i=1}^n (\xi_i + \xi_i^*) - \sum_{i=1}^n \alpha_i [\epsilon + \xi_i - y_i + w^T x_i + b] - \sum_{i=1}^n \alpha_i^* [\epsilon + \xi_i^* + y_i - w^T x_i - b] - \sum_{i=1}^n (\lambda_i \xi_i + \lambda_i^* \xi_i^*) L(w,b,ξi,ξi,αi,αi,λi,λi)=21w2+Ci=1n(ξi+ξi)i=1nαi[ϵ+ξiyi+wTxi+b]i=1nαi[ϵ+ξi+yiwTxib]i=1n(λiξi+λiξi)

通过对 w w w b b b ξ i \xi_i ξi ξ i ∗ \xi_i^* ξi 求偏导并消去这些变量,可以得到 SVR 的对偶问题。

对偶优化问题:

max ⁡ α i , α i ∗   − 1 2 ∑ i , j = 1 n ( α i − α i ∗ ) ( α j − α j ∗ ) x i T x j − ϵ ∑ i = 1 n ( α i + α i ∗ ) + ∑ i = 1 n y i ( α i − α i ∗ ) \max_{\alpha_i, \alpha_i^*} \ - \frac{1}{2} \sum_{i,j=1}^n (\alpha_i - \alpha_i^*) (\alpha_j - \alpha_j^*) x_i^T x_j - \epsilon \sum_{i=1}^n (\alpha_i + \alpha_i^*) + \sum_{i=1}^n y_i (\alpha_i - \alpha_i^*) αi,αimax 21i,j=1n(αiαi)(αjαj)xiTxjϵi=1n(αi+αi)+i=1nyi(αiαi)

约束条件:
  1. 0 ≤ α i , α i ∗ ≤ C 0 \leq \alpha_i, \alpha_i^* \leq C 0αi,αiC
  2. ∑ i = 1 n ( α i − α i ∗ ) = 0 \sum_{i=1}^n (\alpha_i - \alpha_i^*) = 0 i=1n(αiαi)=0

5. 支持向量回归的最终决策函数

通过求解对偶问题中的拉格朗日乘子 α i \alpha_i αi α i ∗ \alpha_i^* αi,最终的决策函数可以表示为:

f ( x ) = ∑ i = 1 n ( α i − α i ∗ ) x i T x + b f(x) = \sum_{i=1}^n (\alpha_i - \alpha_i^*) x_i^T x + b f(x)=i=1n(αiαi)xiTx+b

这表明预测值是基于训练数据中的一些关键样本(支持向量)计算的。

6. 总结

支持向量回归(SVR)是对 SVM 的扩展,用于回归问题。它通过引入 ϵ \epsilon ϵ-不敏感损失函数,允许预测值与真实值在一定范围内存在误差,并通过优化模型复杂度和误差的折中,找到一个最优回归模型。SVR 的最终决策函数类似于 SVM,仍然依赖于支持向量。

鱼鹰算法优化支持向量机(OOA-SVR)是一种基于鱼鹰算法的支持向量机优化方法。支持向量机(Support Vector Machine,SVM)是一种常用的机器学习算法,用于分类和回归问题。 鱼鹰算法是一种基于自然界中鱼鹰捕食行为的优化算法。它模拟了鱼鹰在捕食过程中的搜索和追踪策略,通过不断调整搜索空间中的候选解来寻找最优解。 OOA-SVR方法将鱼鹰算法应用于支持向量机的优化过程中,以提高支持向量机的性能和精度。其原理如下: 1. 初始化种群:根据问题的特点和要求,初始化一定数量的鱼鹰个体作为初始种群。 2. 评估适应度:根据支持向量机的目标函数,计算每个个体的适应度值,评估其性能。 3. 更新位置:根据鱼鹰算法的搜索策略,通过调整个体的位置来更新种群。这里的位置表示支持向量机模型中的参数,如权重和偏置。 4. 更新速度:根据个体之间的位置差异和适应度值,更新个体的速度。速度的更新可以帮助个体更好地搜索最优解。 5. 选择操作:根据适应度值,选择一部分个体作为下一代的父代,用于产生新的个体。 6. 交叉和变异:通过交叉和变异操作,生成新的个体,并加入到下一代种群中。 7. 终止条件:根据预设的终止条件,判断是否满足停止迭代的条件。如果满足,则输出最优解;否则,返回第3步继续迭代。 通过以上步骤,OOA-SVR方法能够通过鱼鹰算法的优化策略,不断调整支持向量机模型的参数,以找到更优的分类或回归模型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值