支持向量机原理线性支持回归

Posted 郑兴鹏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了支持向量机原理线性支持回归相关的知识,希望对你有一定的参考价值。

   支持向量机原理(一) 线性支持向量机

    支持向量机原理(二) 线性支持向量机的软间隔最大化模型

    支持向量机原理(三)线性不可分支持向量机与核函数

    支持向量机原理(四)SMO算法原理

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

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

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

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

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

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

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

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

 

err(xi,yi)={0|yiwϕ(xi)+b|ϵ|yiwϕ(xi)b|ϵ|yiwϕ(xi)b|>ϵerr(xi,yi)={0|yi−w∙ϕ(xi)−b|≤ϵ|yi−w∙ϕ(xi)+b|−ϵ|yi−w∙ϕ(xi)−b|>ϵ

 

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

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

min12||w||22s.t|yiwϕ(xi)b|ϵ(i=1,2,...m)min12||w||22s.t|yi−w∙ϕ(xi)−b|≤ϵ(i=1,2,...m)

 

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

min12||w||22+Ci=1m(ξi+ξi)min12||w||22+C∑i=1m(ξi∨+ξi∧)
s.t.ϵξiyiwϕ(xi)bϵ+ξis.t.−ϵ−ξi∨≤yi−w∙ϕ(xi)−b≤ϵ+ξi∧
ξi0,ξi0(i=1,2,...,m)ξi∨≥0,ξi∧≥0(i=1,2,...,m)

 

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

 

L(w,b,α,α,ξi,ξi,μ,μ)=12||w||22+Ci=1m(ξi+ξi)+i=1以上是关于支持向量机原理线性支持回归的主要内容,如果未能解决你的问题,请参考以下文章

支持向量机原理 线性支持向量机

支持向量机(SVM)基本原理

支持向量机原理 线性支持向量机的软间隔最大化模型

原创支持向量机原理线性支持回归

支持向量机原理线性不可分支持向量机与核函数

支持向量机原理线性不可分支持向量机与核函数