1 SVR背景

2 SVR原理

3 SVR数学模型

  1. SVR的背景
    SVR做为SVM的分支从而被提出,一张图介绍SVR与SVM的关系
  2. R语言支持向量机源码 r语言 支持向量回归_svm

  3. 这里两虚线之间的几何间隔r=R语言支持向量机源码 r语言 支持向量回归_svm_02,这里的d就为两虚线之间的函数间隔。
    (一图读懂函数间隔与几何间隔)
  4. R语言支持向量机源码 r语言 支持向量回归_支持向量机_03

  5. 这里的r就是根据两平行线之间的距离公式求解出来的
  6. R语言支持向量机源码 r语言 支持向量回归_机器学习_04

  7. SVR的原理

SVR与一般线性回归的区别

SVR

一般线性回归

1.数据在间隔带内则不计算损失,当且仅当f(x)与y之间的差距的绝对值大于才计算损失

1.只要f(x)与y不相等时,就计算损失

2.通过最大化间隔带的宽度与最小化总损失来优化模型

2.通过梯度下降之后求均值来优化模型

R语言支持向量机源码 r语言 支持向量回归_机器学习_06

原理:SVR在线性函数两侧制造了一个“间隔带”,间距为R语言支持向量机源码 r语言 支持向量回归_机器学习_07(也叫容忍偏差,是一个由人工设定的经验值),对所有落入到间隔带内的样本不计算损失,也就是只有支持向量才会对其函数模型产生影响,最后通过最小化总损失和最大化间隔来得出优化后的模型。

注:这里介绍一下支持向量的含义:直观解释,支持向量就是对最终w,b的计算起到作用的样本(a>0)

如下图所示, "管道"内样本对应a=0,为非支持向量;

位于“管壁”上的为边界支持向量,0<a<R语言支持向量机源码 r语言 支持向量回归_机器学习_07

位于"管道"之外的为非边界支持向量,a>R语言支持向量机源码 r语言 支持向量回归_机器学习_07(异常检测时,常从非边界支持向量中挑选异常点)

R语言支持向量机源码 r语言 支持向量回归_机器学习_10

  1. SVR的数学模型

3.1线性硬间隔SVR

R语言支持向量机源码 r语言 支持向量回归_svm_11


R语言支持向量机源码 r语言 支持向量回归_svr_12

3.2线性软间隔SVR

原因:在现实任务中,往往很难直接确定合适的 R语言支持向量机源码 r语言 支持向量回归_机器学习_07 ,确保大部分数据都能在间隔带内,而SVR希望所有训练数据都在间隔带内,所以加入松弛变量R语言支持向量机源码 r语言 支持向量回归_svm_14 ,从而使函数的间隔要求变的放松,也就是允许一些样本可以不在间隔带内。

R语言支持向量机源码 r语言 支持向量回归_R语言支持向量机源码_15

引入松弛变量后,这个时候,所有的样本数据都满足条件:

R语言支持向量机源码 r语言 支持向量回归_支持向量机_16

这就是映入松弛变量后的限制条件,所以也叫-------软间隔SVR

注:对于任意样本xi,如果它在隔离带里面或者边缘上,R语言支持向量机源码 r语言 支持向量回归_svm_14 都为0;在隔离带上方则为R语言支持向量机源码 r语言 支持向量回归_svr_18
在隔离带下方则为R语言支持向量机源码 r语言 支持向量回归_svr_19

R语言支持向量机源码 r语言 支持向量回归_R语言支持向量机源码_20

R语言支持向量机源码 r语言 支持向量回归_svr_21

参数推导:
拉格朗日乘子法(可将约束条件变成无约束的的等式方程)

R语言支持向量机源码 r语言 支持向量回归_svm_22为拉格朗日系数

构建拉格朗日函数:

R语言支持向量机源码 r语言 支持向量回归_R语言支持向量机源码_23

3.3非线性(映射,核函数)

R语言支持向量机源码 r语言 支持向量回归_svr_24


启发:提高维度,低维映射到高维(非线性变线性)之前的SVR低维数据模型是以内积xi*xj的形式出现:

R语言支持向量机源码 r语言 支持向量回归_svm_25

现定义一个低维到高维的映射R语言支持向量机源码 r语言 支持向量回归_svm_26: 来替代以前的内积形式:

R语言支持向量机源码 r语言 支持向量回归_svr_27

R语言支持向量机源码 r语言 支持向量回归_支持向量机_28


表示映射到高维特征空间之后的内积

映射到高维的问题:
2维可以映射到5维
但当低维是1000映射到超级高的维度时计算机特征的内积
这个时候从低维到高维运算量会爆炸性增长

由于特征空间维数可能很高,甚至是无穷维,因为直接计算 R语言支持向量机源码 r语言 支持向量回归_机器学习_29

R语言支持向量机源码 r语言 支持向量回归_机器学习_30

结果表明:核函数在低维计算的结果与映射到高维之后内积的结果是一样的

主要改变:非线性转化,主要通过改变内积空间替换成另外一个核函数空间而从而转化到另外一个线性空间

R语言支持向量机源码 r语言 支持向量回归_svr_31

核函数的隆重出场:核函数是对向量内积空间的一个扩展,使得非线性回归的问题,在经过核函数的转换后可以变成一个近似线性回归的问题

R语言支持向量机源码 r语言 支持向量回归_支持向量机_32

R语言支持向量机源码 r语言 支持向量回归_svm_33

  1. 实战案例

代更。。。。。。。