APP下载

面向传感网络多源数据融合的SVM 方法*

2021-11-26顾大刚陈亚林

电子技术应用 2021年11期
关键词:高斯宽度向量

陈 燕 ,顾大刚 ,陈亚林

(1.贵阳学院 数学与信息科学学院,贵州 贵阳 550002;2.南京财经大学 管理科学与工程学院,江苏 南京 210046)

0 引言

为了提高传感网络观测数据的可靠性和准确度,需要复置传感器,使得多个节点有相互交叉的观测范围,这将导致采集的数据存在大量冗余,极大地增加了数据存储、处理和传输的资源消耗。如何在传感网络数据聚集过程中安全、准确和高效地消除冗余数据,是资源受限的传感网络应用研究中的核心问题之一,而数据融合是目前解决这一问题较为有效的一种方法。所谓数据融合是指将同一目标的多个观测结果整合成一个统一的结果[1]。数据融合技术主要是通过压缩数据、提取特征和数据关联等手段降低数据中的信息冗余,从而降低传感网络的资源消耗,增加置信度[2]。

数据融合的质量和效率主要体现在融合算法上。目前常用的数据融合算法有:基于时间序列的加权平均法,其方法简单,处理速度快,但融合质量较差[3-4];利用概率分布求融合值的贝叶斯估计法,提高了融合结果的精度,但误差较难控制[5-6];充分利用概率分布函数、似然函数和信任函数的D-S 推理方法[7-8],将多个信息融合的不确定性推理过程融合于模糊逻辑推理过程中,但信息描述依赖于主观因素,不利于特征提取[9-10];神经网络算法,针对数据融合不确定性推理过程,通过训练,能拥有相应传感网络的规律,再利用规律进行数据融合[11-13]。

支持向量机SVM 是一种基于统计学的二分类算法。其基本思想是通过学习得到一个边界函数,使得训练集中所有实例距离边界的最小距离最大化[14]。SVM 基于结构风险最小化原则,泛化能力强,且它是一个凸优化问题,只要局部最优解一定是全局最优解。

1 面向多源数据融合的SVM 方法

控制空间的维数和设计高效的SVM 多分类器是面向多源数据融合的SVM 方法需要解决的核心问题。

1.1 非线性向量空间的转化

转化的实质是寻找一种映射关系将非线性向量空间映射为线性可分空间。由于SVM 使用向量内积表示原始数据点,考虑到在映射后的新空间求内积,会使空间的维数急剧增加,甚至无法计算。因此,通常使用核函数的方法,在输入空间就完成向量内积的计算。使用核函数完成向量空间转化主要考虑两个问题:(1)选择合适的核函数;(2)确定核函数中的参数。

Mercer 定理认为任何半正定的函数都可以作为核函数。可以根据泛化误差理论,计算模型的期望错误率为:

式中,xi、yi为数据集中的元素,L 为x 到y 的映射。针对SVM,使用非线性样本训练集对多项式核函数和高斯核函数计算,得出高斯核的错误率较低,故此选择高斯核函数来完成向量空间的转化。

预处理后的数据集应用高斯核函数生成核矩阵过程如下:

当宽度参数σ>0 时,高斯核函数K 可定义为:

由式(2)可知,σ 直接影响着核函数的拟合程度。因此,高斯核的使用重点应是确定其宽度参数σ,通常采用梯度下降法或交叉验证法来确定σ。但当初始σ 确定不当,会极大地增加计算代价。陈洋洋等提出首先基于支持向量间的距离来限制σ 的选择范围,再采用常规方法来确定σ,从而加快σ 参数的确定[15]。

首先,计算任意两类支持向量集A、B 之间近似的宽度参数σ0:

其次,计算支持向量矩阵中任意两个向量集C、D之间的距离中值dmed:

然后,利用距离中值来确定参数σi的范围:

最后,使用梯度下降法或交叉验证法来确定最终的σ。

1.2 线性多分类处理

根据SVM 解决多分类的思路,对任意两个类构建一个二分类器,引入图的概念,从而能较好地控制积累误差[16]。

1.2.1 样本训练阶段构建多个二分类SVM

根据线性判别函数g(x)=wTx+b,其中w 为分类面的法向量,b 为分类面的偏移。设(x1,y1),(x2,y2),…,(xn,yn),xi∈Rn,yi∈{-1,+1},则分类规则可紧凑表示为:yi(wTx+b)≥1,|g(xi)|≥1。

设g(x)=0 时有超平面H,与H 垂直的向量为w,则任意样本向量x 可表示为:

其中,r 为几何间隔,则判别函数g(x)变换为:

那么问题就转化为寻找w 和b,引入拉格朗日乘子,用条件极值求解间隔最大时的w 和b:

分别对w、b 求偏导数,并令其为0:

代入拉格朗日函数,则有:

求Q(a)的最大值,得到最优a*,则最优向量w*:

选用任一支持向量,得到最优偏置量b*:

综上,通过求解最优拉格朗日乘子,就可以得到最优超平面,完成一个二分类SVM 的构建。在样本训练阶段,共需构建个二分类SVM。

1.2.2决策阶段构建有向无环判定树

图1 DAG-SVM 算法示例

由上述分类决策过程可以看出DAG-SVM 算法的关键是控制误差积累。因此,从根节点起,确定每个节点都为其所处层级最易分类的二分类器。

则各二分类器的训练样本集的均值中心Ci(i=1,2,…,n)为:

那么任意两个分类器样本中心的距离dij为:dij=||Ci-Cj||。考虑类分布情况,计算每个类的标准差σi:

计算任意两个类的分离程度Sij:

其次,确定有向无环决策树的根节点,将Sij最大的两类作为根节点。

然后,对不同分类节点,根据分类函数的值判断下一级所属的分类集合,直至叶节点,最终完成样本的多分类。

2 算法验证实验分析

2.1 高斯核函数宽度参数实验分析

实验使用PASCAL VOC 数据集中bird 训练集,图像大小为500×375,正样本数量为330,事先对训练样本归一化处理。实验在处罚因子C=1 和C=300 的情况下,分别采用交叉验证法和刘翔提出的宽度参数范围预估法进行确定宽度参数的对比实验,测试其在不同宽度参数取值的分类错误率。

采用交叉验证法,在高斯核函数宽度参数σ2={0.125,0.25,0.5,1,2,4,8},C取1和300时,其分类错误率如图2所示。

由图2 可知,随着支持向量机个数的增加,高斯核函数中宽度参数选择对分类错误率的影响趋于平缓,通过训练集和测试集交叉验证,可以确定较为合适的宽度参数,但需要的训练时间和宽度参数的选取标签较难控制。

图2 交叉验证法选择宽度参数的错误率

采用宽度参数范围预估方法,先计算两个支持向量之间的距离中值来明确宽度参数的范围,再采用交叉验证法或梯度下降法来确定最终的宽度参数取值。当C=300 时,分别对两种切片的样本图像计算其距离中值={5.12,9.11},σ2={0.125,0.25,0.5,1,2,4,8},其分类错误率如图3 所示。

图3 宽度参数范围预估方法选择宽度参数的错误率

由图3 可知,图像样本向量的距离中值越大,则高斯核支持向量的宽度参数越小,分类错误率越大。通过计算两个支持向量集的距离中值,可以较快地确定高斯核的宽度参数。

2.2 DAG-SVM 线性多分类算法实验分析

实验使用UCI数据集中的wine、iris、librass-movement 和segment 4 个训练样本。分别采用原始DAG-SVM方法和控制误差积累的DAG-SVM 方法进行5 分类实验,其训练仿真实验对比结果如表1 所示。

表1 训练仿真实验对比

采用原始DAG-SVM 方法和控制误差积累的DAGSVM 方法进行5 分类的训练时间趋势如图4 所示。

图4 两种方法进行5 分类的训练时间变化趋势

根据图4 中移动平均趋势线可知,训练样本集规模越大,所需的训练时间快速增加。而采用控制积累误差的DAG-SVM 方法的训练时间增势控制明显优于原始DAG-SVM 方法,说明其在大规模样本集上能加速分类。

实验中采用原始DAG-SVM 方法和控制误差积累的DAG-SVM 方法进行5 分类的分类精度变化趋势如图5所示。

图5 两种方法进行5 分类的训练精度变化趋势

根据图5 中精度趋势不难看出,当训练样本集的规模较小时,两种方法的训练精度区别不大;但当训练样本规模增大时,训练精度则会产生较大的抖动,而采用控制积累误差的DAG-SVM 方法,其训练精度的稳定趋势要强于原始DAG-SVM 方法,说明其在大规模样本集上分类精度更易控制。

3 结论

根据传感网络多源数据融合要求,结合SVM 泛化能力强,凸优化的特点,本文侧重分析了非线性可分多源数据集转化为高维线性可分空间的可行性方法和针对多分类情形如何更好地控制误差积累,确保分类的有效性。

通过在训练样本集上的仿真实验,可以得出非线性可分空间转换为高维线性可分空间时,通过向量间距离最优策略能加速确定高斯核宽度参数。但通过两个支持向量间宽度参数来确定向量间的距离中值,有可能因为初始参数有误而造成宽度参数范围确定错误,这将极大地增加计算代价,因此后续将重点研究如何控制初始宽度参数的确定误差。

猜你喜欢

高斯宽度向量
向量的分解
聚焦“向量与三角”创新题
数学王子高斯
天才数学家——高斯
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
红细胞分布宽度与血栓的关系
有限域上高斯正规基的一个注记
孩子成长中,对宽度的追求更重要
你有“马屁股的宽度”吗?