【自学笔记】支持向量机(4)——支持向量回归SVR

news/2024/11/17 19:44:37/

引入

  SVM解决了分类问题,而用类似方法解决回归问题的模型称为支持向量回归。目标是得到一个模型,使输出的 f ( x ⃗ ) f(\vec{x}) f(x ) y y y尽可能接近。

  传统的回归模型直接计算 f ( x ⃗ ) f(\vec{x}) f(x ) y y y的差距作为损失,当两者完全相等时损失为0;而SVR加入了支持向量,使得模型能够容忍 ε \varepsilon ε的偏差,即在距离 f ( x ) f(x) f(x)不超过 ε \varepsilon ε的样本被认为预测正确,损失为0。
网图

建立数学模型

  根据上述,类似SVM,我们可以写出SVR的损失函数和问题转化:

m i n w ⃗ , b 1 2 ∣ ∣ w ⃗ ∣ ∣ 2 + C ∑ i = 1 m ℓ ε ( f ( x ⃗ i ) − y i ) min_{\vec{w}, b}\ \frac{1}{2}||\vec{w}||^{2}+C\sum_{i=1}^{m}\ell _{\varepsilon}(f(\vec{x}_{i})-y_{i}) minw ,b 21∣∣w 2+Ci=1mε(f(x i)yi)
其中 ℓ ε ( z ) = { 0 , i f ∣ z ∣ ≥ ε ; ∣ z ∣ − ε , o t h e r w i s e . \ell _{\varepsilon}(z)=\begin{cases}0,\ if \ |z| \ge \varepsilon; \\|z|-\varepsilon, \ otherwise.\end{cases} ε(z)={0, if zε;zε, otherwise.称为 ε − \varepsilon- ε不敏感损失函数( ε \varepsilon ε-insensitive loss)

  接下来就是经典的拉格朗日法处理二次规划问题。引入松弛变量 ξ i \xi_{i} ξi ξ ^ i \hat{\xi}_{i} ξ^i

m i n w ⃗ , b 1 2 ∣ ∣ w ⃗ ∣ ∣ 2 + C ∑ i = 1 m ( ξ i + ξ ^ i ) min_{\vec{w}, b}\ \frac{1}{2}||\vec{w}||^{2}+C\sum_{i=1}^{m}(\xi_{i}+\hat{\xi}_{i}) minw ,b 21∣∣w 2+Ci=1m(ξi+ξ^i)
s . t . { f ( x ⃗ i ) − y i ≤ ε + ξ i ; y i − f ( x ⃗ i ) ≤ ε + ξ i ; ξ i ≥ 0 , ξ ^ i ≥ 0 , i = 1 , 2 , . . . , m . s.t.\ \begin{cases}f(\vec{x}_{i})-y_{i} \le \varepsilon+\xi_{i}; \\ y_{i}-f(\vec{x}_{i}) \le \varepsilon+\xi_{i};\\\xi_{i} \ge 0, \hat{\xi}_{i} \ge 0,\ \ i=1,2,..., m.\end{cases} s.t.  f(x i)yiε+ξi;yif(x i)ε+ξi;ξi0,ξ^i0,  i=1,2,...,m.

  这里使用双松弛变量,可以更好地处理边界误差,因为误差不一定是对称的。
  接下来引入拉格朗日乘子得到拉格朗日函数:

μ i ≥ 0 , μ ^ i ≥ 0 , α i ≥ 0 , α ^ i ≥ 0 \mu_{i} \ge 0,\hat{\mu}_{i} \ge 0,\alpha_{i} \ge 0, \hat{\alpha}_{i} \ge 0 μi0,μ^i0,αi0,α^i0
L ( w ⃗ , b , α , α ^ , ξ , ξ ^ , μ , μ ^ ) L(\vec{w},b,\alpha,\hat{\alpha},\xi,\hat{\xi},\mu,\hat{\mu}) L(w ,b,α,α^,ξ,ξ^,μ,μ^)
= 1 2 ∣ ∣ w ⃗ ∣ ∣ 2 + C ∑ i = 1 m ( ξ i + ξ ^ i ) − ∑ i = 1 m μ i ξ i − ∑ i = 1 m μ ^ i ξ ^ i =\frac{1}{2}||\vec{w}||^{2}+C\sum_{i=1}^{m}(\xi_{i}+\hat{\xi}_{i})-\sum_{i=1}^{m}\mu_{i}\xi_{i}-\sum_{i=1}^{m}\hat{\mu}_{i}\hat{\xi}_{i} =21∣∣w 2+Ci=1m(ξi+ξ^i)i=1mμiξii=1mμ^iξ^i
+ ∑ i = 1 m α i ( f ( x ⃗ i ) − y i − ε − ξ i ) + ∑ i = 1 m α i ( y i − f ( x ⃗ i ) − ε − ξ ^ i ) +\sum_{i=1}^{m}\alpha_{i}(f(\vec{x}_{i})-y_{i}-\varepsilon-\xi_{i})+\sum_{i=1}^{m}\alpha_{i}(y_{i}-f(\vec{x}_{i})-\varepsilon-\hat{\xi}_{i}) +i=1mαi(f(x i)yiεξi)+i=1mαi(yif(x i)εξ^i)

  令 L L L w ⃗ , b , ξ i , ξ ^ i \vec{w},b,\xi_{i},\hat{\xi}_{i} w ,b,ξi,ξ^i偏导为0得:

w ⃗ = ∑ i = 1 m ( α ^ i − α i ) x ⃗ i \vec{w}=\sum_{i=1}^{m}(\hat{\alpha}_{i}-\alpha_{i})\vec{x}_{i} w =i=1m(α^iαi)x i
0 = ∑ i = 1 m ( α ^ i − α i ) 0=\sum_{i=1}^{m}(\hat{\alpha}_{i}-\alpha_{i}) 0=i=1m(α^iαi)
C = α i + μ i = α ^ i + μ ^ i C=\alpha_{i}+\mu_{i}=\hat{\alpha}_{i}+\hat{\mu}_{i} C=αi+μi=α^i+μ^i

  代回得到对偶问题:

m a x α , α ^ ∑ i = 1 m y i ( α ^ i − α i ) − ε ( α ^ i + α i ) max_{\alpha, \hat{\alpha}}\sum_{i=1}^{m}y_{i}(\hat{\alpha}_{i}-\alpha_{i})-\varepsilon(\hat{\alpha}_{i}+\alpha_{i}) maxα,α^i=1myi(α^iαi)ε(α^i+αi)
− 1 2 ∑ i = 1 m ∑ j = 1 m ( α ^ i − α i ) ( α ^ j − α j ) x ⃗ i T x ⃗ j \ \ \ \ \ \ \ \ \ \ \ \ \ \ -\frac{1}{2}\sum_{i=1}{m}\sum_{j=1}^{m}(\hat{\alpha}_{i}-\alpha_{i})(\hat{\alpha}_{j}-\alpha_{j})\vec{x}_{i}^{T}\vec{x}_{j}               21i=1mj=1m(α^iαi)(α^jαj)x iTx j
s . t . ∑ i = 1 m ( α ^ i − α i ) = 0 , s.t. \sum_{i=1}^{m}(\hat{\alpha}_{i}-\alpha_{i})=0, s.t.i=1m(α^iαi)=0,
0 ≤ α i , α ^ i ≤ C . \ \ \ \ \ \ 0 \le \alpha_{i}, \hat{\alpha}_{i} \le C.       0αi,α^iC.

KKT条件:
{ α i ( f ( x ⃗ i ) − y i − ε − ξ i ) = 0 , α ^ i ( y i − f ( x ⃗ i ) − ε − ξ ^ i ) = 0 , α i α ^ i = 0 , ξ i ξ ^ i = 0 , ( C − α i ) ξ i = 0 , ( C − α ^ i ) ξ ^ i = 0. \begin{cases} \alpha_{i}(f(\vec{x}_{i})-y_{i}-\varepsilon -\xi_{i})=0, \\\hat{\alpha} _{i}(y_{i}-f(\vec{x}_{i})-\varepsilon -\hat{\xi} _{i})=0, \\\alpha_{i}\hat{\alpha}_{i}=0, \\\xi_{i}\hat{\xi}_{i}=0, \\(C-\alpha_{i})\xi_{i}=0, \\(C-\hat{\alpha} _{i})\hat{\xi} _{i}=0. \end{cases} αi(f(x i)yiεξi)=0,α^i(yif(x i)εξ^i)=0,αiα^i=0,ξiξ^i=0,(Cαi)ξi=0,(Cα^i)ξ^i=0.

  有 α i \alpha_{i} αi f ( x ⃗ i ) − y i − ε − ξ i f(\vec{x}_{i})-y_{i}-\varepsilon -\xi_{i} f(x i)yiεξi不能同时非零; α ^ i \hat{\alpha} _{i} α^i y i − f ( x ⃗ i ) − ε − ξ ^ i y_{i}-f(\vec{x}_{i})-\varepsilon -\hat{\xi} _{i} yif(x i)εξ^i不能同时非零。

  而 f ( x ⃗ i ) − y i − ε − ξ i f(\vec{x}_{i})-y_{i}-\varepsilon -\xi_{i} f(x i)yiεξi y i − f ( x ⃗ i ) − ε − ξ ^ i y_{i}-f(\vec{x}_{i})-\varepsilon -\hat{\xi} _{i} yif(x i)εξ^i不可能同时为0(支持向量的意义)。所以 α i \alpha_{i} αi α ^ i \hat{\alpha}_{i} α^i至少有一个为 0 0 0

  代回后解得:

f ( x ) = ∑ i = 1 m ( α ^ i − α i ) x ⃗ i T x ⃗ + b f(x)=\sum_{i=1}^{m}(\hat{\alpha}_{i}-\alpha_{i})\vec{x}_{i}^{T}\vec{x}+b f(x)=i=1m(α^iαi)x iTx +b

  其中,一定存在 i i i,使得 0 < α i < C 0<\alpha_{i}<C 0<αi<C从而使 ξ i = 0 \xi_{i}=0 ξi=0,进而推出 b b b

b = y i + ε − ∑ j = 1 m ( α ^ j − α j ) x ⃗ j T x ⃗ i b=y_{i}+\varepsilon-\sum_{j=1}^{m}(\hat{\alpha}_{j}-\alpha_{j})\vec{x}_{j}^{T}\vec{x}_{i} b=yi+εj=1m(α^jαj)x jTx i

  加上特征映射与核函数,有:

f ( x ) = ∑ i = 1 m ( α ^ i − α i ) κ ( x ⃗ i , x ⃗ ) + b f(x)=\sum_{i=1}^{m}(\hat{\alpha}_{i}-\alpha_{i})\kappa(\vec{x}_{i},\vec{x})+b f(x)=i=1m(α^iαi)κ(x i,x )+b


http://www.ppmy.cn/news/1531915.html

相关文章

直播加速所用的网络协议与网速比我们平常使用的有什么特殊

直播加速所用的网络协议与我们平常使用的协议&#xff08;如HTTP、TCP等&#xff09;相比&#xff0c;确实具有一些特殊之处。这些协议的设计目的是为了满足直播场景下的实时性和稳定性需求。以下是一些关键特性和比较&#xff1a; 1. 实时性要求 UDP协议&#xff1a;直播常用…

工厂模式在短信发送中的应用 —— 以腾讯云、阿里云、华为云为例

1. 问题背景 假设你在开发一个短信发送的系统&#xff0c;用户可以选择不同的服务提供商&#xff08;比如腾讯云、阿里云、华为云&#xff09;来发送短信。每个服务商提供的接口不同&#xff0c;但最终的目的是相同的——发送短信。这时&#xff0c;我们面临的问题是如何设计一…

UE4中 -skipbuild -nocompile 有什么区别

在项目开发中&#xff0c;我看到了在调用 Engine\\Build\\BatchFiles\\RunUAT.bat 相关的命令行中&#xff0c;有 -skipbuild、 -nocompile 两个很像的参数&#xff0c;于是想探究一下它们的区别与含义。 -skipbuild 参数 到底有没有 -skipbuild 这个参数&#xff1f;根据 http…

React 面试问题以及简要答案

1. 什么是 React&#xff1f; React 是一个 JavaScript 库&#xff0c;用于构建用户界面&#xff0c;特别是数据随时间变化的单页应用程序。它允许开发人员创建可以高效更新和渲染的大型 Web 应用程序。 2. React 的主要特点是什么&#xff1f; JSX&#xff1a;允许将 HTML …

Python知识点:如何使用Flink与Python进行实时数据处理

开篇&#xff0c;先说一个好消息&#xff0c;截止到2025年1月1日前&#xff0c;翻到文末找到我&#xff0c;赠送定制版的开题报告和任务书&#xff0c;先到先得&#xff01;过期不候&#xff01; 如何使用Flink与Python进行实时数据处理 Apache Flink是一个流处理框架&#xf…

力扣面试经典150题——合并两个有序数组

目录 题目链接&#xff1a; 题目描述 示例 提示&#xff1a; 解法一&#xff1a;合并数组排序 Java写法&#xff1a; 运行时间 C写法&#xff1a; 运行时间 时间复杂度和空间复杂度 解法二&#xff1a;双指针 Java写法&#xff1a; 运行时间 C写法&#xff1a; 运…

三小时快速上手TypeScript,TS速通教程(上篇、中篇、下篇、附加篇)

TypeScript速通 Typescript简介为什么需要TypeScriptJavaScript今非昔比JavaScript中的困扰1. 不清不楚的数据类型2. 有漏洞的逻辑3. 访问不存在的属性4. 低级的拼写错误 TypeScript静态类型检查 编译 TypeScript1. 命令行编译2. 自动化编译 类型声明类型推断类型总览JavaScrip…

2025 年 IT 前景:机遇与挑战并存,人工智能和云计算成重点

云计算de小白 投资人工智能&#xff1a;平衡潜力与实用性 到 2025 年&#xff0c;人工智能将成为 IT 支出的重要驱动力&#xff0c;尤其是在生成式人工智能领域。人工智能的前景在于它有可能彻底改变业务流程、增强决策能力并开辟新的收入来源。然而&#xff0c;现实情况更加微…