机器学习基础---回归方法---支持向量回归(SVR)
支持向量回归(SVR)
方法描述
核心思想:
用线性模型(f(x)=wTx+bf(x)=w^Tx+bf(x)=wTx+b)对回归问题进行拟合
确定的线性模型对应w,bw,bw,b唯一确定一个超平面wTx+b=0w^Tx+b=0wTx+b=0
不同于一般线性模型,在超平面两侧定义间隔ϵ\epsilonϵ,在间隔带内则不计算损失,当且仅当f(x)与y之间的差距的绝对值大于ϵ\epsilonϵ才计算损失
- 通过最大化间隔带的宽度与最小化总损失来优化模型
相关概念
硬间隔
最大容忍偏差为ϵ\epsilonϵ,仅当∣f(x)−y∣>ϵ|f(x)-y|>\epsilon∣f(x)−y∣>ϵ时计算误差
即形式化目标为:
minw,b12∣∣w∣∣2+C∑i=1nlϵ(f(xi),yi)lϵ(f(xi),yi)={0∣f(xi)−yi∣<ϵ∣f(xi)−yi∣−ϵelse\underset{w,b}{min}\ \frac12||w||^2+C\sum_{i=1}^nl_{\epsilon}(f(x_i),y_i)\\ l_{\epsilon}(f(x_i),y_i)=\begin{cases} 0\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ |f(x_i)-y_i|<\epsilon\\ |f(x_i)-y_i|-\epsilon\ \ \ \ \ \ \ \ \ \ \ \ else \end{cases} w,bmin 21∣∣w∣∣2+Ci=1∑nlϵ(f(xi),yi)lϵ(f(xi),yi)={0 ∣f(xi)−yi∣<ϵ∣f(xi)−yi∣−ϵ else
软间隔
实际任务中,往往很难直接确定合适的ϵ\epsilonϵ,使大部分点都在间隔带之内
因此引入松弛变量ξ,ξˉ\xi,\bar\xiξ,ξˉ,从而使函数的间隔要求变的放松,允许一些训练样本不在间隔内
对于任意样本xix_ixi,如果它在间隔带里面或者边缘上,ξi=(ξiˉ)=0\xi_i=\bar{(\xi_i})=0ξi=(ξiˉ)=0
样本xix_ixi在间隔带外,需要通过松弛变量将点移动到间隔带内,此处需要进行两个约束:能移进间隔,不会超出间隔
此时,所有样本满足条件
∣yi−f(xi)∣≤ϵ+ξi|y_i-f(x_i)|\leq\epsilon+\xi_i ∣yi−f(xi)∣≤ϵ+ξi优化目标可以重写为:
minw,b,ξo,ξˉi12∣∣w∣∣2+C∑i=1n(ξi+ξiˉ)s.t.f(xi)−yi≤ϵ+ξiyi−f(xi)≤ϵ+ξiˉξi>0,ξiˉ>0\underset{w,b,\xi_o,\bar\xi_i}{min}\ \frac12||w||^2+C\sum_{i=1}^n(\xi_i+\bar{\xi_i})\\ \begin{aligned} s.t. &f(x_i)-y_i\leq\epsilon+\xi_i\\ &y_i-f(x_i)\leq\epsilon+\bar{\xi_i}\\ &\xi_i>0,\ \bar{\xi_i}>0 \end{aligned} w,b,ξo,ξˉimin 21∣∣w∣∣2+Ci=1∑n(ξi+ξiˉ)s.t.f(xi)−yi≤ϵ+ξiyi−f(xi)≤ϵ+ξiˉξi>0, ξiˉ>0
方法推导
针对软间隔目标进行优化:
构建拉格朗日方程:
L(w,b,ξ,ξˉ,α,αˉ,μ,μˉ)=12∣∣w∣∣2+C∑i=1n(ξi+ξiˉ)+∑i=1nαi(f(xi)−yi−ϵ−ξi)+∑i=1nαiˉ(yi−f(xi)−ϵ−ξiˉ)+∑i=1nμi(0−ξi)+∑i=1nμiˉ(0−ξiˉ)L(w,b,\xi,\bar{\xi},\alpha,\bar{\alpha},\mu,\bar\mu)=\\ \frac12||w||^2+C\sum_{i=1}^n(\xi_i+\bar{\xi_i})+\sum_{i=1}^n\alpha_i(f(x_i)-y_i-\epsilon-\xi_i)+\sum_{i=1}^n\bar{\alpha_i}(y_i-f(x_i)-\epsilon-\bar{\xi_i})+\sum_{i=1}^n\mu_i(0-\xi_i)+\sum_{i=1}^n\bar{\mu_i}(0-\bar{\xi_i}) L(w,b,ξ,ξˉ,α,αˉ,μ,μˉ)=21∣∣w∣∣2+Ci=1∑n(ξi+ξiˉ)+i=1∑nαi(f(xi)−yi−ϵ−ξi)+i=1∑nαiˉ(yi−f(xi)−ϵ−ξiˉ)+i=1∑nμi(0−ξi)+i=1∑nμiˉ(0−ξiˉ)求对www偏导,令为0,得:
∂L∂w=w+∑i=1nαixi−∑i=1nαiˉxi=0有:w=∑i=1n(αiˉ−αi)xi\frac{\partial{L}}{\partial{w}}=w+\sum_{i=1}^n\alpha_ix_i-\sum_{i=1}^n\bar{\alpha_i}x_i=0\\ 有:w=\sum_{i=1}^n(\bar{\alpha_i}-\alpha_i)x_i ∂w∂L=w+i=1∑nαixi−i=1∑nαiˉxi=0有:w=i=1∑n(αiˉ−αi)xi
同时又有其他偏导约束:
∂L∂b=∑i=1nαi−∑i=1nαiˉ=0\frac{\partial{L}}{\partial{b}}=\sum_{i=1}^n\alpha_i-\sum_{i=1}^n\bar{\alpha_i}=0\\ ∂b∂L=i=1∑nαi−i=1∑nαiˉ=0同时,满足KKT条件:
αi∗(f(xi∗)−yi∗−ϵ−ξi∗)=0αi∗ˉ(f(xi∗)−yi∗−ϵ−ξi∗ˉ)=0αi∗αi∗ˉ=0,ξi∗ξi∗ˉ=0(C−αi∗)ξi∗=0,(C−αi∗ˉ)ξi∗ˉ=0\alpha_i^*(f(x_i^*)-y_i^*-\epsilon-\xi_i^*)=0\\ \bar{\alpha_i^*}(f(x_i^*)-y_i^*-\epsilon-\bar{\xi_i^*})=0\\ \alpha_i^*\bar{\alpha_i^*}=0,\ \xi_i^*\bar{\xi_i^*}=0\\ (C-\alpha_i^*)\xi_i^*=0,\ (C-\bar{\alpha_i^*})\bar{\xi_i^*}=0 αi∗(f(xi∗)−yi∗−ϵ−ξi∗)=0αi∗ˉ(f(xi∗)−yi∗−ϵ−ξi∗ˉ)=0αi∗αi∗ˉ=0, ξi∗ξi∗ˉ=0(C−αi∗)ξi∗=0, (C−αi∗ˉ)ξi∗ˉ=0在α∗,α∗ˉ\alpha^*,\bar{\alpha^*}α∗,α∗ˉ确定情况下,有:
w∗=∑i=1n(αiˉ−αi)xib∗=yi∗−w∗Txw^*=\sum_{i=1}^n(\bar{\alpha_i}-\alpha_i)x_i\\ b^*=y_i^*-{w^*}^Tx w∗=i=1∑n(αiˉ−αi)xib∗=yi∗−w∗TxSVR的解形如:
f(x)=∑i=1n(αiˉ−αi)xiT⋅x+bf(x)=\sum_{i=1}^n(\bar{\alpha_i}-\alpha_i)x_i^T·x+b f(x)=i=1∑n(αiˉ−αi)xiT⋅x+b
满足αiˉ−αi≠0\bar{\alpha_i}-\alpha_i\neq0αiˉ−αi=0的样本(间隔带之外样本)是SVR的支持向量,即www可以视作支持向量线性组合为完成优化,通过SMO方法求解
minα,αˉL\underset{\alpha,\bar{\alpha}}{min}\ L α,αˉmin L
得到α∗,α∗ˉ\alpha^*,\bar{\alpha^*}α∗,α∗ˉ,计算w=∑i=1n(αiˉ−αi)xiw=\sum_{i=1}^n(\bar{\alpha_i}-\alpha_i)x_iw=∑i=1n(αiˉ−αi)xi
方法流程
- 构造输入数据矩阵X=[x1,x2,...,xn]X=[x_1,x_2,...,x_n]X=[x1,x2,...,xn],标签矩阵Y=[y1,y2,...,yn]TY=[y_1,y_2,...,y_n]^TY=[y1,y2,...,yn]T
- 构造拉格朗日方程L,并用SMO方法求解令LLL最小的α∗与α∗ˉ\alpha^*与\bar{\alpha^*}α∗与α∗ˉ
- 计算w∗=∑i=1n(αiˉ−αi)xiw*=\sum_{i=1}^n(\bar{\alpha_i}-\alpha_i)x_iw∗=∑i=1n(αiˉ−αi)xi与b∗=yi∗−w∗Txb^*=y_i^*-{w^*}^Txb∗=yi∗−w∗Tx
- 得到SVR模型:f(x)=wTx+b∗f(x)=w^Tx+b^*f(x)=wTx+b∗
参考资料
【1】支持向量机SVM、支持向量回归SVR详细推导
机器学习基础---回归方法---支持向量回归(SVR)相关推荐
- 【机器学习系列】之支持向量回归SVR
作者:張張張張 github地址:https://github.com/zhanghekai [转载请注明出处,谢谢!] [机器学习系列]之SVM硬间隔和软间隔 [机器学习系列]之SVM核函数和SMO ...
- 【机器学习基础】支持向量回归
引言 这一小节介绍一下支持向量回归,我们在之前介绍的核逻辑回归使用表示定理(Representer Theorem),将逻辑回归编程Kernel的形式,这一节我们沿着这个思路出发,看看如何将回归问题和 ...
- 机器学习之支持向量回归(SVR)预测房价—基于python
大家好,我是带我去滑雪! 本期使用爬取到的有关房价数据集data.csv,使用支持向量回归(SVR)方法预测房价.该数据集中"y1"为响应变量,为房屋总价,而x1-x9为特征变量, ...
- 机器学习西瓜书笔记:软间隔和支持向量回归SVR
1.首先由SVM问题(最大间隔超平面模型):所有样本都可以正确分类的最优化问题,引入软间隔SVM(允许分类错误)的最优化问题,即需要添加损失函数(样本不满足约束的程度,或者说分类错误的程度),然后最优 ...
- 机器学习——支持向量回归(SVR)
机器学习--支持向量回归(SVR) educoder平台练习题 如果博客中图片加载失败可点击链接跳转至实训详情 https://www.educoder.net/shixuns/b6yi97f2/ch ...
- 支持向量机(SVM)、支持向量回归(SVR)
论文完成也有一段时间了,用到了支持向量机(Support Vector Machine或SVM)方面的知识,感觉泛化能力比较好,一开始的时候,用了一些神经网络的模型,泛化能力都不是很满意,立即转到支持 ...
- 【视频】支持向量机SVM、支持向量回归SVR和R语言网格搜索超参数优化实例
最近我们被客户要求撰写关于SVM的研究报告,包括一些图形和统计输出. 什么是支持向量机 (SVM)? 我们将从简单的理解 SVM 开始. [视频]支持向量机SVM.支持向量回归SVR和R语言网格搜索超 ...
- 基于支持向量回归(SVR)和PROSAIL模拟光谱数据的叶面积指数反演
前言 本博客利用PROSAIL模型模拟出MODIS的光谱数据和LAI,然后采用支持向量回归(SVR)方法建立NDVI与LAI 的回归模型,用于LAI的反演.训练和测试数据的拟合效果还是比较好的,这表明 ...
- 【机器学习】支持向量回归
有任何的书写错误.排版错误.概念错误等,希望大家包含指正. 在阅读本篇之前建议先学习: [机器学习]支持向量机[上]硬间隔 [机器学习]支持向量机[下]软间隔与核函数 支持向量回归 支持向量回归(su ...
- ❤️解决非线性回归问题的机器学习方法总结:多项式线性模型、广义线性(GAM)模型、回归树模型、支持向量回归(SVR)模型
文章目录 前言 多项式回归模型 概念解释: sklearn实现多项式回归模型: 广义线性可加(GAM)模型 概念解释: pygam实现广义线性可加模型: GAM模型的优点与不足: 回归树模型 概念解释 ...
最新文章
- map vs hash_map
- Selenium java环境搭建
- Java 8 开发的 4 大顶级技巧
- sql 统计每月入职离职人数_入职登记表算合同吗?这里面有大学问
- collections模块的Counter类
- 关于webpack编译scss文件
- 设计模式之——静态代理模式
- 【转载】使用Lucene.NET实现数据检索功能
- acer软件保护卡怎么解除_外观精致性能强,配置丰富重量轻、宏碁(Acer)墨舞EX214轻薄笔记本 深度评测...
- 快解析 : 管家婆A8远程访问解决方案
- vue 基于网易云API实现二维码的登录
- GSM模块通过服务器或GSM内部获取网络时间 网络授时
- 铲雪车(snow) UVA10203 Snow Clearing 题解
- 如何独立开发 APP 赚钱?
- 浏览器被恶意篡改怎么办?
- 无线蓝牙耳机那个品牌比较好?试试这五款比较实用的吧
- 三维可视化引擎让空间数据管理更高效
- 修改Listen 1源码的一点心得
- 如何玩转信用卡 银行不会告诉你的十个秘密
- 最易懂的RAID0、RAID1、RAID5、RAID10/01概念解析
热门文章
- TouchDesigner学习 全屏输出
- 无线通信模块的双卡单待
- SimNow仿真交易【官方环境介绍】 期货仿真环境地址 期货模拟交易
- 树莓派4B-Python-控制TB6612FNG
- php工作流根据不同流程保存,启用SuiteCRM工作流(workflow)-权威指南
- 计算机无法验证签名,你如何解决电脑无法验证数字签名的问题
- 凯恩帝绝对坐标清零_凯恩帝 K90T i 数控车床系统使用手册分享
- 凯恩帝k1000ti参数设置_凯恩帝公司K1000T系统用户手册.pdf
- 3dmax卸载工具_3Dmax软件无法安装?3Dmax软件正确卸载方法,重装无忧
- MISRA C-2012规则中文版