支持向量回归(SVR)的详细介绍以及推导算法
大家好,又见面了,我是你们的朋友全栈君。
1 SVR背景
2 SVR原理
3 SVR数学模型
- SVR的背景 SVR做为SVM的分支从而被提出,一张图介绍SVR与SVM的关系
这里两虚线之间的几何间隔r= d ∣ ∣ W ∣ ∣ \frac{d}{||W||} ∣∣W∣∣d,这里的d就为两虚线之间的函数间隔。 (一图读懂函数间隔与几何间隔)
这里的r就是根据两平行线之间的距离公式求解出来的
- SVR的原理
SVR与一般线性回归的区别
SVR | 一般线性回归 |
---|---|
1.数据在间隔带内则不计算损失,当且仅当f(x)与y之间的差距的绝对值大于 ϵ \epsilon ϵ才计算损失 | 1.只要f(x)与y不相等时,就计算损失 |
2.通过最大化间隔带的宽度与最小化总损失来优化模型 | 2.通过梯度下降之后求均值来优化模型 |
原理:SVR在线性函数两侧制造了一个“间隔带”,间距为 ϵ \epsilon ϵ(也叫容忍偏差,是一个由人工设定的经验值),对所有落入到间隔带内的样本不计算损失,也就是只有支持向量才会对其函数模型产生影响,最后通过最小化总损失和最大化间隔来得出优化后的模型。
注:这里介绍一下支持向量的含义:直观解释,支持向量就是对最终w,b的计算起到作用的样本(a>0)
如下图所示, “管道”内样本对应a=0,为非支持向量; 位于“管壁”上的为边界支持向量,0<a< ϵ \epsilon ϵ 位于”管道”之外的为非边界支持向量,a> ϵ \epsilon ϵ(异常检测时,常从非边界支持向量中挑选异常点)
- SVR的数学模型
3.1线性硬间隔SVR
3.2线性软间隔SVR 原因:在现实任务中,往往很难直接确定合适的 ϵ \epsilon ϵ ,确保大部分数据都能在间隔带内,而SVR希望所有训练数据都在间隔带内,所以加入松弛变量 ξ \xi ξ ,从而使函数的间隔要求变的放松,也就是允许一些样本可以不在间隔带内。
引入松弛变量后,这个时候,所有的样本数据都满足条件:
这就是映入松弛变量后的限制条件,所以也叫——-软间隔SVR
注:对于任意样本xi,如果它在隔离带里面或者边缘上, ξ \xi ξ 都为0;在隔离带上方则为 ξ > 0 , ξ ∗ = 0 \xi>0,\xi^*=0 ξ>0,ξ∗=0 在隔离带下方则为 ξ ∗ > 0 , ξ = 0 \xi^*>0,\xi=0 ξ∗>0,ξ=0
参数推导: 拉格朗日乘子法(可将约束条件变成无约束的的等式方程)
设 u i ⩾ 0 , u i ∗ ⩾ 0 , a i ⩾ 0 , a i ∗ ⩾ 0 u_i\geqslant0,u^*_i\geqslant0,a_i\geqslant0,a^*_i\geqslant0 ui⩾0,ui∗⩾0,ai⩾0,ai∗⩾0为拉格朗日系数 构建拉格朗日函数:
3.3非线性(映射,核函数)
启发:提高维度,低维映射到高维(非线性变线性)
之前的SVR低维数据模型是以内积xi*xj的形式出现:
现定义一个低维到高维的映射 Φ \varPhi Φ: 来替代以前的内积形式:
表示映射到高维特征空间之后的内积
映射到高维的问题: 2维可以映射到5维 但当低维是1000映射到超级高的维度时计算机特征的内积 这个时候从低维到高维运算量会爆炸性增长
由于特征空间维数可能很高,甚至是无穷维,因为直接计算 Φ ( x i ) T Φ ( x j ) \varPhi(x_i)^T\varPhi(x_j) Φ(xi)TΦ(xj) 通常是困难的,这里就要设计到核函数
结果表明:核函数在低维计算的结果与映射到高维之后内积的结果是一样的
主要改变:非线性转化,主要通过改变内积空间替换成另外一个核函数空间而从而转化到另外一个线性空间
核函数的隆重出场:核函数是对向量内积空间的一个扩展,使得非线性回归的问题,在经过核函数的转换后可以变成一个近似线性回归的问题
- 实战案例
代更。。。。。。。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/134863.html原文链接:https://javaforall.cn
相关文章
- 岭回归算法_tikhonov正则化与岭回归
- JS算法之常规排序算法
- NSGA2算法中文版详细介绍
- BM3D 算法原理详细解析 按过程步骤讲解(附C++实现代码)[通俗易懂]
- A星算法详解(个人认为最详细,最通俗易懂的一个版本)「建议收藏」
- 三分钟算法修行-无重复字符的最长子串的《四种解法》
- Prim算法简易教程(~简单易懂,附最详细注释代码)
- YbtOJ 772「分块算法」密码破译
- 归并排序算法详细图解_归并排序算法描述
- BP神经网络算法改进文献_bp神经网络算法流程图
- 深度解析开源推荐算法框架EasyRec的核心概念和优势
- 汇总PHP最常见的四种排序算法
- 一览机器学习算法(附python和R代码)
- 【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | IP 数据报 | IPv4 地址 | IPv6 地址 | 路由选择协议 | 路由算法 )★★★
- C语言直接插入排序算法
- Facebook AI实验室利用算法消除视频中的面部数据防止个人隐私泄露
- MySQL 中强大的算法提升性能(mysql算法)
- One-Page AlphaGo –十分钟看懂 AlphaGo 的核心算法!
- javascript算法学习(直接插入排序)
- PHP递归算法的详细示例分析
- STl中的排序算法详细解析
- js算法中的排序、数组去重详细概述
- C语言实现字符串匹配KMP算法