13 SVM - SVR(回归问题的SVM)

简介:

12 SVM - SMO - 初始β变量的选择、总结

十七、SVR 回归问题的SVM

SVM和决策树一样,可以将模型直接应用到回归问题中;在SVM的分类模型(SVC)中,目标函数和限制条件如下:

SVM软间隔的损失函数

在简单的线性回归当中,我们最小化一个正则化的误差函数:

二次误差函数

为了得到稀疏解,__二次误差函数__被替换为一个 __ε-不敏感误差函数__(ε-insensitive error function)。
如果预测值hθ(x(i)) 与实际值y(i)之间的差小于ε, 这个误差函数给出的误差为0,ε-不敏感误差函数可以写为如下形式:

解释: 如果 |真实值-预测值| 的误差在一个区域内(ε) ,则认为没有误差。即当前预测损失值为0;

µ-不敏感误差函数

在不敏感区域之外,会有一个与误差相关的线性代价:
红色图像 是ε-不敏感误差函数,斜率=正负1;
绿色图像 是最小二乘法损失函数,即误差的平方和函数;

损失函数


于是我们最小化正则化的误差函数,写为一般形式:

最小化正则化的误差函数

与SVM中的软间隔一样,通过引入松弛变量的方式,我们可以重新表达最优化问题。

对于每个数据点xi ,我们现在需要两个松弛变量ζi≥0 和ζ^i≥0 ,其中:
ζi>0 对应于 yi > hθ(x(i)) + ε 的数据点;
ζ^i>0 对应于 yi < hθ(x(i)) - ε 的数据点;
目标点位于hθ(x(i)) - ε ≤ yi ≤ hθ(x(i)) + ε 管道内的条件是 ,只要松弛变量不为0即可。

对应的条件变为了:

这样,SVR回归的误差函数就可以写成:

SVR回归的损失函数

通过几何意义来帮助理解上述概念:
1、预测值 hθ(x(i))是红色的线,粉红色的区域是由__不敏感误差ε__构成的缓冲区。我们认为当预测值蓝点落在__不敏感误差ε__构成的粉色缓冲区时,没有损失。
2、__松弛变量ζ__是预测值到缓冲区域上边界的距离,__松弛变量ζ^__是预测值到缓冲区域下边界的距离。
3、我们希望预测值落在缓冲区内部(即上面说的管道),这样损失为0。
4、如果__不敏感误差ε=0__,那么缓冲区就只有 hθ(x(i))这条红线了,ε=0表示不允许预测存在错误的缓冲区。

几何意义

加入松弛因子ξ>0,从而我们的目标函数和限制条件变成:

目标函数和限制条件

构造拉格朗日函数:

拉格朗日函数

原始函数:

原始问题

转化为对偶函数:

对偶问题

首先来求优化函数对于w、b、ξ的极小值,通过求导可得:

将w、b、ξ的值带入函数L中,就可以将L转换为只包含β的函数,从而我们可以得到最终的优化目标函数为下面的式子:
__PS:__对于β的求解照样可以使用SMO算法来求解;

14 - SVM - 代码案例

相关文章
|
6月前
|
机器学习/深度学习 算法 Serverless
什么是支持向量机(SVM)
支持向量机(Support Vector Machine,SVM)是一种用于分类问题的监督算法。主要用于二分类和多分类问题。其基本思想是找到一个超平面,能够将不同类别的样本点尽可能地分开,并使得离超平面最近的样本点尽可能远离超平面,从而实现较好的分类效果。 SVM的关键是找到一个最优的超平面,这个超平面可以通过使得最靠近超平面的样本点之间的间隔最大化来定义。这些最靠近超平面的样本点被称为支持向量。SVM的优化目标可以表示为一个凸二次规划问题,可以通过求解对应的拉格朗日函数来得到最优解。
|
6月前
|
机器学习/深度学习 算法 Serverless
支持向量机(SVM)
支持向量机(Support Vector Machine,SVM)是一种用于分类问题的监督算法。主要用于二分类和多分类问题。其基本思想是找到一个超平面,能够将不同类别的样本点尽可能地分开,并使得离超平面最近的样本点尽可能远离超平面,从而实现较好的分类效果。 SVM的关键是找到一个最优的超平面,这个超平面可以通过使得最靠近超平面的样本点之间的间隔最大化来定义。这些最靠近超平面的样本点被称为支持向量。SVM的优化目标可以表示为一个凸二次规划问题,可以通过求解对应的拉格朗日函数来得到最优解。 SVM除了能够处理线性可分离的问题外,还可以通过核函数的引入处理线性不可分的问题,将样本映射到高维空间,从而
|
4月前
|
机器学习/深度学习 数据采集 算法
Python实现支持向量机SVM回归模型(SVR算法)项目实战
Python实现支持向量机SVM回归模型(SVR算法)项目实战
321 4
|
5月前
|
机器学习/深度学习 数据采集 算法
SVM算法
【6月更文挑战第15天】
65 6
|
机器学习/深度学习 传感器 算法
【SVM回归预测】基于支持向量机的数据回归预测(libsvm)附matlab代码
【SVM回归预测】基于支持向量机的数据回归预测(libsvm)附matlab代码
|
机器学习/深度学习 算法 Python
2022-11-10-支持向量机SVM
2022-11-10-支持向量机SVM
116 0
|
机器学习/深度学习
基于SVM-支持向量机对鸢尾花数据进行分类
基于SVM-支持向量机对鸢尾花数据进行分类
383 0
基于SVM-支持向量机对鸢尾花数据进行分类
|
机器学习/深度学习 运维 算法
SVM(五):SVM小结
SVM(五):SVM小结
SVM(五):SVM小结
|
机器学习/深度学习
SVM(三):非线性支持向量机
SVM(三):非线性支持向量机
SVM(三):非线性支持向量机
|
机器学习/深度学习 算法
SVM(一):线性支持向量机
SVM(一):线性支持向量机
SVM(一):线性支持向量机
下一篇
无影云桌面