zoukankan      html  css  js  c++  java
  • 02-36 支持向量回归


    更新、更全的《机器学习》的更新网站,更有python、go、数据结构与算法、爬虫、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11686958.html

    支持向量回归

    传统回归模型如线性回归,对于样本(x,y)(x,y) 是直接基于模型,通过预测值f(xi)yf(xi)y 和真实值yy 之间的差别计算损失,并且当f(xi)y=yf(xi)y=y 时损失才为零。

    支持向量回归(support vector regression, SVR)则可以容忍f(xi)yf(xi)y yy 之间有最多ϵϵ 的偏差,即当|f(xi)yy|>ϵ|f(xi)y−y|>ϵ 的时候才计算损失,这相当于以f(xi)yf(xi)y 为中心,构建了一个宽度为2ϵ 的间隔带,如果样本落入间隔带,则他的分类就是正确的。

    一、支持向量回归学习目标

    1. 支持向量机和支持向量回归的优化问题
    2. 支持向量回归目标函数的对偶形式
    3. 支持向量回归模型系数的稀疏性
    4. 核支持向量回归
    5. 支持向量机的优缺点

    二、支持向量回归详解

    2.1 支持向量机目标函数优化问题回顾

    线性可分SVM目标函数优化问题为

    min��ω,b12||ω||2s.t.yi(ωxi+b)1,i=1,2,,m(1)(2)(1)min⏟ω,b12||ω||2(2)s.t.yi(ωxi+b)≥1,i=1,2,…,m

    线性SVM由于在目标函数中加入了松弛因子ξi>0ξi>0 ,目标函数优化问题为

    min��ω,b,ξ12||ω||2+Ci=1mξis.t.yi(ωxi+b)1ξi,i=1,2,,mξi0,i=1,2,,m(3)(4)(5)(3)min⏟ω,b,ξ12||ω||2+C∑i=1mξi(4)s.t.yi(ωxi+b)≥1−ξi,i=1,2,…,m(5)ξi≥0,i=1,2,…,m

    2.2 支持向量回归损失度量函数

    支持向量回归由于有一个间隔带,因此它的损失度量函数为

    l(f(xi),yi)={0,|f(xi)yi|ϵ,if|f(xi)yi|ϵif|f(xi)yi|>ϵl(f(xi),yi)={0,if|f(xi)−yi|≤ϵ|f(xi)−yi|−ϵ,if|f(xi)−yi|>ϵ

    2.3 支持向量回归目标函数优化问题

    由于SVR的间隔带是自己引入的,所以SVR的目标函数变为

    min��ω,b12||ω||2+Ci=1ml(f(xi)yi)min⏟ω,b12||ω||2+C∑i=1ml(f(xi)−yi)

    如果和线性SVM一样引入松弛因子,但是由于我们的误差度量中的|f(xi)yi|ϵ|f(xi)−yi|≤ϵ 是绝对值小于,因此这个不等式其实是两个不等式,则SVR需要引入两个松弛因子ξiξi ξi^ξi^ ,则SVR的优化问题将变成

    min��ω,b,ξi,ξi^12||w||2+Ci=1m(ξi+ξi^)min⏟ω,b,ξi,ξi^12||w||2+C∑i=1m(ξi+ξi^)
    s.t.f(xi)yiϵ+ξi,yif(xi)ϵ+ξi^,ξi0,ξi^0,i=1,2,,m(6)(7)(8)(6)s.t.f(xi)−yi≤ϵ+ξi,(7)yi−f(xi)≤ϵ+ξi^,(8)ξi≥0,ξi^≥0,i=1,2,⋯,m

    对SVR的优化问题引入拉格朗日乘子μi0,μi^0,αi0,αi^0μi≥0,μi^≥0,αi≥0,αi^≥0 ,通过拉格朗日乘子法即可得到拉格朗日函数

    L(w,b,α,α^,ξ,ξ^,μ,μ^)=12||w||2+Ci=1m(ξi+ξi^)i=1mμiξii=1mμi^ξi^+i=1mαi(f(xi)yiϵξ)+i=1mαi^(yif(xi)ϵξi^)(9)(10)(11)(9)L(w,b,α,α^,ξ,ξ^,μ,μ^)(10)=12||w||2+C∑i=1m(ξi+ξi^)−∑i=1mμiξi−∑i=1mμi^ξi^(11)+∑i=1mαi(f(xi)−yi−ϵ−ξ)+∑i=1mαi^(yi−f(xi)−ϵ−ξi^)

    2.4 支持向量回归目标函数对偶形式

    通过拉格朗日即可得到支持向量回归目标函数的原始形式

    min��w,b,ξi,ξi^max��μi0,μi^0,αi0,αi^0L(w,b,α,α^,ξ,ξ^,μ,μ^)min⏟w,b,ξi,ξi^max⏟μi≥0,μi^≥0,αi≥0,αi^≥0L(w,b,α,α^,ξ,ξ^,μ,μ^)

    可以发现支持向量回归的目标函数的原始形式也满足KTT条件,即可以通过拉格朗日对偶将我们的问题转化为等价的对偶问题,即

    max��μi0,μi^0,αi0,αi^0min��w,b,ξi,ξi^L(w,b,α,α^,ξ,ξ^,μ,μ^)max⏟μi≥0,μi^≥0,αi≥0,αi^≥0min⏟w,b,ξi,ξi^L(w,b,α,α^,ξ,ξ^,μ,μ^)

    首先求优化函数对让w,b,ξi,ξi^w,b,ξi,ξi^ 的极小值,再求拉格朗日乘子μi,μi^,αi,αi^μi,μi^,αi,αi^ 的极大值,即先得到拉格朗日函数L(w,b,α,α^,ξ,ξ^,μ,μ^)L(w,b,α,α^,ξ,ξ^,μ,μ^) 分别对w,b,ξi,ξi^w,b,ξi,ξi^ 求偏导为0可得

    w=i=1m(αi^αi)xi,0=i=1m(αi^αi),C=αi+μ,C=αi^+μi^,(12)(13)(14)(15)(12)w=∑i=1m(αi^−αi)xi,(13)0=∑i=1m(αi^−αi),(14)C=αi+μ,(15)C=αi^+μi^,

    将拉格朗日函数对w,b,ξi,ξi^w,b,ξi,ξi^ 的偏导代入拉格朗日函数,即可得SVR的对偶问题

    max��α,α^i=1myi(αi^αi)ϵ(αi^+αi)12i=1mj=1m(αi^αi)(αi^αj)xTixjmax⏟α,α^∑i=1myi(αi^−αi)−ϵ(αi^+αi)−12∑i=1m∑j=1m(αi^−αi)(αi^−αj)xiTxj
    s.t.i=1m(αi^αi)=00αi,αi^C(16)(17)(16)s.t.∑i=1m(αi^−αi)=0(17)0≤αi,αi^≤C

    对于上述SVR的目标函数的对偶形式取对数,即可变成最小化目标函数的优化问题,即

    min��α,α^i=1myi(αi^αi)+ϵ(αi^+αi)+12i=1mj=1m(αi^αi)(αi^αj)xTixjmin⏟α,α^−∑i=1myi(αi^−αi)+ϵ(αi^+αi)+12∑i=1m∑j=1m(αi^−αi)(αi^−αj)xiTxj
    s.t.i=1m(αi^αi)=00αi,αi^C(18)(19)(18)s.t.∑i=1m(αi^−αi)=0(19)0≤αi,αi^≤C

    对于这个目标函数,依然可以使用SMO算法求出对应的αi,αi^αi,αi^ ,进而求出回归模型的w,bw,b

    2.5 支持向量回归模型系数的稀疏性

    在对支持向量回归的目标函数优化的时候,我们假设该目标函数满足KKT条件,该KKT条件为

    αi(f(xi)yiϵξi)=0,αi^(yif(xi)ϵξi^)=0,αiαi^=0,ξiξi^=0,(Cαi)ξi=0,(Cαi^ξi^=0{αi(f(xi)−yi−ϵ−ξi)=0,αi^(yi−f(xi)−ϵ−ξi^)=0,αiαi^=0,ξiξi^=0,(C−αi)ξi=0,(C−αi^ξi^=0

    从上式可以看出,只有当f(xi)yiϵξi=0f(xi)−yi−ϵ−ξi=0 的时候αiαi 才可以为非0解,并且只有当yif(xi)ϵξi^=0yi−f(xi)−ϵ−ξi^=0 的时候αi^αi^ 才可以为非0解。

    首先根据松弛变量的定义,如果|f(xi)yiϵξi|<ϵ|f(xi)−yi−ϵ−ξi|<ϵ ,则样本点落在间隔带中,则ξi=0,ξi^=0ξi=0,ξi^=0 ,既可以得到f(xi)yiϵξi0,yif(xi)ϵξi^0f(xi)−yi−ϵ−ξi≠0,yi−f(xi)−ϵ−ξi^≠0 ,则可以得到αi=0,αi^=0αi=0,αi^=0 ,则αi^αi=0αi^−αi=0

    即只有样本点(xi,yi)(xi,yi) 不落入间隔带中才能使得相应的αiαi αi^αi^ 为非0解,并且由于样本点既不能同时在分隔超平面的两边,即f(xi)yiϵξi=0f(xi)−yi−ϵ−ξi=0 yif(xi)ϵξi^=0yi−f(xi)−ϵ−ξi^=0 不能同时存在,即αiαi αi^αi^ 至少有一个为0并且不能同时为0,则αi^αi0αi^−αi≠0

    假设αiαi 已经通过SMO算法得到,则可以得到w=mi=1(αi^αi)xiw=∑i=1m(αi^−αi)xi ,即可得SVR的分离超平面为

    f(x)=i=1m(αi^αi)xTix+bf(x)=∑i=1m(αi^−αi)xiTx+b

    从上式可以看出当样本点落在间隔带,由于αi^αi=0αi^−αi=0 ,即w=0w=0 ,则ww 不受这些间隔带内点的影响,对于间隔带外的样本点,则会对ww 造成影响,即这些点为SVR的支持向量。并且由于SVR的支持向量仅仅是训练样本的一部分,所以SVR的解ww 具有稀疏性。

    SVR对于bb 的求解类似于SVM,由于能得到多个bb 值,所以最后对bb 取平均值。

    2.6 核支持向量回归

    上一节得到了SVR的分离超平面为

    f(x)=i=1m(αi^αi)xTix+bf(x)=∑i=1m(αi^−αi)xiTx+b

    如果我们使用和SVM一样的核技巧,即对SVR训练数据做一个样本映射,即另ϕ(x)ϕ(x) 表示xx 映射后的特征向量。则分离超平面可以变为

    f(x)=i=1m(αi^αi)ϕ(xi)Tϕ(x)+b=i=1m(αi^αi)k(x,xi)+b(20)(21)(20)f(x)=∑i=1m(αi^−αi)ϕ(xi)Tϕ(x)+b(21)=∑i=1m(αi^−αi)k(x,xi)+b

    其中k(x,xi)k(x,xi) 为核函数。

    三、小结

    SVR除了可以支持回归问题外,其他方面和SVM差不多,由于SVR也算作是SVM的一个分支,此处不多说什么,参考SVM即可。

  • 相关阅读:
    Cisco产品采用的网络协议总结 java程序员
    实用级反主动防御rootkit设计思路 java程序员
    教你几招识别和防御Web网页木马 java程序员
    “TRUNK”的三个意思 不要混淆 java程序员
    Windows 图像捕获服务本地权限提升漏洞 java程序员
    入侵检测之蜜罐 java程序员
    小措施防范来自网络的ARP攻击 java程序员
    poj2299UltraQuickSort
    按位与或非
    hdu4325(线段树)
  • 原文地址:https://www.cnblogs.com/abdm-989/p/12129839.html
Copyright © 2011-2022 走看看