SVM解回归问题
2017-09-05 22:56
176 查看
转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/51121767
CSDN−勿在浮沙筑高台
对于SVM解分类二分类问题,及多分类问题,在上一篇文章已经详述http://blog.csdn.net/luoshixian099/article/details/51073885。本文将对SVM解回归问题,进行分析。
在样本数据集(xn,tn)中,tn不是简单的离散值,而是连续值。如在线性回归中,预测房价的问题。与线性回归类似,目标函数是正则平方误差函数:
在SVM回归算法中,目的是训练出超平面y=wTx+b,采用yn=wTxn+b作为预测值。为了获得稀疏解,即计算超平面参数w,b不依靠所有样本数据,而是部分数据(如在SVM分类算法中,支持向量的定义),采用ϵ−insensitive 误差函数–Vapnik,1995。
ϵ−insensitive 误差函数定义为,如果预测值yn与真实值tn的差值小于阈值ϵ将不对此样本点做惩罚,若超出阈值,惩罚量为|yn−tn|−ϵ。
下图为ϵ−insensitive 误差函数与平方误差函数的图形
观察上述的Eϵ 误差函数的形式,可以看到,实际形成了一个类似管道的样子,在管道中样本点,不做惩罚,所以被称为ϵ−tube,如下图阴影红色部分
采用Eϵ替代平方误差项,因此可以定义最小化误差函数作为优化目标:
由于上述目标函数含有绝对值项不可微。我们可以转化成一个约束优化问题,常用的方法是为每一个样本数据定义两个松弛变量ξn≥0,ξn^≥0,表示度量tn与ϵ−tube的距离。
如上图所示:
当样本点真实值tn位于管道上方时,ξn>0,写成表达式:tn>y(xn)+ϵ时,ξn>0,ξ^n=0;
当样本点真实值tn位于管道下方时,ξn^>0,写成表达式:tn<y(xn)−ϵ时,ξn^>0,ξn=0;
因此使得每个样本点位于管道内部的条件为:
当tn位于管道上方时,ξn>0,有tn−y(xn)−ξn≤ϵ
当tn位于管道下方时,ξn^>0,有y(xn)−tn−ξ^n≤ϵ
误差函数可以写为一个凸二次优化问题:
约束条件:
ξn≥0
ξn^≥0
tn−y(xn)−ξn≤ϵ
y(xn)−tn−ξ^n≤ϵ
写成拉格朗日函数:
上述问题为极小极大问题:minw,b,ξn,ξn^ maxμn,μn^,αn,αn^L与SVM分类分析方法一样,改写成对偶问题maxμn,μn^,αn,αn^ minw,b,ξn,ξn^L;首先分别对w,b,ξn,ξn^求偏导数
带回到拉格朗日函数中,化简得到只关于αn,αn^的函数,目标即最大化此函数。
约束条件为:
0≤αn≤C
0≤αn^≤C,其中k(xn,xm)=(xn)Txm为向量内积。
下面考虑KKT条件:
由式7.65,7.66知:
当αn≠0时,必有ϵ+ξn+y(xn)−tn=0,这些点位于管道上方边界出,或者管道上面。
当α^n≠0时,必有ϵ+ξn−y(xn)+tn=0,这些点位于管道下方边界出,或者管道下面。
同时,由式7.65,7.66知,对于任意一个数据点,由于ϵ>0,则αn,α^n不可能同时不为0,而且得到在管道内部的点,必然有αn=0,α^n=0。
把w表达式带入到y=wTx+b得:
由上述的分析,影响超平面参数的点为位于管道边界处,或者管道外面。
关于b的计算,可以考虑在管道上方边界处一个点必然有:
ξn=0
ϵ+ξn+y(xn)−tn=0
联立解出:
CSDN−勿在浮沙筑高台
对于SVM解分类二分类问题,及多分类问题,在上一篇文章已经详述http://blog.csdn.net/luoshixian099/article/details/51073885。本文将对SVM解回归问题,进行分析。
1.方法分析
在样本数据集(xn,tn)中,tn不是简单的离散值,而是连续值。如在线性回归中,预测房价的问题。与线性回归类似,目标函数是正则平方误差函数: 在SVM回归算法中,目的是训练出超平面y=wTx+b,采用yn=wTxn+b作为预测值。为了获得稀疏解,即计算超平面参数w,b不依靠所有样本数据,而是部分数据(如在SVM分类算法中,支持向量的定义),采用ϵ−insensitive 误差函数–Vapnik,1995。
ϵ−insensitive 误差函数定义为,如果预测值yn与真实值tn的差值小于阈值ϵ将不对此样本点做惩罚,若超出阈值,惩罚量为|yn−tn|−ϵ。
下图为ϵ−insensitive 误差函数与平方误差函数的图形
2.目标函数
观察上述的Eϵ 误差函数的形式,可以看到,实际形成了一个类似管道的样子,在管道中样本点,不做惩罚,所以被称为ϵ−tube,如下图阴影红色部分 采用Eϵ替代平方误差项,因此可以定义最小化误差函数作为优化目标:
由于上述目标函数含有绝对值项不可微。我们可以转化成一个约束优化问题,常用的方法是为每一个样本数据定义两个松弛变量ξn≥0,ξn^≥0,表示度量tn与ϵ−tube的距离。
如上图所示:
当样本点真实值tn位于管道上方时,ξn>0,写成表达式:tn>y(xn)+ϵ时,ξn>0,ξ^n=0;
当样本点真实值tn位于管道下方时,ξn^>0,写成表达式:tn<y(xn)−ϵ时,ξn^>0,ξn=0;
因此使得每个样本点位于管道内部的条件为:
当tn位于管道上方时,ξn>0,有tn−y(xn)−ξn≤ϵ
当tn位于管道下方时,ξn^>0,有y(xn)−tn−ξ^n≤ϵ
误差函数可以写为一个凸二次优化问题:
约束条件:
ξn≥0
ξn^≥0
tn−y(xn)−ξn≤ϵ
y(xn)−tn−ξ^n≤ϵ
写成拉格朗日函数:
3.对偶问题
上述问题为极小极大问题:minw,b,ξn,ξn^ maxμn,μn^,αn,αn^L与SVM分类分析方法一样,改写成对偶问题maxμn,μn^,αn,αn^ minw,b,ξn,ξn^L;首先分别对w,b,ξn,ξn^求偏导数 带回到拉格朗日函数中,化简得到只关于αn,αn^的函数,目标即最大化此函数。
约束条件为:
0≤αn≤C
0≤αn^≤C,其中k(xn,xm)=(xn)Txm为向量内积。
下面考虑KKT条件:
由式7.65,7.66知:
当αn≠0时,必有ϵ+ξn+y(xn)−tn=0,这些点位于管道上方边界出,或者管道上面。
当α^n≠0时,必有ϵ+ξn−y(xn)+tn=0,这些点位于管道下方边界出,或者管道下面。
同时,由式7.65,7.66知,对于任意一个数据点,由于ϵ>0,则αn,α^n不可能同时不为0,而且得到在管道内部的点,必然有αn=0,α^n=0。
4.超平面计算:
把w表达式带入到y=wTx+b得: 由上述的分析,影响超平面参数的点为位于管道边界处,或者管道外面。
关于b的计算,可以考虑在管道上方边界处一个点必然有:
ξn=0
ϵ+ξn+y(xn)−tn=0
联立解出:
相关文章推荐
- 【机器学习详解】SVM解回归问题
- R语言建立回归分析,并利用VIF查看共线性问题的例子
- caffe上使用hdf5格式文件以及回归(regression)问题
- SVM入门(五)线性分类器的求解——问题的描述Part2
- 【scikit-learn】07:数据加载,数据归一,特征选择,逻辑回归,贝叶斯,k近邻,决策树,SVM
- OpenCV--SVM多分类问题
- SVM一些问题及思考
- 好久不见了,回归博客园,记录自己遇到的知识和问题~
- libsvm-3.22与MATLAB2014a中svmtrian()函数冲突问题的解决
- SVM入门(五)线性分类器的求解——问题的描述Part2
- SVM入门(六)线性分类器的求解——问题的转化,直观角度
- 线性回归-1-问题引入
- SVM入门(六)线性分类器的求解——问题的转化,直观角度
- 30分钟学会用scikit-learn的基本回归方法(线性、决策树、SVM、KNN)和集成方法(随机森林,Adaboost和GBRT)
- Keras学习笔记---keras做回归问题
- python回归问题数据处理问题--自变量
- 机器学习----回归问题
- 如何用caffe解决回归问题
- SVM(二)拉格朗日对偶问题
- 数据挖掘(机器学习)面试--SVM面试常考问题