一种支持向量回归机模型选择方法

文档序号:10725743阅读:282来源:国知局
一种支持向量回归机模型选择方法
【专利摘要】本发明公开了一种支持向量回归机模型选择方法,针对支持向量回归机的模型选择问题提出了一种新的基于混合核函数和容积卡尔曼滤波的支持向量回归机模型选择方法。选择混合核函数作为支持向量机的核函数,把混合核函数的组合系数嵌入到核函数参数与回归参数组成的超参数状态向量当中,从而将模型选择问题转换成一个非线性系统的状态估计问题,然后基于高性能的容积卡尔曼滤波进行超参数估计。仿真实验表明,本文所提方法与单个核函数的容积卡尔曼滤波支持向量回归机模型选择方法、遗传算法相比,该方法得到的决策回归函数具有更大的泛化能力,预测精度更高。
【专利说明】
一种支持向量回归机模型选择方法
技术领域
[0001 ]本发明涉及一种支持向量机相关技术,尤其涉及一种支持向量回归机模型选择方法。
【背景技术】
[0002] 1995年Corinna Cortes和Vapnik等首先提出 了支持向量机(Support Vector Machine,SVM),它是建立在统计学习理论基础之上的通用学习方法。SVM由于其强大的非线 性处理能力和泛化能力等特点,它在解决小样本、非线性及高维模式识别中表现出许多特 有的优势,已经成功的解决了各种非线性和非可分机器学习问题,因此被广泛的应用在分 类和回归问题中。但是,支持向量机方法也存在一些亟待解决和完善的问题,主要有:支持 向量机分类理论是针对两类分类问题提出的,然而,现实世界的分类问题,如舰船识别、字 体识别、人脸识别等都属于多分类的范畴,因此,如何用支持向量机更有效的解决多分类问 题;支持向量机在二次寻优过程中要进行大量的矩阵运算,多数情况下,寻优算法占用了大 部分的算法时间,这就使得存储空间和和计算时间成了求解二次规划问题的瓶颈,如何解 决这一瓶颈问题;核函数以及核参数对支持向量机的分类拟合能力起着关键性作用,如何 确定核函数以及最优的核参数以保证算法的有效性。

【发明内容】

[0003] 本发明的目的就在于为了解决上述问题而提供一种支持向量回归机模型选择方 法。
[0004] 本发明通过以下技术方案来实现上述目的:
[0005] 本发明包括参数滤波估计模型的建立、系统设计、预测输出函数、容积卡尔曼滤 波、MKF-CKF-SVR模型参数选择;
[0006] 参数滤波估计模型的建立:建立如下超参数非线性系统
[0007] γ (k)= γ (k-l)+w(k) (1)
[0008] y(k)=h( γ (k))+v(k) (2)
[0009] 其中,y(k)是超参数状态向量,y(k)是观测输出,过程噪声w(k)和观测噪声v(k) 均是均值为零的高斯白噪声,且方差分别为Q和R;
[0010] 由于待求的最优超参数可以看做是固定不变的,所以可以建立式(1)所示的关于 超参数的线性状态方程,其次对于任何一个状态向量y(k),经过LIBSVM训练预测之后每一 个原始数据都有一个预测输出,故可建立式(2)所示的非线性观测方程;为了CKF算法的运 行,需要对系统模型加入人工过程白噪声和观测白噪声;
[0011]系统设计:支持向量回归机:
[0012 ]支持向量回归机的最终目的是找到一个回归函数f: RD-R,使得
[0013] y = f(x) =wT<}) (x)+b (3)
[0014] 其中,Φ (x)是一个将数据x从低维映射到高维特征空间的函数;w是一个权重向 量,并且b是一个上下平移的数值;标准支持向量回归机采用ε_不灵敏函数,假设所有训练 数据在精度ε下用线性函数拟合;这时,把问题转化为求优化目标函数最小化问题:
[0016] 式中,f是松弛因子,当拟合有误差时,,€都大于0,误差不存在时为0,优化 函数第一项使拟合函数更为平坦,从而提高泛化能力;第二项为减小误差;常数c>0表示对 超出误差ε的样本的惩罚程度;
[0017] 将核函数组合系数pi,ρ2、局部核函数的参数、全局核函数的参数以及惩罚参数C 作为支持向量回归机的超参数γ,令ki为局部核函数的核参数向量,k2为全局核函数的核参 数向量,则模型(1)中的超参数状态向量γ =[pl,p2,kl,k2,C]T;
[0018] 求解(4)式的凸二次优化问题,引入Lagrange乘子ai,<.,.支持向量回归机的原始 问题(4)转换成如下对偶形式:
[0020] 通过求解该对偶问题得到原始问题的解? = (g,瓦,<,</,从而构造 决策函数;将核函数KU,,)代替目标函数(1)中的内积(Xl · ^),则得到决策函数为:
[0026] 预测输出函数:假设支持向量回归机的原始样本数据集合为D={(Xl,yi)|iei},
[0027] 其中指标集合I = {1,2,...,N},yi为数据的目标向量,运用k-折交叉验证方法将 样本数据分成k组,即
[0028] Dj={(xi,yi)|ielj} (9)
[0029] 其中je {1,2, . . .,k},并且所有组的指标集Ij满足hU IjU…U Ik=I,所有组的 数据集Dj满足Di U D2 U…U Dk = D;在每一次支持向量回归的迭代运算中,使用其中任意一 组数据叫用作预测,剩下的k-Ι组数据作为训练数据库,给定初始的超参数γ 〇利用LIBSVM [25]训练支持向量回归机;设此时训练结果为δ和|,则此时的决策函数为:
[0032]将数据组叫代入式(11),即可得到叫的预测输出值
[0034] 分别将数据组Duie U,2, . . .,k}作为预测数据组,其余的数据组Di,. . . D1+1,. . .,Dk作为支持向量回归机训练数据组,经过k-折交叉验证回归预测之后,样本数据 集D中的每一个数据有且仅有一个预测输出值;故对于超参数向量γ,可定义如下预测输出 函数:
[0035] y = h( γ ) (12)
[0036] 其中,y = (y(l),y(2),· · ·,y(N))T;
[0037] 容积卡尔曼滤波:基于公式(1)、(2)所建立的超参数模型以及预测输出函数(12), 下面给出容积卡尔曼滤波算法部分的主要步骤,包括2个过程,即时间更新过程和测量更新 过程:
[0038] 时间更新:
[0039] 1)假设在k时刻状态误差协方差矩阵已知,按下式分解
[0040] P(k-l|k-l)=S(k-l|k-l)ST(k-l|k-l) (13)
[0041 ] 2)按下式计算容积点(i = 1,2,…,m)
[0042] Λ; (/f - 11 /f -1) = S(k -1! !< - \)?(?) + y(k -11 !< -1) (料.)
[0044] 3)计算传播容积点(i = l,2,…,m)
[0045] X;(k\k-\) = f(Xi(k\k-\)) ( 1、)
[0046] 4)计算一步状态预测
[0048] 5)-步预测误差协方差阵为
[0050] 测量更新
[0051 ] 1)按下式分解一步预测误差协方差阵
[0052] P(k|k-l)=S(k|k-l)ST(k|k-l) (18)
[0053] 2)计算容积点(i = l,2,…,m)
[0054] Xt.(k I1) = S(k I k - l)c(/) + y{k \ k --1) (19)
[0055] 3)基于预测输出函数(14)-(17)计算传播容积点
[0056] Yi(k|k-l)=h(Xi(k|k-l)) (20)
[0067] 9)状态误差协方差矩阵为
[0068] P(k|k)=P(k|k-l)-K(k)Pyy(k|k-l)KT(k) (31)
[0069] Remark 2:由于CKF算法运用了径向积分和球形积分方法,该算法本身比UKF算法 具有更高的估计精度;从容积卡尔曼滤波算法对超参数的估计过程来看,主要是在测量更 新步骤(20)式中,需要将LIBSVM训练得到的预测输出函数嵌入到传播容积点的计算当中;
[0070] MKF-CKF-SVR模型参数选择
[0071] 在超参数系统(1)-(2)中,观测向量y(k)的真实值在每一次迭代中都是不变的,且 就是原始样本数据的目标值向量y(k) = (yi,y2,. . .,yN)T,故可根据观测向量的真实值y(k) 及预测输出值夕对超参数状态向量γ做最优状态估计,使得真实值与预测输出值的方差达 到最小;MKF-CKF-SVR算法同样是包括两个过程,即时间更新过程和测量更新过程:
[0072] 时间更新:
[0073]由于该更新过程是对状态的预测更新,且状态方程是线性已知的,故可根据容积 卡尔曼滤波算法的时间跟新过程进行MKF-CKF-SVR算法的时间更新;
[0074] 测量更新:
[0075] 在测量更新的过程中需要用到预测输出函数,故不能直接利用CKF算法的公式 (17)进行传播容积点的计算;需要由超参数状态向量y(k),利用LIBSVM训练数据集,再预 测输出f ;具体的MKF-CKF-SVR算法步骤:
[0076] 初始化:
[0077] 1.1获得原始数据集D,选择混合核函数模型,将组合系数嵌入到超参数状态向量 γ当中,设置初始超参数状态值γ 〇;
[0078] 1.2运用k折交叉验证法首先将原始数据集分成沾且以,D2,…,Dk [0079] While(超参数状态值不满足设定条件)do;
[0080] 时间更新:
[0081] 1.3利用公式(12)-(17)对超参数状态进行时间更新
[0082] 测量更新:
[0083] 1.4根据公式(17)分解一步预测误差协方差阵
[0084] 1.5由用公式(18)计算容积点
[0085] 1.6轮流将k组数据中的一组作为测试集,其它k-Ι组作为训练集,基于LIBSVM算法 对数据集进行训练,最后预测输出,
[0086] 1.7基于预测f,利用公式(21)计算一步测量预测
[0087] 1.8运用公式(21)-(25)继续进行测量更新
[0088] End while
[0089] End
[0090] Remark 3:基于混合核函数和容积卡尔曼滤波算法的SVR算法将混合核函数的组 合系数与核参数及惩罚参数C作为超参数状态向量,然后利用k-折交叉验证法基于LIBSVM 对数据集进行预测输出,最终用CKF算法迭代计算最优的的超参数状态向量;实际上,整个 MKF-CKF-SVR算法的过程就是在迭代寻找最优的状态向量γ,使得样本真实目标值y(k)与 支持向量回归机的预测输出I之间的误差方差最小。
[0091] 本发明的有益效果在于:
[0092] 本发明是一种支持向量回归机模型选择方法,与现有技术相比,本发明将混合核 函数的组合系数嵌入到核函数参数与回归参数组成的超参数状态向量当中,基于LIBSVM对 原始数据集做预测输出,然后用容积卡尔曼滤波对超参数进行自动调整估计。最后以预测 太阳黑子数平滑月均值为实验证明了基于本文所提方法得到的超参数能够使得支持向量 回归机的泛化能力更强,预测精度更高。
【附图说明】
[0093] 图1是本发明的MKF-CKF-SVR超参数调整结构图;
[0094]图2是本发明的MKF-CKF-SVR算法的回归预测图;
[0095] 图3是本发明的RBF-GA-SVR算法的回归预测图。
【具体实施方式】
[0096] 下面结合附图对本发明作进一步说明:
[0097] 如图1所示:MKF-CKF-SVR模型参数选择
[0098] 下面推导支持向量回归机模型超参数的选择方法,并给出所提算法的具体步骤。 设计如图1所示的超参数调整系统,首先利用k_折交叉验证法将原始数据集分成k组,选择 局部核函数和全局核函数确定混合核函数,基于该混合核函数用k个子LIBSVM训练此数据 集,并将它的预测输出嵌入到容积卡尔曼滤波器当中,将模型的超参数作为系统的状态向 量,则整个超参数的调整问题就可作为一个非线性动态系统的滤波估计问题。
[0099] 本发明包括参数滤波估计模型的建立、系统设计、预测输出函数、容积卡尔曼滤 波、MKF-CKF-SVR模型参数选择;
[0100] 参数滤波估计模型的建立:建立如下超参数非线性系统
[0101] γ (k)= γ (k-l)+w(k) (1)
[0102] y(k)=h( γ (k))+v(k) (2)
[0103] 其中,y(k)是超参数状态向量,y(k)是观测输出,过程噪声w(k)和观测噪声v(k) 均是均值为零的高斯白噪声,且方差分别为Q和R;
[0104] 由于待求的最优超参数可以看做是固定不变的,所以可以建立式(1)所示的关于 超参数的线性状态方程,其次对于任何一个状态向量y(k),经过LIBSVM训练预测之后每一 个原始数据都有一个预测输出,故可建立式(2)所示的非线性观测方程;为了CKF算法的运 行,需要对系统模型加入人工过程白噪声和观测白噪声;
[0105] 系统设计:支持向量回归机:
[0106] 支持向量回归机的最终目的是找到一个回归函数f:RD-R,使得
[0107] y = f(x) =¥τφ (x)+b (3)
[0108] 其中,Φ (x)是一个将数据x从低维映射到高维特征空间的函数;w是一个权重向 量,并且b是一个上下平移的数值;标准支持向量回归机采用ε_不灵敏函数,假设所有训练 数据在精度ε下用线性函数拟合;这时,把问题转化为求优化目标函数最小化问题:
[0110] 式中,是松弛因子,当拟合有误差时,都大于0,误差不存在时为0,优化 函数第一项使拟合函数更为平坦,从而提高泛化能力;第二项为减小误差;常数c>0表示对 超出误差ε的样本的惩罚程度;
[0111] 将核函数组合系数pi,ρ2、局部核函数的参数、全局核函数的参数以及惩罚参数C 作为支持向量回归机的超参数γ,令ki为局部核函数的核参数向量,k2为全局核函数的核参 数向量,则模型(1)中的超参数状态向量γ =[pl,p2,kl,k2,C]T;
[0112] 求解(4)式的凸二次优化问题,引入Lagrange乘子ai,:,支持向量回归机的原始 问题(4)转换成如下对偶形式:
[0114] 通过求解该对偶问题得到原始问题的解,…,?Κ)'·,从而构造 决策函数;将核函数KU,,)代替目标函数(1)中的内积( Xl · ^),则得到决策函数为:
[0116]其中,F按如下方式计算:选择开区间中的%或% ;若选到的是孓,则
[0118] 若选到的是客,:则
[0120] 预测输出函数:假设支持向量回归机的原始样本数据集合为D={(Xl,yi)|iei},
[0121] 其中指标集合I = {1,2,...,N},yi为数据的目标向量,运用k-折交叉验证方法将 样本数据分成k组,即
[0122] Dj={(xi,yi)|ielj} (9)
[0123] 其中je{l,2,. . .,k},并且所有组的指标集Ij满足hUIjU…UIk=I,所有组的 数据集Dj满足Di U D2 U…U Dk = D;在每一次支持向量回归的迭代运算中,使用其中任意一 组数据叫用作预测,剩下的k-Ι组数据作为训练数据库,给定初始的超参数γ 〇利用LIBSVM [25]训练支持向量回归机;设此时训练结果为泛和I,则此时的决策函数为:
[0128] 分别将数据组D^ie {1,2, . . .,k}作为预测数据组,其余的数据组D1; . . . D1+1,. . .,Dk作为支持向量回归机训练数据组,经过k-折交叉验证回归预测之后,样本数据 集D中的每一个数据有且仅有一个预测输出值;故对于超参数向量γ,可定义如下预测输出 函数:
[0129] y=h( γ) (12)
[0130] 其中,y = (y(l),y(2),· · ·,y(N))T;
[0131] 容积卡尔曼滤波:基于公式(1)、(2)所建立的超参数模型以及预测输出函数(12), 下面给出容积卡尔曼滤波算法部分的主要步骤,包括2个过程,即时间更新过程和测量更新 过程:
[0132] 时间更新:
[0133] 6)假设在k时刻状态误差协方差矩阵已知,按下式分解
[0134] P(k-l|k-l)=S(k-l|k-l)ST(k-l|k-l) (13)
[0135] 7)按下式计算容积点(i = l,2,…,m)
[0136] A~(/? - i | A· -1) = 5?:/γ - 11 /(- ;'(/r -11 /(- 1) .( 14)
[0138] 8)计算传播容积点(i = l,2,…,m)
[0139] {k\k-\) = j\XXk\k-\)) (15)
[0140] 9)计算一步状态预测
[0144] 测量更新
[0145] 10)按下式分解一步预测误差协方差阵
[0146] P(k|k-l)=S(k|k-l)ST(k|k-l) (18)
[0147] 11)计算容积点(i = l,2,…,m)
[0148] X^k \k-\) = S{k \ k -1)^(/) + f{k j ^ -1) ( 19 )
[0149] 12)基于预测输出函数(14)-(17)计算传播容积点
[0150] Yi(k|k-l)=h(Xi(k|k-l)) (20)
[0151] 13) -步测量预测为
[0159] 17)更新估计状态
[0160] f(k\k)-f{k\k-\)JrK(k )(y{k) - y(k | A- -1)) (25 )
[0161] 18)状态误差协方差矩阵为
[0162] P(k|k)=P(k|k-l)-K(k)Pyy(k|k-l)KT(k) (31)
[0163] Remark 2:由于CKF算法运用了径向积分和球形积分方法,该算法本身比UKF算法 具有更高的估计精度;从容积卡尔曼滤波算法对超参数的估计过程来看,主要是在测量更 新步骤(20)式中,需要将LIBSVM训练得到的预测输出函数嵌入到传播容积点的计算当中;
[0164] MKF-CKF-SVR模型参数选择
[0165] 在超参数系统(1)-(2)中,观测向量y(k)的真实值在每一次迭代中都是不变的,且 就是原始样本数据的目标值向量y(k) = (yi,y2,. . .,yN)T,故可根据观测向量的真实值y(k) 及预测输出值戈对超参数状态向量γ做最优状态估计,使得真实值与预测输出值的方差达 到最小;MKF-CKF-SVR算法同样是包括两个过程,即时间更新过程和测量更新过程:
[0166] 时间更新:
[0167] 由于该更新过程是对状态的预测更新,且状态方程是线性已知的,故可根据容积 卡尔曼滤波算法的时间跟新过程进行MKF-CKF-SVR算法的时间更新;
[0168] 测量更新:
[0169] 在测量更新的过程中需要用到预测输出函数,故不能直接利用CKF算法的公式 (17)进行传播容积点的计算;需要由超参数状态向量y(k),利用LIBSVM训练数据集,再预 测输出,;具体的MKF-CKF-SVR算法步骤:
[0170] 初始化:
[0171] 1.1获得原始数据集D,选择混合核函数模型,将组合系数嵌入到超参数状态向量 γ当中,设置初始超参数状态值γ 〇;
[0172] 1.2运用k折交叉验证法首先将原始数据集分成沾且以,D2,…,Dk
[0173] While (超参数状态值不满足设定条件)do;
[0174] 时间更新:
[0175] 1.3利用公式(12)-(17)对超参数状态进行时间更新
[0176] 测量更新:
[0177] 1.4根据公式(17)分解一步预测误差协方差阵
[0178] 1.5由用公式(18)计算容积点
[0179] 1.6轮流将k组数据中的一组作为测试集,其它k-Ι组作为训练集,基于LIBSVM算法 对数据集进行训练,最后预测输出/
[0180] 1.7基于预测$,利用公式(21)计算一步测量预测
[0181] 1.8运用公式(21)-(25)继续进行测量更新
[0182] End while
[0183] End
[0184] Remark 3:基于混合核函数和容积卡尔曼滤波算法的SVR算法将混合核函数的组 合系数与核参数及惩罚参数C作为超参数状态向量,然后利用k-折交叉验证法基于LIBSVM 对数据集进行预测输出,最终用CKF算法迭代计算最优的的超参数状态向量;实际上,整个 MKF-CKF-SVR算法的过程就是在迭代寻找最优的状态向量γ,使得样本真实目标值y(k)与 支持向量回归机的预测输出,之间的误差方差最小。
[0185] 算法分析
[0186] 在基于局部核函数的的支持向量机的算法中,主要是相互之间距离较近的数据点 对核函数的值产生影响,而在基于全局核函数的支持向量机算法中,主要是数据集中相互 之间的距离较远的点对核函数的值产生影响。在求解实际问题时仅仅采用单一的核函数具 有一定的局限性,往往不能使得得到的支持向量回归机性能最优。而混合核函数将两种不 同类型的核函数组合之后使得新核函数既具有良好的学习能力又具有较好的推广能力。这 就恰好体现了支持向量机在学习能力和推广能力之间两者兼顾的思想。但对于如何选择混 合核函数的组合系数仍是个难题,通常采用的方法是专家的先验知识核基于交叉验证的方 法,但这些方法都不一定能给出最优的选择参数。本文将构造核函数的组合参数P1,p2与局 部核函数的参数、全局核函数的参数以及惩罚参数C放在一起作为支持向量回归机的超参 数,事实上,我们可以完全将此时的超参数向量看作是混合核函数的核参数,然后基于高精 度的容积卡尔曼滤波算法对超参数向量整体进行状态估计得到支持向量回归机最优的超 参数值。
[0187] 仿真例子
[0188] 预测太阳黑子数平滑月均值的实验:将利用太阳活动1974年1月至2004年12月的 太阳黑子数平滑月均值来预测太阳活动2005年1月至2014年11月的太阳黑子数平滑月均 值。试验中的数据来自太阳影响数据分析中心。所有仿真均采用5-折交叉验证。本仿真混合 核函数的局部核函数选择RBF核函数,全局核函数选择S i gmo i d核函数。则MKF-CKF-SVR算法 的超参数向量/-[/儿/)2,0,人^,(;]/,基于1^ 7核函数的遗传支持向量回归机算法(1^7-6八-SVR)的超参数向量y=[0,C] T。回归预测结果对比如图2和表2所示。
[0189] 表2超参数估计结果表
[0191] 从图2、图3可以看出,MKF-CKF-SVR算法与RBF-GA-SVR算法相比,能更好的对原始 数据集进行拟合,预测精度更高。从表2的预测样本误差均方误差来看,MKF-CKF-SVR算法的 预测样本误差均方误差大大小于RBF-GA-SVR算法,且基于MKF-CKF-SVR算法给出的局部核 参数值σ远小于基于RBF-GA-SVR算法,因此,MKF-CKF-SVR算法泛化能力更强。
[0192] 结论
[0193] 本发明将混合核函数的组合系数嵌入到核函数参数与回归参数组成的超参数状 态向量当中,基于LIBSVM对原始数据集做预测输出,然后用容积卡尔曼滤波对超参数进行 自动调整估计。最后以预测太阳黑子数平滑月均值为实验证明了基于本文所提方法得到的 超参数能够使得支持向量回归机的泛化能力更强,预测精度更高。
[0194] 以上显示和描述了本发明的基本原理和主要特征及本发明的优点。本行业的技术 人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本 发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变 化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其 等效物界定。
【主权项】
1. 一种支持向量回归机模型选择方法,其特征在于:包括参数滤波估计模型的建立、系 统设计、预测输出函数、容积卡尔曼滤波、MF-CKF-SVR模型参数选择; 参数滤波估计模型的建立:建立如下超参数非线性系统 丫化)=丫化-l)+w 化) (1) y(k)=h( γ (;k))+v(;k) (2) 其中,T(k)是超参数状态向量,y化)是观测输出,过程噪声w化)和观测噪声V化)均是 均值为零的高斯白噪声,且方差分别为Q和R; 由于待求的最优超参数可W看做是固定不变的,所W可W建立式(1)所示的关于超参 数的线性状态方程,其次对于任何一个状态向量丫化),经过LIBSVM训练预测之后每一个原 始数据都有一个预测输出,故可建立式(2)所示的非线性观测方程;为了CKF算法的运行,需 要对系统模型加入人工过程白噪声和观测白噪声; 系统设计:支持向量回归机: 支持向量回归机的最终目的是找到一个回归函数f:RD^R,使得 y = f(χ)=¥^Φ (x)+b (3) 其中,Φ (X)是一个将数据X从低维映射到高维特征空间的函数;w是一个权重向量,并 且b是一个上下平移的数值;标准支持向量回归机采用ε-不灵敏函数,假设所有训练数据在 精度ε下用线性函数拟合;运时,把问题转化为求优化目标函数最小化问题:式中,ξι,努是松弛因子,当拟合有误差时,ξι,贫都大于0,误差不存在时为0,优化函数 第一项使拟合函数更为平坦,从而提高泛化能力;第二项为减小误差;常数C>0表示对超出 误差ε的样本的惩罚程度; 将核函数组合系数pi,ρ2、局部核函数的参数、全局核函数的参数W及惩罚参数C作为 支持向量回归机的超参数丫,令ki为局部核函数的核参数向量,k2为全局核函数的核参数向 量,则模型(1)中的超参数状态向量丫 =[pl,p2,kl,k2,C]T; 求解(4)式的凸二次优化问题,引入Lagrange乘子αι,<.,支持向量回归机的原始问题 (4)转换成如下对偶形式:通过求解该对偶问题得到原始问题的解尿=诉1,却,&,马,…而,兩y',从而构造决策函 数;将核函数Κ(Χ,Χ')代替目标函数(1)中的內积(XI · Xj),则得到决策函数为:预测输出函数:假设支持向量回归机的原始样本数据集合为D={(xi,yi) lie I},其中 指标集合1 = {1,2,...,N},yi为数据的目标向量,运用k-折交叉验证方法将样本数据分成k 组,即 Dj = {(xi,yi) I iElj} (9) 其中j e {1,2, . . .,k},并且所有组的指标集Ij满足Ii U Ij U…U Ik=I,所有组的数据集 Dj满足化U化U…UDk=D;在每一次支持向量回归的迭代运算中,使用其中任意一组数据Dp 用作预测,剩下的k-1组数据作为训练数据库,给定初始的超参数丫 0利用υΒ5νΜ[254]Ι|练支 持向量回归机;设此时训练结果为巧和易,则此时的决策函数为:(10) 其中,? = (αι·?|%α]·?.;·...,α,々Γ)'; 将数据组Dp代入式(11),即可得到Dp的预测输出值(11) 分别将数据组Di,ie {1,2, . . .,k}作为预测数据组,其余的数据组Di,. . .,Di-i, Di+i,. . .,Dk作为支持向量回归机训练数据组,经过k-折交叉验证回归预测之后,样本数据 集D中的每一个数据有且仅有一个预测输出值;故对于超参数向量γ,可定义如下预测输出 函数: y=h(丫) (12) 其中,y=(y(l),y(2),...,y(N))T; 容积卡尔曼滤波:基于公式(1)、(2)所建立的超参数模型W及预测输出函数(12),下面 给出容积卡尔曼滤波算法部分的主要步骤,包括2个过程,即时间更新过程和测量更新过 程: 时间更新: 1) 假设在k时刻状态误差协方差矩阵已知,按下式分解 P(k-l|k-l) = S(k-l|k-l)sT 化-l|k-l) (13) 2) 按下式计算容积点(i = l,2,…,m) 《雌-II点-1) = ^巧-1|&-:1仪贷+列点-1|&-1) (1斗) 其中,m=化X,拿.=S叫,:,如若状态维数为2,贝1J [ 1 ] e R2,表示集合P且[1]1表示该集合中的第i个向量点; 3)计算传播容积点(i = l,2,…,m)测量更新 1) 按下式分解一步预测误差协方差阵 P(k|k-l) = S(k|k-l)sT 化 |k-l) (18) 2) 计算容积点(i = l,2,…,m) 乂心' μ - 1)=巧皮 μ -1)《(/) + .户(足 I /r_ 9 (19) 3) 基于预测输出函数(14)-(17)计算传播容积点 Yi(k|k-l)=h(Xi 化 |k-l)) (20) 4) 一步测量预测为Remark 2:由于CKF算法运用了径向积分和球形积分方法,该算法本身比UKF算法具有 更高的估计精度;从容积卡尔曼滤波算法对超参数的估计过程来看,主要是在测量更新步 骤(20)式中,需要将LIBSVM训练得到的预测输出函数嵌入到传播容积点的计算当中; MKF-CKF-SVR模型参数选择 在超参数系统(1)-(2)中,观测向量y化)的真实值在每一次迭代中都是不变的,且就是 原始样本数据的目标值向量y化)= (yi,y2,. . .,yN)T,故可根据观测向量的真实值7化)及预 测输出值炎对超参数状态向量γ做最优状态估计,使得真实值与预测输出值的方差达到最 小;MF-CKF-SVR算法同样是包括两个过程,即时间更新过程和测量更新过程: 时间更新: 由于该更新过程是对状态的预测更新,且状态方程是线性已知的,故可根据容积卡尔 曼滤波算法的时间跟新过程进行MF-CKF-SVR算法的时间更新; 测量更新: 在测量更新的过程中需要用到预测输出函数,故不能直接利用CKF算法的公式(17)进 行传播容积点的计算;需要由超参数状态向量丫化),利用LIBSVM训练数据集,再预测输出 J ;具体的MF-CKF-SVR算法步骤: 初始化: 1.1获得原始数据集D,选择混合核函数模型,将组合系数嵌入到超参数状态向量丫当 中,设置初始超参数状态值丫 0; 1.2运用k折交叉验证法首先将原始数据集分成k组化,,…,化 Whi le (超参数状态值不满足设定条件)do; 时间更新: 1.3利用公式(12)-(17)对超参数状态进行时间更新 测量更新: 1.4根据公式(17)分解一步预测误差协方差阵 1.5由用公式(18)计算容积点 1.6轮流将k组数据中的一组作为测试集,其它k-1组作为训练集,基于LIBSVM算法对数 据集进行训练,最后预测输出I 1.7基于预测旁,利用公式(21)计算一步测量预测 1.8运用公式(21)-(25)继续进行测量更新 End while End Remarks:基于混合核函数和容积卡尔曼滤波算法的SVR算法将混合核函数的组合系数 与核参数及惩罚参数C作为超参数状态向量,然后利用k-折交叉验证法基于LIBSVM对数据 集进行预测输出,最终用CKF算法迭代计算最优的的超参数状态向量;实际上,整个MKF- CKF-SVR算法的过程就是在迭代寻找最优的状态向量丫,使得样本真实目标值y化)与支持 向量回归机的预测输出I之间的误差方差最小。
【文档编号】G06K9/62GK106096646SQ201610403137
【公开日】2016年11月9日
【申请日】2016年6月7日
【发明人】王海伦, 许大星, 柴国飞, 黄钢
【申请人】衢州学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1