机器学习(19)之支持向量回归机

关键字全网搜索最新排名

【机器学习算法】:排名第一

【机器学习】:排名第二

【Python】:排名第三

【算法】:排名第四

前言

机器学习(15)之支持向量机原理(一)线性支持向量机

机器学习(16)之支持向量机原理(二)软间隔最大化

机器学习(18)之支持向量机原理(三)线性不可分支持向量机与核函数

在前三篇里面我们讲到了SVM的线性分类和非线性分类,以及在分类时用到的算法。这些都关注与SVM的分类问题。实际上SVM也可以用于回归模型,本篇就对如何将SVM用于回归模型做一个总结。重点关注SVM分类和SVM回归的相同点与不同点。

SVR损失函数度量

回顾前面SVM分类模型中,我们的目标函数是让权值的二范数最小,同时让各个训练集中的点尽量远离自己类别一边的的支持向量,即

如果是加入一个松弛变量ξi≥0,则目标函数是

对应的约束条件变成:

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

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

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

总结下,SVR的损失函数度量为:

SVR目标函数的原始形式

SVM回归模型的损失函数度量在加入松弛变量之后变为:

和SVM分类模型相似,我们可以用拉格朗日函数将目标优化函数变成无约束的形式。

SVR目标函数的对偶形式

SVR目标函数的原始形式,我们的目标是

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

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

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

最终得到的对偶形式为:

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

SVR系数的稀疏性

在SVM分类模型中,我们的KKT条件的对偶互补条件为:

而在回归模型中,我们的对偶互补条件类似如下:

根据松弛变量定义条件,如果|yi−w∙ϕ(xi)−b|<ϵ,我们有ξi∨=0,ξi∧=0,此时

这样要满足对偶互补条件,只有αi∨=0,αi∧=0。我们定义样本系数系数

根据上面w的计算式

我们发现此时βi=0,也就是说w不受这些在误差范围内的点的影响。对于在边界上或者在边界外的点,αi∨≠0,αi∧≠0,此时βi≠0。

SVM 算法小结

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

优点

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

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

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

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

不足

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

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

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

  4)SVM对缺失数据敏感。

欢迎分享给他人让更多的人受益

参考:

  1. 周志华《机器学习》
  2. Neural Networks and Deep Learning by By Michael Nielsen
  3. 博客园 http://www.cnblogs.com/pinard/p/6113120.html
  4. Deep Learning, book by Ian Goodfellow, Yoshua Bengio, and Aaron Courville
  5. UFLDL Tutorial

原文发布于微信公众号 - 机器学习算法与Python学习(guodongwei1991)

原文发表时间:2017-10-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SIGAI学习与实践平台

用一句话总结常用的机器学习算法

浓缩就是精华。想要把书写厚很容易,想要写薄却非常难。现在已经有这么多经典的机器学习算法,如果能抓住它们的核心本质,无论是对于理解还是对于记忆都有很大的帮助,还能...

11430
来自专栏新智元

训练神经网络的五大算法:技术原理、内存与速度分析

【新智元导读】 训练神经网络的算法有成千上万个,最常用的有哪些,哪一个又最好?作者在本文中介绍了常见的五个算法,并从内存和速度上对它们进行对比。最后,他最推荐莱...

48890
来自专栏一直在跳坑然后爬坑

深入理解向量进行矩阵变换的本质

向量的理解 上图表述的是平面上一点,在以i和j为基的坐标系里的几何表示,这个点可以看作(x,y)也可以看作是向量ox与向量oy的和。

36140
来自专栏数据科学与人工智能

【知识】新手必看的十种机器学习算法

机器学习领域有一条“没有免费的午餐”定理。简单解释下的话,它是说没有任何一种算法能够适用于所有问题,特别是在监督学习中。 例如,你不能说神经网络就一定比决策树好...

21860
来自专栏机器学习、深度学习

语义分割--Mix-and-Match Tuning for Self-Supervised Semantic Segmentation

Mix-and-Match Tuning for Self-Supervised Semantic Segmentation AAAI Conference...

329100
来自专栏老秦求学

Deep Learning Tutorial 李宏毅(一)深度学习介绍

大纲 深度学习介绍 深度学习训练的技巧 神经网络的变体 展望 深度学习介绍 深度学习介绍 深度学习属于机器学习的一种。介绍深度学习之前,我们先大致了解一下机器学...

480100
来自专栏IT派

机器学习面试题目总结

如果你觉得好的话,不妨分享到朋友圈。 1.机器学习中特征的理解 def:特征选择和降维 特征选择:原有特征选择出子集,不改变原来的特征空间 降维:将原有的特征...

46150
来自专栏SIGAI学习与实践平台

机器学习中的目标函数总结

几乎所有的机器学习算法最后都归结为求解最优化问题,以达到我们想让算法达到的目标。为了完成某一目标,需要构造出一个“目标函数”来,然后让该函数取极大值或极小值,从...

85010
来自专栏智能算法

【深度学习】深度多目标跟踪算法综述

基于深度学习的算法在图像和视频识别任务中取得了广泛的应用和突破性的进展。从图像分类问题到行人重识别问题,深度学习方法相比传统方法表现出极大的优势。与行人重识别问...

33620
来自专栏机器之心

学界 | FAIR提出用聚类方法结合卷积网络,实现无监督端到端图像分类

预训练的卷积神经网络,或称卷积网络,已经成为大多数计算机视觉应用的基础构建模块 [1,2,3,4]。它们能提取极好的通用特征,用来提高在有限数据上学习的模型的泛...

21610

扫码关注云+社区

领取腾讯云代金券