机器学习——SVM的回归形式(SVR)

2023-10-30 02:59
文章标签 学习 机器 回归 形式 svm svr

本文主要是介绍机器学习——SVM的回归形式(SVR),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

岭回归(ridge regression)
在前面的一篇博客(机器学习——线性回归(Linear Regression))中提到,线性回归的解析解如下,
w = ( X T X ) − 1 X T y w = {({X^T}X)^{ - 1}}{X^T}y w=(XTX)1XTy
其中,X的维数为 N × ( d + 1 ) N \times (d + 1) N×(d+1)。因为大多数情况下样本量(N)是远大于特征数(d)的,所以, X T X X^TX XTX常常是可逆的。但当X不是列满秩矩阵时,即特征数比样本数还要多,则 X T X X^TX XTX的行列式为0, X T X X^TX XTX不可逆;或者X的某些列的线性相关性比较大时, X T X X^TX XTX的行列式接近0,此时 X T X X^TX XTX为病态矩阵,此时计算逆矩阵误差会比较大。

为了解决 X T X X^TX XTX矩阵求逆的问题,给矩阵 X T X X^TX XTX加上一个 λ I \lambda I λI,从而使矩阵非奇异,进而能对 X T X + λ I {X^T}X + \lambda I XTX+λI求逆,这就是岭回归。

即岭回归的系数计算式为,
W = ( X T X + λ I ) − 1 X T Y W = {({X^T}X + \lambda I)^{ - 1}}{X^T}Y W=(XTX+λI)1XTY

上式中的 λ I \lambda I λI其实是正则化的一种体现,上式是L2-regularized linear regression的解析解,计算过程描述如下:
首先,L2-regularized linear regression的问题可以描述为,
min ⁡ w    λ N w T w + 1 N ∑ n = 1 N ( y n − w T x n ) 2 \mathop {\min }\limits_w \;\frac{\lambda }{N}{w^T}w + \frac{1}{N}\sum\limits_{n = 1}^N {{{({y_n} - {w^T}{x_n})}^2}} wminNλwTw+N1n=1N(ynwTxn)2
写成矩阵形式为,
min ⁡ w    λ N w T w + 1 N ∥ X w − y ∥ 2 \mathop {\min }\limits_w \;\frac{\lambda }{N}{w^T}w + \frac{1}{N}{\left\| {Xw - y} \right\|^2} wminNλwTw+N1Xwy2
对上式求梯度,
∇ ( w ) = 2 λ N w + 1 N ( 2 X T X w − 2 X T y ) = 2 N ( ( λ I + X T X ) w − X T y ) = 0 \nabla (w) = \frac{{2\lambda }}{N}w + \frac{1}{N}(2{X^T}Xw - 2{X^T}y) = \frac{2}{N}((\lambda I + {X^T}X)w - {X^T}y) = 0 (w)=N2λw+N1(2XTXw2XTy)=N2((λI+XTX)wXTy)=0
令梯度为0,求得系数w,为,
w = ( X T X + λ I ) − 1 X T Y w = {({X^T}X + \lambda I)^{ - 1}}{X^T}Y w=(XTX+λI)1XTY

所以,岭回归的系数解析解其实是对线性回归进行L2正则化的一种体现。



最小二乘支持向量机(LSSVM)

在上一篇博客中,提到了Representer Theorem,即对于任意的L2正则化的线性模型,其最佳化的 w w w均可表示为资料线性组合的形式,所以可以考虑把Kernel用在岭回归里,叫做kernel ridge regression

由于 w = ∑ i = 0 N β n z n w = \sum\limits_{i = 0}^N {{\beta _n}{z_n}} w=i=0Nβnzn,所以一旦把岭回归kernel化之后,实际上就是用参数 β \beta β取代了原来的参数 w w w,则现在的kernel ridge regression问题可以描述如下,
min ⁡ β    λ N ∑ n = 1 N ∑ m = 1 N β n β m K ( x n , x m ) + 1 N ∑ n = 1 N ( y n − ∑ m = 1 N β m K ( x n , x m ) ) 2      = λ N β T K β + 1 N ( ∥ y − K β ∥ 2 )                − 转 化 为 矩 阵 形 式      = λ N β T K β + 1 N ( β T K T K β − 2 β T K T y + y T y ) \begin{array}{l} \mathop {\min }\limits_\beta \;\frac{\lambda }{N}\sum\limits_{n = 1}^N {\sum\limits_{m = 1}^N {{\beta _n}{\beta _m}K({x_n},{x_m})} + \frac{1}{N}} \sum\limits_{n = 1}^N {{{({y_n} - \sum\limits_{m = 1}^N {{\beta _m}K({x_n},{x_m})} )}^2}} \\\\ \;\; = \frac{\lambda }{N}{\beta ^T}K\beta + \frac{1}{N}({\left\| {y - K\beta } \right\|^2})\;\;\;\;\;\;\;-转化为矩阵形式\\\\ \;\; = \frac{\lambda }{N}{\beta ^T}K\beta + \frac{1}{N}({\beta ^T}{K^T}K\beta - 2{\beta ^T}{K^T}y + {y^T}y) \end{array} βminNλn=1Nm=1NβnβmK(xn,xm)+N1n=1N(ynm=1NβmK(xn,xm))2=NλβTKβ+N1(yKβ2)=NλβTKβ+N1(βTKTKβ2βTKTy+yTy)
求上式的梯度,如下,
∇ E ( β ) = 2 N ( λ K T I β + K T K β − K T y )                          = 2 N K T ( ( λ I + K ) β − y ) ( 这 里 的 K 是 一 个 半 正 定 的 对 称 矩 阵 ) \begin{array}{l} \nabla E(\beta ) = \frac{2}{N}(\lambda {K^T}I\beta + {K^T}K\beta - {K^T}y)\\\\ \;\;\;\;\;\;\;\;\;\;\;\; = \frac{2}{N}{K^T}((\lambda I + K)\beta - y)\\\\ (这里的K是一个半正定的对称矩阵) \end{array} E(β)=N2(λKTIβ+KTKβKTy)=N2KT((λI+K)βy)(K)
∇ E ( β ) = 0 \nabla {\rm{E}}(\beta ) = 0 E(β)=0,可以得到如下的解析解,
β = ( λ I + K ) − 1 y \beta = {(\lambda I + K)^{ - 1}}y β=(λI+K)1y
该解一定存在,因为 λ > 0 \lambda > 0 λ>0,并且K一定是一个半正定矩阵,所以, λ I + K \lambda I + K λI+K一定可逆。

上面的是kernel ridge regression的参数求解过程,而LSSVM实际上就是kernel ridge regression用于分类的情况,即,

Least-squares SVM(LSSVM)= kernel ridge regression for classification

但LSSVM求解的时间复杂度达到了 O ( N 3 ) O(N^3) O(N3),且求解过程中,矩阵K是稠密的。

下面是linear ridge regression和kernel ridge regression的一个对比,

linear ridge regressionkernel ridge regression
在这里插入图片描述在这里插入图片描述
w = ( X T X + λ I ) − 1 X T Y w = {({X^T}X + \lambda I)^{ - 1}}{X^T}Y w=(XTX+λI)1XTY β = ( λ I + K ) − 1 y \beta = {(\lambda I + K)^{ - 1}}y β=(λI+K)1y
限制更多,形状比较简单更加灵活,边界可以很复杂
训练复杂度: O ( d 3 + d 2 N ) O(d^3+d^2N) O(d3+d2N)
预测复杂度: O ( d ) O(d) O(d)
训练复杂度: O ( N 3 ) O(N^3) O(N3)
预测复杂度: O ( N ) O(N) O(N)
N > > d N>>d N>>d时,计算很高效对于样本数多的情况,计算量太大

所以,从上表可以看出,linear与kernel其实就是对efficiency和flexibility的一个取舍。



Tube Regression

在介绍Tube Regression之前,首先先对Soft-Margin SVM和LSSVM做一个对比,下面两张图是对同一个案例,分别用这两方法所求得的边界示意,
在这里插入图片描述
图中,正方形所框选出的都是支持向量(SVs),从中可以看出,LSSVM有更多的SVs,这就意味着其参数 β \beta β是稠密的,预测起来,也会更慢。但之前说过 ,标准的SVM求得的系数 α \alpha α是稀疏的,所以,要找到一种方法,获得一个稀疏的 β \beta β——Tube Regression

在这里插入图片描述

  • 在tube内(紫色区域内):没有错误
  • 在tube外:计算到tube的距离当作error(红色线为error)

则其误差衡量方式为,
e r r ( y , s ) = max ⁡ ( 0 , ∣ s − y ∣ − ε ) err(y,s) = \max (0,\left| {s - y} \right| - \varepsilon ) err(y,s)=max(0,syε)
这中误差叫做 ε − i n s e n s i t i v e      e r r o r {\rm{\varepsilon - insensitive\;\; error}} εinsensitiveerror,有如下关系,

当 ∣ s − y ∣ ≤ ε : 误 差 为 0 当 ∣ s − y ∣ > ε : 误 差 为 ∣ s − y ∣ − ε \begin{array}{l} 当\left| {s - y} \right| \le \varepsilon :误差为0\\ 当\left| {s - y} \right| > \varepsilon :误差为\left| {s - y} \right|{\rm{ - }}\varepsilon \end{array} syε:0sy>ε:syε

下面将Tube Regression和Squared Regression做一个对比,

Tube RegressionSquared Regression
在这里插入图片描述在这里插入图片描述

误差图像如下,
在这里插入图片描述

  • ∣ s − y ∣ \left| {s - y} \right| sy很小时, t u b e ≈ s q u a r e d tube \approx squared tubesquared;
  • ∣ s − y ∣ \left| {s - y} \right| sy越来越小时,即从中间向两边,tube增长缓慢,不容易受noise影响。

加入L2 regularizer之后,即L2-Regularized Tube Regression描述如下,

min ⁡ w    λ N w T w + 1 N ∑ n = 1 N max ⁡ ( 0 , ∣ w T z n − y ∣ − ε ) \mathop {\min }\limits_w \;\frac{\lambda }{N}{w^T}w + \frac{1}{N}\sum\limits_{n = 1}^N {\max (0,\left| {{w^T}{z_n} - y} \right| - \varepsilon )} wminNλwTw+N1n=1Nmax(0,wTznyε)

将上式改写,可得到SVR的原始形式如下,

min ⁡ b , w    1 2 w T w + C ∑ n = 1 N max ⁡ ( 0 , ∣ w T z n + b − y n ∣ − ε )                                  — — S t a n d a r d      S V R      P r i m a l \mathop {\min }\limits_{b,w} \;\frac{1}{2}{w^T}w + C\sum\limits_{n = 1}^N {\max (0,\left| {{w^T}{z_n} + b - {y_n}} \right| - \varepsilon )}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;——Standard \;\;SVR \;\;Primal b,wmin21wTw+Cn=1Nmax(0,wTzn+bynε)StandardSVRPrimal

上述问题的形式,比方便求解,对比之前SVM部分的推导,将其进行改写,改写后的等价最优化问题如下,
min ⁡ b , w , ξ ∧ , ξ ∨      1 2 w T w + C ∑ n = 1 N ( ξ n ∨ + ξ n ∧ )        s . t .        − ε − ξ n ∨ ≤ y n − w T z n − b ≤ ε + ξ n ∧                              ξ n ∨ ≥ 0 , ξ n ∧ ≥ 0 \begin{array}{l} \mathop {\min }\limits_{b,w,{\xi ^ \wedge },{\xi ^ \vee }} \;\;\frac{1}{2}{w^T}w + C\sum\limits_{n = 1}^N {(\xi _n^ \vee + \xi _n^ \wedge )} \\\\ \;\;\;s.t.\;\;\; - \varepsilon - \xi _n^ \vee \le {y_n} - {w^T}{z_n} - b \le \varepsilon + \xi _n^ \wedge \\\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\xi _n^ \vee \ge 0,\xi _n^ \wedge \ge 0 \end{array} b,w,ξ,ξmin21wTw+Cn=1N(ξn+ξn)s.t.εξnynwTznbε+ξnξn0,ξn0

其中,参数C的含义:regularization和tube violation的权衡
           参数 ε \varepsilon ε的含义:tube的宽度

上述问题可用QP来求解,共有 d ~ + 1 + 2 N \tilde d + 1 + 2N d~+1+2N个变量,4N条约束,接下来,就是把primal问题转为dual问题,移除对 d ~ \tilde d d~的依赖。

引入拉格朗日乘子 α ∧ & α ∨ {\alpha ^ \wedge }\& {\alpha ^ \vee } α&α
目 标 方 程                    1 2 w T w + C ∑ n = 1 N ( ξ n ∨ + ξ n ∧ ) 加 入 α n ∧          f o r            y n − w T z n − b ≤ ε + ξ n ∧ 加 入 α n ∨          f o r      − ε − ξ n ∨ ≤ y n − w T z n − b \begin{array}{l} 目标方程\;\;\;\;\;\;\;\;\;\frac{{\rm{1}}}{{\rm{2}}}{w^T}w + C\sum\limits_{n = 1}^N {(\xi _n^ \vee + \xi _n^ \wedge )} \\\\ 加入\alpha _n^ \wedge \;\;\;\;for\;\;\;\;\;{y_n} - {w^T}{z_n} - b \le \varepsilon + \xi _n^ \wedge \\\\ 加入\alpha _n^ \vee \;\;\;\;for\;\; - \varepsilon - \xi _n^ \vee \le {y_n} - {w^T}{z_n} - b \end{array} 21wTw+Cn=1N(ξn+ξn)αnforynwTznbε+ξnαnforεξnynwTznb

KKT条件:
∂ L ∂ w i = 0 :                w = ∑ n = 1 N ( α n ∧ − α n ∨ ⎵ β n ) z n ∂ L ∂ b = 0 :                  ∑ n = 1 N ( α n ∧ − α n ∨ ) = 0 c o m p l e m e n t a r y      s l a c k n e s s : α n ∧ ( ε + ξ n ∧ − y n + w T z n + b ) = 0 α n ∨ ( ε + ξ n ∨ + y n − w T z n − b ) = 0 \begin{array}{l} \frac{{\partial L}}{{\partial {w_i}}} = 0:\;\;\;\;\;\;\;w = \sum\limits_{n = 1}^N {(\underbrace {\alpha _n^ \wedge - \alpha _n^ \vee }_{{\beta _n}})} {z_n}\\\\ \frac{{\partial L}}{{\partial b}} = 0:\;\;\;\;\;\;\;\;\sum\limits_{n = 1}^N {(\alpha _n^ \wedge - \alpha _n^ \vee )} = 0\\\\ {\rm{complementary \;\;slackness:}}\begin{array}{} {\alpha _n^ \wedge (\varepsilon + \xi _n^ \wedge - {y_n} + {w^T}{z_n} + b) = 0}\\ {\alpha _n^ \vee (\varepsilon + \xi _n^ \vee + {y_n} - {w^T}{z_n} - b) = 0} \end{array} \end{array} wiL=0:w=n=1N(βn αnαn)znbL=0:n=1N(αnαn)=0complementaryslackness:αn(ε+ξnyn+wTzn+b)=0αn(ε+ξn+ynwTznb)=0

推导过程略,下面直接给出SVR Dual:
min ⁡    1 2 ∑ n = 1 N ∑ m = 1 N ( α n ∧ − α n ∨ ) ( α m ∧ − α m ∨ ) K n , m + ∑ n = 1 N ( ( ε − y n ) ⋅ α n ∧ + ( ε + y n ) ⋅ α n ∨ ) s . t .    ∑ n = 1 N ( α n ∧ − α n ∨ )              0 ≤ α n ∧ ≤ C , 0 ≤ α n ∨ ≤ C \begin{array}{l} \min \;\frac{1}{2}\sum\limits_{n = 1}^N {\sum\limits_{m = 1}^N {(\alpha _n^ \wedge - \alpha _n^ \vee )(\alpha _m^ \wedge - \alpha _m^ \vee ){K_{n,m}}} } + \sum\limits_{n = 1}^N {((\varepsilon - {y_n}) \cdot \alpha _n^ \wedge + (\varepsilon + {y_n}) \cdot \alpha _n^ \vee )} \\\\ s.t.\;\sum\limits_{n = 1}^N {(\alpha _n^ \wedge - \alpha _n^ \vee )} \\\\ \;\;\;\;\;\;0 \le \alpha _n^ \wedge \le C,0 \le \alpha _n^ \vee \le C \end{array} min21n=1Nm=1N(αnαn)(αmαm)Kn,m+n=1N((εyn)αn+(ε+yn)αn)s.t.n=1N(αnαn)0αnC,0αnC

与QP的形式相似,可以用相似的求解器来求解。

SVR解的稀疏性解释:
根据KKT条件,有如下关系:

w = ∑ n = 1 N ( α n ∧ − α n ∨ ⎵ β n ) z n c o m p l e m e n t a r y      s l a c k n e s s : α n ∧ ( ε + ξ n ∧ − y n + w T z n + b ) = 0 α n ∨ ( ε + ξ n ∨ + y n − w T z n − b ) = 0 \begin{array}{l} w = \sum\limits_{n = 1}^N {(\underbrace {\alpha _n^ \wedge - \alpha _n^ \vee }_{{\beta _n}})} {z_n}\\ {\rm{complementary\;\; slackness:}}\begin{array}{} {\alpha _n^ \wedge (\varepsilon + \xi _n^ \wedge - {y_n} + {w^T}{z_n} + b) = 0}\\ {\alpha _n^ \vee (\varepsilon + \xi _n^ \vee + {y_n} - {w^T}{z_n} - b) = 0} \end{array} \end{array} w=n=1N(βn αnαn)zncomplementaryslackness:αn(ε+ξnyn+wTzn+b)=0αn(ε+ξn+ynwTznb)=0
而根据tube regression,把数据点分为两部分,即

  • 在tube之内的点,有,

∣ w T z n + b − y n ∣ &lt; ε ⇒ ξ n ∧ = 0 , ξ n ∨ = 0 ⇒ ( ε + ξ n ∧ − y n + w T z n + b ) ≠ 0 , ( ε + ξ n ∨ + y n − w T z n − b ) ≠ 0 ⇒ α n ∧ = 0 , α n ∨ = 0 ⇒ β n = 0 \begin{array}{l} \left| {{w^T}{z_n} + b - {y_n}} \right| &lt; \varepsilon \\\\ \Rightarrow \xi _n^ \wedge = 0,\xi _n^ \vee = 0\\\\ \Rightarrow (\varepsilon + \xi _n^ \wedge - {y_n} + {w^T}{z_n} + b) \ne 0,(\varepsilon + \xi _n^ \vee + {y_n} - {w^T}{z_n} - b) \ne 0\\\\ \Rightarrow \alpha _n^ \wedge = 0,\alpha _n^ \vee = 0\\\\ \Rightarrow {\beta _n} = 0 \end{array} wTzn+byn<εξn=0,ξn=0(ε+ξnyn+wTzn+b)̸=0,(ε+ξn+ynwTznb)̸=0αn=0,αn=0βn=0

  • 在tube之外的点,即SVs,则 β n ≠ 0 {\beta _n} \ne 0 βn̸=0

所以,SVR可以有一个稀疏解 β \beta β

这篇关于机器学习——SVM的回归形式(SVR)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/305147

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件