支持向量机原理(五)线性支持回归

简介:

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

    回顾下我们前面SVM分类模型中,我们的目标函数是让 1 2 | | w | | 2 2 最小,同时让各个训练集中的点尽量远离自己类别一边的的支持向量,即 y i ( w ϕ ( x i ) + b ) 1 。如果是加入一个松弛变量 ξ i 0 ,则目标函数是 1 2 | | w | | 2 2 + C i = 1 m ξ i ,对应的约束条件变成: y i ( w ϕ ( x i ) + b ) 1 ξ i

    但是我们现在是回归模型,优化目标函数可以继续和SVM分类模型保持一致为 1 2 | | w | | 2 2 ,但是约束条件呢?不可能是让各个训练集中的点尽量远离自己类别一边的的支持向量,因为我们是回归模型,没有类别。对于回归模型,我们的目标是让训练集中的每个点 ( x i , y i ) ,尽量拟合到一个线性模型 y i   = w ϕ ( x i ) + b 。对于一般的回归模型,我们是用均方差作为损失函数,但是SVM不是这样定义损失函数的。

    SVM需要我们定义一个常量 ϵ > 0 ,对于某一个点 ( x i , y i ) ,如果 | y i w ϕ ( x i ) b | ϵ ,则完全没有损失,如果 | y i w ϕ ( x i ) b | > ϵ ,则对应的损失为 | y i w ϕ ( x i ) b | ϵ ,这个均方差损失函数不同,如果是均方差,那么只要 y i w ϕ ( x i ) b 0 ,那么就会有损失。

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

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

e r r ( x i , y i ) = { 0 | y i w ϕ ( x i ) b | ϵ | y i w ϕ ( x i ) + b | ϵ | y i w ϕ ( x i ) b | > ϵ

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

    上一节我们已经得到了我们的损失函数的度量,现在可以可以定义我们的目标函数如下:

m i n 1 2 | | w | | 2 2 s . t | y i w ϕ ( x i ) b | ϵ ( i = 1 , 2 , . . . m )

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

m i n 1 2 | | w | | 2 2 + C i = 1 m ( ξ i + ξ i )
s . t . ϵ ξ i y i w ϕ ( x i ) b ϵ + ξ i
ξ i 0 , ξ i 0 ( i = 1 , 2 , . . . , m )

    依然和SVM分类模型相似,我们可以用拉格朗日函数将目标优化函数变成无约束的形式,也就是拉格朗日函数的原始形式如下:

L ( w , b , α , α , ξ i , ξ i , μ , μ ) = 1 2 | | w | | 2 2 + C i = 1 m ( ξ i + ξ i ) + i = 1 m α ( ϵ ξ i y i + w ϕ ( x i ) + b ) + i = 1 m α ( y i w ϕ ( x i ) b ϵ ξ i ) i = 1 m μ ξ i i = 1 m μ ξ i

    其中  μ 0 , μ 0 , α i 0 , α i 0 ,均为拉格朗日系数。

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

    上一节我们讲到了SVM回归模型的目标函数的原始形式,我们的目标是

m i n w , b , ξ i , ξ i m a x μ 0 , μ 0 , α i 0 , α i 0 L ( w , b , α , α , ξ i , ξ i , μ , μ )

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

m a x μ 0 , μ 0 , α i 0 , α i 0 m i n w , b , ξ i , ξ i L ( w , b , α , α , ξ i , ξ i , μ , μ )

    我们可以先求优化函数对于 w , b , ξ i , ξ i 的极小值, 接着再求拉格朗日乘子 α , α , μ , μ 的极大值。

    首先我们来求优化函数对于 w , b , ξ i , ξ i 的极小值,这个可以通过求偏导数求得:

L w = 0 w = i = 1 m ( α i α i ) ϕ ( x i )
L b = 0 i = 1 m ( α i α i ) = 0
L ξ i = 0 C α μ = 0
L ξ i = 0 C α μ = 0
 

    好了,我们可以把上面4个式子带入 L ( w , b , α , α , ξ i , ξ i , μ , μ ) 去消去 w , b , ξ i , ξ i 了。

    看似很复杂,其实消除过程和系列第一篇第二篇文章类似,由于式子实在是冗长,这里我就不写出推导过程了,最终得到的对偶形式为:

m a x α , α i = 1 m ( ϵ y i ) α i + ( ϵ + y i ) α i ) 1 2 i = 1 , j = 1 m ( α i α i ) ( α j α j ) K i j
s . t . i = 1 m ( α i α i ) = 0
0 < α i < C ( i = 1 , 2 , . . . m )
0 < α i < C ( i = 1 , 2 , . . . m )

     对目标函数取负号,求最小值可以得到和SVM分类模型类似的求极小值的目标函数如下:

m i n α , α 1 2 i = 1 , j = 1 m ( α i α i ) ( α j α j ) K i j + i = 1 m ( ϵ y i ) α i + ( ϵ + y i ) α i
s . t . i = 1 m ( α i α i ) = 0
0 < α i < C ( i = 1 , 2 , . . . m )
0 < α i < C ( i = 1 , 2 , . . . m )

    对于这个目标函数,我们依然可以用第四篇讲到的SMO算法来求出对应的 α , α ,进而求出我们的回归模型系数 w , b

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

    在SVM分类模型中,我们的KKT条件的对偶互补条件为:  α i ( y i ( w ϕ ( x i ) + b ) 1 ) = 0 ,而在回归模型中,我们的对偶互补条件类似如下:

α i ( ϵ + ξ i + y i w ϕ ( x i ) b ) = 0
α i ( ϵ + ξ i y i + w ϕ ( x i ) + b ) = 0

    根据松弛变量定义条件,如果 | y i w ϕ ( x i ) b | < ϵ ,我们有 ξ i = 0 , ξ i = 0 ,此时 ϵ + ξ i + y i w ϕ ( x i ) b 0 , ϵ + ξ i y i + w ϕ ( x i ) + b 0 这样要满足对偶互补条件,只有 α i = 0 , α i = 0

    我们定义样本系数系数

β i = α i α i

    根据上面 w 的计算式 w = i = 1 m ( α i α i ) ϕ ( x i ) ,我们发现此时 β i = 0 ,也就是说 w 不受这些在误差范围内的点的影响。对于在边界上或者在边界外的点, α i 0 , α i 0 ,此时 β i 0

5. SVM 算法小结

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

    SVM算法的主要优点有:

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

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

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

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

    SVM算法的主要缺点有:

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

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

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

    4)SVM对缺失数据敏感。

本文转自刘建平Pinard博客园博客,原文链接:http://www.cnblogs.com/pinard/p/6113120.html,如需转载请自行联系原作者


相关文章
|
机器学习/深度学习 数据采集 自然语言处理
岭回归与LASSO回归:解析两大经典线性回归方法
岭回归与LASSO回归:解析两大经典线性回归方法
岭回归与LASSO回归:解析两大经典线性回归方法
|
机器学习/深度学习 数据采集 算法
|
机器学习/深度学习
机器学习模型评估指标详解
【7月更文挑战第14天】选择合适的评估指标对于准确评估机器学习模型的性能至关重要。在实际应用中,需要根据具体任务场景和数据特点,综合考虑多种评估指标,以全面评估模型的性能。同时,还需要注意评估指标的局限性,避免单一指标带来的误导。
1089 2
|
编解码 资源调度
功率谱密度(PSD)及其在无线通信中的应用
功率谱密度(PSD)及其在无线通信中的应用
1937 4
|
数据可视化 算法 大数据
深入解析高斯过程:数学理论、重要概念和直观可视化全解
这篇文章探讨了高斯过程作为解决小数据问题的工具,介绍了多元高斯分布的基础和其边缘及条件分布的性质。文章通过线性回归与维度诅咒的问题引出高斯过程,展示如何使用高斯过程克服参数爆炸的问题。作者通过数学公式和可视化解释了高斯过程的理论,并使用Python的GPy库展示了在一维和多维数据上的高斯过程回归应用。高斯过程在数据稀疏时提供了一种有效的方法,但计算成本限制了其在大数据集上的应用。
949 1
|
机器学习/深度学习 存储 算法
Python | 机器学习之SVM支持向量机
Python | 机器学习之SVM支持向量机
271 0
|
机器学习/深度学习 算法 数据挖掘
决策树学习笔记(三):CART算法,决策树总结
本篇为树模型系列第三篇,旨在从最简单的决策树开始学习,循序渐进,最后理解并掌握复杂模型GBDT,Xgboost,为要想要深入了解机器学习算法和参加数据挖掘竞赛的朋友提供帮助。
1095 0
决策树学习笔记(三):CART算法,决策树总结
|
2天前
|
弹性计算 运维 搜索推荐
三翼鸟携手阿里云ECS g9i:智慧家庭场景的效能革命与未来生活新范式
三翼鸟是海尔智家旗下全球首个智慧家庭场景品牌,致力于提供覆盖衣、食、住、娱的一站式全场景解决方案。截至2025年,服务近1亿家庭,连接设备超5000万台。面对高并发、低延迟与稳定性挑战,全面升级为阿里云ECS g9i实例,实现连接能力提升40%、故障率下降90%、响应速度提升至120ms以内,成本降低20%,推动智慧家庭体验全面跃迁。