压力传感器的支持向量机非线性回归建模*

2012-12-07 06:54强生杰孔令刚
传感器与微系统 2012年4期
关键词:训练样本标定校正

强生杰,孔令刚

(1.兰州交通大学光电技术与智能控制教育部重点实验室,甘肃兰州730070;2.兰州交通大学国家绿色镀膜技术与装备工程技术研究中心,甘肃兰州730070)

0 引言

在数据采集与测控系统中,由于压力传感器具有结构简单、灵敏度高、动态响应特性好、抗过载能力强等一系列优点,得到了广泛的应用。但压力传感器对温度等环境参数较为敏感,这些因素在实际环境中总是相互关联的,给测量结果带来了误差,严重影响了传感器的线性度,致使其准确度大大下降。为了提高传感器的性能,必须对其进行校正。但各种干扰因素对测量结果的影响很难用简单的函数表达式来描述,因此,建立传感器的输出特性校正模型并求解模型往往比较繁琐。

支持向量机(support vector machine,SVM)是20世纪90年代中期提出的一种机器学习算法,它建立在统计学习理论的基础上[1,2]。传统的学习算法(如神经网络)采用的是经验风险最小化(ERM)准则,容易出现过拟合或者欠拟合现象。SVM以结构风险最小化(SRM)为准则[3],对于有限样本学习问题已经表现出很多优于已有方法的性能。同时SVM算法是一个凸二次优化问题,能够保证找到的极值解就是全局最优解,能较好地解决小样本、非线性和高维数的问题。本文针对传感器非线性误差校正的需求,提出了一种压力传感器的SVM非线性回归模型。

1 SVM校正传感器原理

1.1 校正原理

设压力传感器的数学模型为

其中,X为待测目标参数,T为温度值,Y为传感器的输出。式(1)存反函数,即X=f-1(Y,T),但其反函数很难使用具体的函数来描述,可以利用SVM来逼近这种非线性函数。

SVM校正模型的原理为:利用非线性映射φ将输入的数据映射到高维空间,在高维空间变换后进行回归分析,将目标参量测量传感器的输出与温度变化等非目标参量敏感元件的输出作为SVM校正模型的输入,将压力标定值作为模型的输出,以此来减少温度变化等非目标参量对被测目标参数的影响[4]。利用SVM校正压力传感器的原理如图1所示。

图1 传感器校正原理图Fig 1 Calibration principle diagram of sensor

1.2 SVM非线性回归模型

利用SVM校正模型来校正压力传感器,其实质是非线性回归问题[4,5]。即利用数学方法建立因变量与自变量之间的回归关系函数表达式(称回归方程)。将SVM应用到回归分析中,需要定义不敏感损失函数ε,该函数可以忽略真实值上下范围内的误差。变量ξ度量了训练点上误差的代价,在ε不敏感区内的误差为0。损失函数的解以函数的最小化为特征,使用ε不敏感函数可以确保全局最小值的存在和可靠泛化界的优化。

图2显示了非线性回归函数的不敏感区函数。

图2 ε-不敏感区函数Fig 2 ε-insensitive zone function

式中 w·φ(x)表示为向量w与φ(x)的内积;w的维数为高维空间维数;b∈R为阈值。

引入松弛变量ξ,ξ*≥0,根据结构最小化准则,可以将式(2)转换为如下的优化问题

其约束条件为

式(3)中的第一项使得回归函数更加光滑,有助于提高泛化能力,第二项可以减少误差。C为惩罚系数,C越大表示对训练误差大于ε的数据样本的惩罚越大。ε规定了回归函数与输出的误差要求,ε越小,回归函数与输出的误差越小,估计精度越高。

目前,惩罚系数C值的选择很难用理论方法确定,要根据实际应用的要求来确定,调节参数的准则是:检查某特定加权的修正是否确实减少了误差,并根据实际情况进行增减操作,直到满足设计要求。

对于上述优化问题时,引入Lagrange算子α和α*,可以将式(3)转换为其对偶问题进行求解

其约束条件为

式(5)中的〈φ(xi)·φ(xj)〉为高维空间中的点积运算,K(xi,yi)=〈φ(xi)·φ(xj)〉,K(xi,yi)为核函数,常见的核函数有:

多项式

径向基函数

Sigmoid函数

k(x,x')=tanh[v(x·x')+a].

最后求解得到的回归函数为

综上所述,利用SVM回归模型校正传感器的流程为:

1)获取标定数据样本,组成训练样本和测试样本,并对数据归一化;

2)选择适合的核函数,确定精度误差ε和核函数的相关参数,用训练样本对SVM模型进行训练,确定αi和b的值;

3)当输出与期望误差值满足要求时,训练结束;转到步骤(4),否则,重新调整SVM参数,转到步骤(2);

4)用测试样本对校正模型进行检验,如果满足误差要求,确定SVM模型参数,结束,否则,转到步骤(2)。

2 传感器校正

2.1 传感器标定数据与预处理

训练样本选用文献[8]中不同工作环境下的传感器输入输出标定值,具体数据见表1,其中,Up为压力传感器的输出电压,Ut为温度传感器的输出电压。

表1 传感器输入输出标定值Tab 1 Input/Output calibration values of the sensor

为了避免样本中存在奇异样本数据,方便程序处理数据,需要对样本进行归一化预处理,归一化函数如下

其中,X'i,p'i,为第i个样本输入和输出的归一化值,Xi和pi为输入输出的标定值;Xmax和Xmin为压力传感器输出电压、温度传感器输出电压标定值的最大、最小值,pmax和pmin为压力标定的最大、最小值。

2.2 SVM回归建模

在经归一化后的标定值中,选择T为25,44.3,59.6℃时的标定值作为SVM的训练样本,T为81.6℃的值作为SVM的校验样本。在Matlab中利用SVM工具箱中的函数编写训练程序,选择合适的SVM参数并将训练样本输入SVM进行训练,并在Matlab中进行了仿真。做出校正前后T为25,44.3,59.6℃时的传感器输出曲线图,如图3和图4所示。

图3 校正前压力传感器的输出特性曲线Fig 3 Output characteristic curve of the pressure sensor before correction

图4 校正后压力传感器的输出特性曲线Fig 4 Output characteristic curve of the pressure sensor after correction

从图3和图4中的曲线可以看出:经过SVM回归模型校正的传感器输出曲线的线性度得到了改善,回归精度也较高,处理后数据的最大绝对波动也大大减少。可见通过校正模型处理后,在相同的温度变化下,压力传感器的输出特性得到了改善,稳定性也得到了提高。

3 结论

利用SVM构造传感器的非线性回归模型,对传感器的温度影响进行补偿,并对非线性误差进行校正,此方法具有建模速度快、校正精度高的优点。应用结果表明:与目前采用的其他算法比较,在校正精度和算法的推广性上都具有一定的优越性。但算法中核函数的选择与其参数的确定没有确定的理论依据,有待作进一步研究。通过验证也可以看出对原始数据进行适当的预处理可以提高校正模型的精度。

[1]Cristianini N,Shawe-Taylo J.支持向量机导论[M].李国正,王 猛,曾华军,译.北京:电子工业出版社,2004.

[2]Vapnik V N.统计学习理论的本质[M].张学工,译.北京:清华大学出版社,2008.

[3]Vapnik V.Statistical learning theory[M].New York:Springer,1998.

[4]李国玉,孙以材,潘国峰,等.基于BP网络的压力传感器信息融合[J].仪器仪表学报,2005,26(2):168-171.

[5]白 鹏,张喜斌.基于支持向量机的压力传感器校正模型[J].空军工程大学学报:自然科学版,2007,8(5):37-40.

[6]张学工.关于统计学习理论与支持向量机[J].自动化学报2000,26(1):32-42.

[7]邓乃扬,田英杰.数据挖掘中的新方法——支持向量机[M].北京:科学出版社,2004.

[8]梁伟锋.基于最小二乘支持向量机的压力传感器温度补偿[J].仪器仪表学报2007,28(12):2235-2238.

猜你喜欢
训练样本标定校正
劉光第《南旋記》校正
使用朗仁H6 Pro标定北汽绅宝转向角传感器
人工智能
在Lightroom中校正镜头与透视畸变
机内校正
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
宽带光谱成像系统最优训练样本选择方法研究
船载高精度星敏感器安装角的标定
融合原始样本和虚拟样本的人脸识别算法
基于稀疏重构的机载雷达训练样本挑选方法