均方误差与平方复相关系数同时优化的支持向量回归方法
文献发布时间:2023-06-19 11:45:49
技术领域
本发明涉及一种均方误差与平方复相关系数同时优化的支持向量回归方法,属于计算机技术领域。
背景技术
支持向量回归常常用于构建预测模型,在许多应用场景得到应用。但其设置参数较多,如需要根据数据集的特征数和容量选择核函数,选择核函数后,还需设置核函数的系数,每个核函数又拥有不同的系数,这些系数会带来不同的预测结果,影响深远。此外,不同系数对不同目标的影响也不同,尤其是对均方误差和平方复相关系数的影响少有研究。
所以将支持向量回归的预测输出结果:均方误差和平方复相关系数同时作为目标,运用迭代算法融入到支持向量回归中,从而使得支持向量回归设置参数得到优化是新颖的,目前在这方面的研究是欠缺的。
发明内容
为解决现有的技术问题,本发明提供一种均方误差与平方复相关系数同时优化的支持向量回归方法,能够自动调整支持向量回归设置参数,达到优化均方误差和平方复相关系数的目的。
本发明中主要采用的技术方案为:
一种均方误差与平方复相关系数同时优化的支持向量回归方法,所述方法包括以下步骤:
S1:分割与归一化处理数据集;
S2:初始化支持向量回归设置参数组;
S3:以均方误差与平方复相关系数为多目标,不断更新支持向量回归设置参数组;
S4:输出优化支持向量回归设置参数以及对应的均方误差与平方复相关系数。
优选地,所述S1的具体步骤如下:
S1-1:针对已知数据集,归一化处理数据集;
S1-2:按一定分割比例将数据集分割成训练集、验证集、测试集。
优选地,所述S2的具体步骤如下:
S2-1:支持向量回归设置参数组SVRPara表示为{SVRPara
S2-2:设定每个参数的取值范围,K={径向基函数,sigmoid函数},C上限为ub
S2-3:在变量范围内随机初始化参数组SVRPara,生成n个成员。
优选地,所述S3的具体步骤如下:
S3-1:设定最大迭代次数max_iter,参数组SVRPara内两个成员相邻的判断系数为Rc,计数变量t=1;
S3-2:目标组OBSET属性为{MSE,1-r
其中,公式(1)中l表示数据集中预测数据的个数,为正整数,1≤j≤l;y
r
其中,r
矩阵Arch用于存储多个目标组以及对应的SVRPara
S3-3:基于支持向量回归设置参数组SVRPara,使用ε型支持向量回归对训练集进行训练,并对验证集进行预测,得到n个目标组OBSET
S3-4:采用公式(3)将n个目标组OBSET
judge=all(OBSET
其中,judge表示判断系数,为1或0;all函数表示检测是否全为非零元素,如果全是,则返回1,否则,返回0;any函数表示检测是否有非零元素,如果有,则返回1,否则,返回0;如果judge等于1,将其值赋值给OBSET
S3-5:如果矩阵Arch存储的数量达到MaxSize,通过轮盘赌方式删除掉一个目标组以及对应的SVRPara
S3-6:使用公式(4)更新SVRPara中的每个成员,
SVRPara
式(4)中,ΔSVRPara
式(5)中,ΔSVRPara
式(6)中,如果s,a,z,e中有数小于0,则让其等于0,rand表示0到1之间的随机数;
S3-7:如果计数变量t>max_iter,得到最终的矩阵Arch,转至S4;否则,转至S3-3。
优选地,所述S4的具体步骤如下:
基于S3-7得到的矩阵Arch中存储的支持向量回归设置参数,使用ε型支持向量回归对测试集进行预测,得到测试集的目标组。
优选地,所述S1-2中的分割比例根据数据集的容量确定,如果数据集容量小于10000,则分割比例为6:2:2;否则,分割比例为98:1:1。
优选地,所述S2-2中,当选用径向基函数时,SVRPara
有益效果:本发明提供一种均方误差与平方复相关系数同时优化的支持向量回归方法,具有如下优点:以均方误差与平方复相关系数为多个目标,使用迭代方法优化了支持向量回归的设置参数,让均方误差尽可能接近0,让平方复相关系数尽可能接近1,从而解决调整支持向量回归设置参数的难题。
附图说明
图1为本发明具体实施方式中均方误差与平方复相关系数同时优化的支持向量回归预测过程的示意图;
图2为本发明中实施例1的最终优化目标的示意图;
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
一种均方误差与平方复相关系数同时优化的支持向量回归方法,所述方法包括以下步骤:
S1:分割与归一化处理数据集;
S2:初始化支持向量回归设置参数组;
S3:以均方误差与平方复相关系数为多目标,不断更新支持向量回归设置参数组;
S4:输出优化支持向量回归设置参数以及对应的均方误差与平方复相关系数。
优选地,所述S1的具体步骤如下:
S1-1:针对已知数据集,归一化处理数据集;
S1-2:按一定分割比例将数据集分割成训练集、验证集、测试集。
优选地,所述S2的具体步骤如下:
S2-1:支持向量回归设置参数组SVRPara表示为{SVRPara
S2-2:设定每个参数的取值范围,K={径向基函数,sigmoid函数},C上限为ub
S2-3:在变量范围内随机初始化参数组SVRPara,生成n个成员。
优选地,所述S3的具体步骤如下:
S3-1:设定最大迭代次数max_iter,参数组SVRPara内两个成员相邻的判断系数为Rc,计数变量t=1;
S3-2:目标组OBSET属性为{MSE,1-r
其中,公式(1)中l表示数据集(验证集或者测试集)中预测数据的个数,为正整数,1≤j≤l;y
r
其中,r
矩阵Arch用于存储多个目标组以及对应的SVRPara
S3-3:基于支持向量回归设置参数组SVRPara,使用ε型支持向量回归对训练集进行训练,并对验证集进行预测,根据S3-2得到n个目标组OBSET
S3-4:采用公式(3)将n个目标组OBSET
judge=all(OBSET
其中,judge表示判断系数,为1或0;all函数表示检测是否全为非零元素,如果全是,则返回1,否则,返回0;any函数表示检测是否有非零元素,如果有,则返回1,否则,返回0;如果judge等于1,将其值赋值给OBSET
S3-5:如果矩阵Arch存储的数量达到MaxSize,通过轮盘赌方式删除掉一个目标组以及对应的SVRPara
S3-6:使用公式(4)更新SVRPara中的每个成员,
SVRPara
式(4)中,ΔSVRPara
式(5)中,ΔSVRPara
式(6)中,如果s,a,z,e中有数小于0,则让其等于0,rand表示0到1之间的随机数;
S3-7:如果计数变量t>max_iter,得到最终的矩阵Arch,转至S4;否则,转至S3-3。
优选地,所述S4的具体步骤如下:
基于S3-7得到的矩阵Arch中存储的支持向量回归设置参数,使用ε型支持向量回归对测试集进行预测,得到测试集的目标组。
优选地,所述S1-2中的分割比例根据数据集的容量确定,如果数据集容量小于10000,则分割比例为6:2:2(训练集:验证集:测试集);否则,分割比例为98:1:1(训练集:验证集:测试集)。
优选地,所述S2-2中,当选用径向基函数时,SVRPara
实施例1:
以加利福尼亚大学尔湾分校数据公开库中的Airfoil Self-Noise(翼型自噪声数据集)为例,数据下载网址为http://Archive.ics.uci.edu/ml/datasets/Airfoil+Self-Noise,数据集容量为1503,特征数为6。
设定max_iter为100,Rc为每个设置参数最大值减去最小值再乘以0.5倍,通过本发明方法,最终得到优化设置参数为{sigmoid函数,19.81,19.75,0.98,3.05},对应的目标为{0.2403,0.3395},最终优化目标可见图2。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
- 均方误差与平方复相关系数同时优化的支持向量回归方法
- 基于改进灰狼算法优化支持向量机回归机的通信基站流量预测方法