APP下载

基于支持向量机的GNSS时间序列预测

2019-05-07邓永春徐跃徐丹丹贾雪田先才

全球定位系统 2019年2期
关键词:向量神经网络误差

邓永春,徐跃, 徐丹丹, 贾雪, 田先才

(安徽理工大学 测绘学院,安徽 淮南 232001)

0 引 言

全球卫星导航系统(GNSS)是包含多种在轨卫星的多星座综合卫星系统,主要包含美国全球定位系统(GPS)、俄罗斯格洛纳斯(GLONASS)、欧盟伽利略卫星导航系统(Galileo)和中国北斗卫星导航系统(BDS)等[1],GNSS以其全球、全天候数据接收,定位精度高,各系统兼容性强等优点使得GNSS系统的应用极其广泛.

随着GNSS的应用,GNSS多系统的融合带来了基线解算的误差解算模型建立的难题,基线解算误差模型的建立更加复杂,同时也使得GNSS时间序列的预测更加艰难.以人工神经网络为代表的机器学习,以多层感知器以及多信息的高效特征分层提取的算法,使深度学习对时间序列非线性的处理成为GNSS时间序列预测的研究热点[2].

支持向量机(SVM)是由Vapnik等[3]在1995年提出的通过核函数将时间序列向高维空间映射的方法,可解决SVM维数灾难的问题.本文以高斯径向基网络(RBF)为核函数建立SVM时间序列预测数学模型,并以实际算例检验SVM方法在GNSS时间序列预测中的优越性.

1 BP神经网络与SVM非线性回归算法

1.1 BP神经网络

反向传播(BP)神经网络[4]是一种误差反向传播的多层前向神经网络,是目前应用范围最广的神经网络模型.BP神经网络主要包含输入层、隐含层和输出层三层神经网络,它主要通过训练样本数据,通过隐含层学习某种运算规则,得到接近期望输出的结果;当期望值与目标值的误差未达到预期时,求期望值与目标值的误差,根据误差调整神经网络的权值,如此反复直至误差精度满足要求.BP神经网络结构图如图1所示.

图1 BP神经网络结构图

1.2 SVM回归算法

SVM方法主要运用统计学原理解决二分类和多分类的问题,用监督学习的方法找到特征空间中的最佳分离超平面.在引入核函数[5]、误差函数[6]、不敏感损失函数[7]之后,SVM也可以用来解决时间序列的非线性回归估计[8]问题.相比于神经网络,SVM方法采用结构化风险最小化原则解决了有限样本下的机器学习的复杂程度与机器学习后的模型推广能力之间的固有矛盾.采用VC(Vap-nik Chervonenkis)维和最小化经验风险实现了经验风险和置信区间最小化风险泛函问题[9].

1.2.1 SVM核函数[6]

SVM处理数据时经常碰到数据线性不可分的情况,于是SVM就采用核函数的方式将数据从线性不可分低维空间映射到线性可分的高维空间.于是在SVM建模中核函数的选择至关重要,核函数的选择包括两个内容:1) 核函数的选择;2) 核函数确定后的相关参数的选择.根据实际情况选择合适的核函数是目前SVM研究工作者们的关注焦点,下面是几种常用的核函数:

1) 线性核函数:K(x,x′)=xTx′

2) 多项式核函数:K(x,x′)=(γxTx′+r)d

3) 径向基核函数:K(x,x′)=exp(-γ‖x-x′‖2)

4) Sigmoid核函数:K(x,x′)=tanh(γxTx′+r)

其中,γ,r,d为核函数中根据实际的情况自行赋值的参数.

1.2.2 SVM估计函数

设给定非线性训练集样本为S={(xi,yi),i=1,2,…,n},其中xi∈Sn.寻找一个非线性函数φ(·),构造一个线性最优分类超平面f(x)=ωφ(x)+b,其中向量ω∈Sn,b∈S1,f(x)为模型输出值,为利用SVM解决回归拟合问题,具体问题可描述成误差函数模型[10]:

(1)

Vapnik等[3]在SVM分类的基础上引入误差函数ε,寻找一个模型输出值和真实输出值的绝对值最大为ε,将二次误差函数替换成不敏感误差函数Eε,则误差模型可描述为

(2)

式中:C为惩罚参数;Eε为不敏感损失函数,

Eε((yi-f(xi)))=

(3)

在此基础上引入两个松弛变量ξ和ξ*,那么支持向量优化问题可以写成:

s.t.yi≤f(xi)+ε+ξi;

(4)

1.2.3 拉格朗日对偶问题

(5)

将上述二次规划问题转换成对偶最优问题,即为

(6)

式中:(xj,yj)表示超平面边界上的点;K(xi,xj)=φ(xi)φ(xj)为核函数,本文采用径向基核函数,径向基核函数可以表示为

1.2.4 SVM中KKT问题及参数求解

根据Karush-Kuhn-Tucher(KKT)条件[12]可知,最优点时拉格朗日乘子与约束条件的向量积为0.那么,可以解得:

参数b为

(7)

预测函数为

(8)

1.3 SVM网络结构示意图

图2 SVM网络结构图

2 GNSS时间序列预测

图3 深度学习预测流程图

2.1 网络建模

对预处理后的前850组数据坐标序列进行训练并建立神经网络模型, 根据经验模型对BP神经网络进行初始值的设置[4]:输入层节点数为50,隐含层节点数为10,输出层节点数为1,神经网络的最大迭代次数为2 000次,神经网络的网络学习率为0.01,误差目标值为0.000 1;利用LIBSVM完成支持向量机的初始设置为:采用梯度下降的方法寻找最优惩罚参数C,内核函数参数,损失函数的参数值0.01.并运用上述BP神经网络和SVM网络训练建立的模型对最后的第901到1 000共100个数据进行预测.

2.2 网络建模及时间序列预测

为研究网络训练及预测成果,本文对GNSS解算的X、Y、Z坐标分别进行BP神经网络和SVM网络建模结果如图4所示.

如图4所示,图中以黑色线段连接的正方形表示经过数据预处理的原始预测数据,以红色连接的圆形表示BP神经网络对原始序列的预测值,以蓝色连接的三角形表示SVM网络对原始序列的预测值,从训练结果可以看出SVM网络对原始序列的预测结果比BP神经网络的预测结果更集中,具有更好的稳定性;在应对数据突变数据时SVM网络也能更好地应对预测突变,具有更好的鲁棒性;但是在预测时不管BP神经网络还是SVM网络都会有一定的延迟性尤其在突变处,延迟性表现得更为明显.

2.3 预测结果分析

依据上面建立的网络模型对测试集时间序列进行预测,预测结果如图5所示,预计的评价指标采用均方误差(MSE),计算结果如表1所示.

(9)

图4 训练集预测结果

图5 测试集预测结果

坐标训练集BP神经网络SVM网络测试集BP神经网络SVM网络X0.046 40.041 90.035 80.027 1 Y0.042 30.037 40.030 10.022 7Z0.071 00.042 30.082 40.046 9

从图5和表1中可看出:

1)从预测稳定性看,SVM网络在预测结果的趋势以及在原始序列的突变区域预测稳定性比BP神经网络更优;

2)从预测精度看,SVM网络的预测均方误差明显小于BP神经网络的均方误差,SVM具有较高的预测精度;

3)由于深度学习固有的学习机制的问题,使得BP神经网络和SVM网络训练及预测对时间序列的预测都有一定的滞后性.

3 结束语

本文在深度学习框架下研究GNSS时间序列的预测问题.研究结果表明,采用结构风险最小化的支持向量机模型具有更好的统计学理论基础,避免陷入局部最优的陷阱,SVM网络的预测结果比BP神经网络模型的预测结果具有更好的预测精度和鲁棒性,但是在GNSS长时间序列的预测方面仍待进一步研究.

猜你喜欢

向量神经网络误差
基于神经网络的船舶电力系统故障诊断方法
向量的分解
MIV-PSO-BP神经网络用户热负荷预测
北斗导航种萝卜百米误差仅2厘米
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
聚焦“向量与三角”创新题
基于神经网络的中小学生情感分析
隧道横向贯通误差估算与应用
隧道横向贯通误差估算与应用
精确与误差