SVM如何用于回归分析

转载自:http://blog.sina.com.cn/s/blog_62970c250102xfzj.html

支持向量机(SVM)除了可以用于分类问题,也可以用于回归问题。

1. SVM回归模型的损失函数度量

我们知道SVM分类模型的目标函数是支持向量机(SVM)的回归模型,同时要让训练集中的各个样本点尽量远离自己类别一侧的支持向量,即约束条件是支持向量机(SVM)的回归模型。如果加上一个松弛变量支持向量机(SVM)的回归模型,则目标函数变成支持向量机(SVM)的回归模型,对应的约束条件变成支持向量机(SVM)的回归模型

对于回归模型,优化目标函数和分类模型保持一致,依然是支持向量机(SVM)的回归模型,但是约束条件不同。我们知道回归模型的目标是让训练集中的每个样本点支持向量机(SVM)的回归模型,尽量拟合到一个线性模型支持向量机(SVM)的回归模型上。对于一般的回归模型,我们是用均方误差作为损失函数的,但SVM不是这样定义损失函数的。

SVM需要定义一个常量支持向量机(SVM)的回归模型,对于某个样本点支持向量机(SVM)的回归模型,如果支持向量机(SVM)的回归模型,则完全没有损失;如果支持向量机(SVM)的回归模型,则对应的损失为支持向量机(SVM)的回归模型。这个损失函数和均方误差不同,如果是均方误差,则只要支持向量机(SVM)的回归模型就会有损失。

如下图所示,在蓝色带里面的点都是没有损失的,但是外面的点是有损失的,损失大小为红色线的长度。

支持向量机(SVM)的回归模型

总结一下,SVM回归模型的损失函数度量为:

支持向量机(SVM)的回归模型
 

2. SVM回归模型的目标函数的原始形式

前面我们已经得到了SVM回归模型的损失函数度量,现在可以定义目标函数了,如下所示:

支持向量机(SVM)的回归模型
和SVM分类模型类似,SVM回归模型也可以对每个样本点支持向量机(SVM)的回归模型加入松弛变量支持向量机(SVM)的回归模型,但是我们这里使用的是绝对值,实际上是两个不等式,也就是说两边都需要松弛变量,我们定义为支持向量机(SVM)的回归模型,则SVM回归模型的损失函数度量在加入松弛变量之后变为:

支持向量机(SVM)的回归模型
支持向量机(SVM)的回归模型
支持向量机(SVM)的回归模型
和SVM分类模型一样,我们也可以用拉格朗日函数将目标优化函数变成无约束的形式,即:

支持向量机(SVM)的回归模型
其中支持向量机(SVM)的回归模型是拉格朗日系数。

 

3. SVM回归模型的目标函数的对偶形式

前面我们讲到了SVM回归模型的目标函数的原始形式,那么我们的目标是:

支持向量机(SVM)的回归模型
和SVM分类模型一样,这个优化目标也满足KKT条件,也就是说,我们可以通过拉格朗日对偶将优化问题转化为等价的对偶问题来求解,如下所示:
支持向量机(SVM)的回归模型

我们首先求优化函数对于支持向量机(SVM)的回归模型的极小值,可以通过求偏导数得到:

支持向量机(SVM)的回归模型
支持向量机(SVM)的回归模型
支持向量机(SVM)的回归模型
支持向量机(SVM)的回归模型

将上面4个式子带入支持向量机(SVM)的回归模型消去支持向量机(SVM)的回归模型,得到

支持向量机(SVM)的回归模型
接着再求拉格朗日乘子支持向量机(SVM)的回归模型的极大值,得到:

支持向量机(SVM)的回归模型
对上式取负号求最小值,得到和SVM分类模型类似的求极小值的目标函数,如下所示:
支持向量机(SVM)的回归模型
对于这个目标函数,我们依然可以用SMO算法来求出对应的支持向量机(SVM)的回归模型,进而求出我们的回归模型系数w和b。

 

4. SVM回归模型系数的稀疏性

在SVM分类模型中,KKT条件的对偶互补条件为:支持向量机(SVM)的回归模型,而在回归模型中,我们的对偶互补条件变成了:

支持向量机(SVM)的回归模型
支持向量机(SVM)的回归模型
根据松弛变量定义条件,如果支持向量机(SVM)的回归模型,则有支持向量机(SVM)的回归模型,此时支持向量机(SVM)的回归模型,那么要满足对偶互补条件,只有支持向量机(SVM)的回归模型

我们定义样本系数支持向量机(SVM)的回归模型,根据上面w的计算式

支持向量机(SVM)的回归模型

我们发现此时支持向量机(SVM)的回归模型,也就是说w不受这些在误差范围内的点的影响。对于在边界上或者在边界外的点,支持向量机(SVM)的回归模型,此时支持向量机(SVM)的回归模型

 

5. SVM算法小结

SVM算法是一个很优秀的算法,在集成学习和神经网络之类的算法没有表现出优越性能之前,SVM算法基本占据了分类模型的统治地位。目前在大数据时代的大样本背景下,SVM由于其在大样本时超级大的计算量,热度有所下降,但仍然是一个常用的机器学习算法。

SVM算法的主要优点有:

  1) 解决高维特征的分类问题和回归问题很有效,在特征维度大于样本数时依然有很好的效果。

  2) 仅仅使用一部分支持向量来做超平面的决策,无需依赖全部数据。

  3) 有大量的核函数可以使用,从而可以很灵活的来解决各种非线性的分类回归问题。

  4) 样本量不是海量数据的时候,分类准确率高,泛化能力强。

 

SVM算法的主要缺点有:

  1) 如果特征维度远远大于样本数,则SVM表现一般。

  2) SVM在样本量非常大,核函数映射维度非常高时,计算量过大,不太适合使用。

  3) 非线性问题的核函数的选择没有通用标准,难以选择一个合适的核函数。

  4) SVM对缺失数据敏感。

 

参考:http://www.cnblogs.com/pinard/p/6113120.html

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值