1、第7章支持向量机技术在智能传感器系统中的应用 第章支持向量机技术在智能 传感器系统中的应用7.1统计学习理论与支持向量机的基础知识统计学习理论与支持向量机的基础知识7.2支持向量机的训练、检验与测量支持向量机的训练、检验与测量7.3基于基于SVM方法的三传感器数据融合原理方法的三传感器数据融合原理第7章支持向量机技术在智能传感器系统中的应用7.1 统计学习理论与支持向量机的基础知识统计学习理论与支持向量机的基础知识7.1.1 统计学习理论统计学习理论第一种是经典的(参数)统计估计方法。现有机器学习方法共同的重要理论基础之一是统计学。参数方法的基础是传统的统计学,在这种方法中,参数的相关形式是已
2、知的,训练样本用来估计参数的值。第7章支持向量机技术在智能传感器系统中的应用这种方法的局限性在于,首先,它需要已知样本的分布形式,这需要花费很大代价。其次,传统统计学是研究样本数目趋于无穷大时的渐近理论,即研究当样本数量趋于无穷大时的极限特性,现有学习方法有很多也基于此假设。但在实际问题中,样本数目往往是有限的,因此一些理论上很优秀的学习方法往往在实际中的表现却不尽人意。第7章支持向量机技术在智能传感器系统中的应用 第二种方法是经验非线性方法,如人工神经网络(Artificial Neural Network,ANN)。这种方法利用已知样本建立非线性模型,克服了传统参数估计方法的困难。但是,这
3、种方法存在两个方面的问题:首先是到目前为止,缺乏一种统一的数学理论;其次,由于所建立系统模型的性能最终决定于观测数据(样本)的数量与质量,而在实际应用过程中所获得的原始观察数据(样本)数量往往是有限的。第7章支持向量机技术在智能传感器系统中的应用而且是采样(非连续)的,通常这些采样没有统一的格式,同时由于所研究问题本身的高维本质,将会在输入空间中仅仅形成一个稀疏分布,从而导致问题往往接近于Hadamard意义上的病态,造成传统神经网络方法的泛化(generalization)问题,会产生过拟合数据的模型。为了克服这一问题,机器学习产生了两个研究方向:一是参数选择的优化算法;二是选择“最优”模型
4、的统计测量方法。第7章支持向量机技术在智能传感器系统中的应用第三种方法是基于统计学习理论(Statistical Learning Theory,SLT)的学习方法,如支持向量机和基于核的方法。与传统统计学相比,统计学习理论是一种专门研究小样本数据量情况下机器学习规律的理论。该理论针对小样本统计问题建立了一套新的理论体系,在这种体系下的统计推理规则不仅考虑了对渐近性能的要求,而且追求在现有有限信息的条件下得到最优结果。第7章支持向量机技术在智能传感器系统中的应用1.学习问题的一般性表示 设F(z)为定义在空间z上的概率测度,所考虑的函数集合为Q(z,a a),a a=a 1,a 2,a a,是
5、参数集合,学习的目标是在给定了一定数量但概率测度F(z)未知的独立同分布数据:z1,z2,zl (7-1)的条件下,来最小化风险泛函:(7-2)其解记为Q(z,a0)。第7章支持向量机技术在智能传感器系统中的应用 一个经过训练的机器,其测试误差的期望为(7-3)式中,R(a a)被称为期望风险(expected risk),P(x,y)未知。若密度p(x,y)存在,dp(x,y)可以写为p(x,y)dxdy。然而对于概率分布P(x,y)未知的情况,要使得期望风险最小化,就只有样本信息可以利用,这也就导致式(7-3)定义的期望风险是无法直接计算和最小化的。第7章支持向量机技术在智能传感器系统中的
6、应用经验风险Remp(a a)的定义为在一个观测数量有限的训练集上的被测平均误差率:(7-4)从式(7-4)可以看出,在经验风险Remp()的定义中没有概率分布,当给定具体的训练集xi,yi和选定的a a值后,Remp(a a)则为一个固定的数。用经验风险最小化表示期望风险最小化并没有可靠的理论依据,二者之间事实上存在着一个学习的一致性问题。第7章支持向量机技术在智能传感器系统中的应用式(7-3)中的量|yf(x,a)|/2被称为损失,对于二值分类的问题来说,它只能取0(或1)或1两个数。若选取某参数,01,对于损失|yf(x,a)|/2,下面的界以1 概率成立:(7-5)第7章支持向量机技术
7、在智能传感器系统中的应用式中,h是一个非负整数,称为Vapnik Chervonenkis(VC)维,它表征学习机器的复杂性,h越大,学习机器的复杂性越高,能区分的类别越多,相应地,出现所谓的“过拟合”的可能性也越高。式(7-5)右边被称为“风险界”(risk bound),右边第二项被称为“VC置信范围”(VC confidence)。置信范围反映了真实风险和经验风险差值的上界,即结构的复杂性所带来的风险,它与学习机器的VC维h及训练样本数量l有关。第7章支持向量机技术在智能传感器系统中的应用2.VC维 VC维是一个标量值,用于测量函数列的容量,其概念是建立在点集被“打散(shatter)”
8、的概念基础上的。一函数集的VC维是h,当且仅当存在一点列,这些点列能共以2h种方式可分,且当qh时,没有序列满足这个性质。即 VC dim(F)=maxh:N(F,h)=2h式中,N(F,h)定义为h维向量中不同向量的个数。1 ihix1 iqix第7章支持向量机技术在智能传感器系统中的应用图7-1显示平面中的三个点是如何被线性指示函数集分开的,然而四个点的情况则不能区分。对于这两种情况,VC维与自由参数的个数相等,但是在一般情况下,VC维与自由参数的个数不等,如函数A sin(bx)只有两个参数,但有无限的VC维(Vapnik,1995)。n维空间中的线性指示函数序列其VC维等于n+1。第7
9、章支持向量机技术在智能传感器系统中的应用 图7-1 VC维示意图第7章支持向量机技术在智能传感器系统中的应用 3.结构风险最小化结构风险最小化根据式(7-5),如果固定训练样本数目l的大小,那么控制风险R(a a)的参量有两个:Remp(a a)和VC维h。其中,经验风险依赖于学习机器所选定的函数f(x,a a),这样就可以通过控制a a来控制经验风险。而VC维h依赖于学习机器在学习过程中可选函数的集合。第7章支持向量机技术在智能传感器系统中的应用如图7-2所示,设函数Q(z,a a),a a 的集合S具有一定的结构,这个结构是由一系列嵌套的函数子集Sk=Q(z,a a),a a k组成的,满
10、足:S1 S2 Sn其中,结构的元素满足如下两个性质:第7章支持向量机技术在智能传感器系统中的应用 每个函数集Sk的VC维hk是有限的,且有 h1h2hn (结构中的任何元素Sk所包含性质)整个完全有界函数的集合满足:0Q(z,a a)Bk,a a k或者对一定的(p,k),函数集合满足下列不等式:)(d),()(d),(sup/1zFzQzFzQppka aa aa ak,p2第7章支持向量机技术在智能传感器系统中的应用结构风险最小化原则就是在容许结构的嵌套函数集Sk中寻找一个合适的子集S*,使结构风险达到最小,即:emp2ln(1)ln()4min hSlhhRfl(7-6)由式(7-6)
11、可知,学习风险由两个部分组成,即经验风险和置信范围。对于给定的样本数目l,随着VC维h的增加,经验风险逐渐变小,而置信范围逐渐递增。置信范围与经验风险随h的变化趋势如图7-3所示。第7章支持向量机技术在智能传感器系统中的应用图7-3 结构风险最小化原理图第7章支持向量机技术在智能传感器系统中的应用图7-3表明,真实风险的界是经验风险和置信范围之和。随着结构元素序号的增加,经验风险将减少,而置信范围将增加。最小的真实风险的上界是在结构的某个适当的元素上取得的。综合考虑经验风险与置信范围的变化,可以求得最小的风险边界,它所对应的函数集的中间子集S*可作为具有最佳泛化能力的函数集合。第7章支持向量机
12、技术在智能传感器系统中的应用4.建模误差 机器学习中建模的目标就是从假设模型空间中选择一个模型,使其能够最接近于(从一些误差测度的角度上说)目标空间中的基础函数(underlying function)。这种做法产生的误差主要源于两个方面:逼近误差和估计误差。逼近误差的产生是由于假设空间小于目标空间,因此基础函数可能会位于假设空间之外。模型空间的选择不当将会产生很大的逼近误差,这种情况被称为模型失配。第7章支持向量机技术在智能传感器系统中的应用7.1.2 支持向量机支持向量机统计学习理论建立在一套较坚实的数学理论基础之上,并为解决有限样本的学习问题提供了一个统一的框架。它能将很多现有方法纳入其
13、中,有望帮助解决许多原来难以解决的问题(比如神经网络结构选择问题、局部极小点问题、过拟合问题等);同时,在这一理论基础上还发展了一种新的通用学习方法支持向量机(Support Vector Machine,SVM),其已初步表现出很多优于已有方法的性能,并推动着机器学习理论和技术的发展。第7章支持向量机技术在智能传感器系统中的应用1.支持向量机方法的主要优点(1)它是专门针对有限样本情况的,其目标是得到现有信息条件下的最优解而不仅仅是样本数趋于无穷大时的最优值。(2)支持向量机的算法最终将转化成为一个二次型寻优问题,从理论上说,得到的将是全局最优点,解决了在神经网络方法中无法避免的局部极值问题
14、。第7章支持向量机技术在智能传感器系统中的应用(3)支持向量机的算法将实际问题通过非线性变换转换到高维的特征空间,在高维空间中构造线性判别函数来实现原空间中的非线性判别,这种特殊性质能保证机器有较好的推广能力,同时它巧妙地解决了维数问题,使其算法复杂度与样本维数无关。第7章支持向量机技术在智能传感器系统中的应用2.支持向量机的结构支持向量机结构如图7-4所示。图7-4中的变量ai(i=1,2,s)是拉格朗日乘子,s是乘子的数量;b为阈值或偏移量;K(x,xi)为一个支持向量机的核函数;xi(i=1,2,s)为SVM的支持向量;x为训练样本、检验样本或实测样本中的某个向量;y(x)为对应x的输出
15、量。第7章支持向量机技术在智能传感器系统中的应用图7-4 支持向量机结构示意图第7章支持向量机技术在智能传感器系统中的应用在支持向量机结构示意图中,由原始的观测数据构成支持向量机的输入空间,通过某种关系将输入空间的数据映射到高维的特征空间。支持向量机是通过核函数来实现这种映射关系的。在特征空间F中,支持向量机通过线性回归函数 f(x)=wK(x,xi)T+b (7-7)来进行数据分类或拟合。第7章支持向量机技术在智能传感器系统中的应用3.支持向量机的核函数若特征空间的内积与输入空间的核函数等价,即 K(x,x)=j(x),j(x)=j(x),j(x)(7-8)满足Mercer条件,也即核函数K
16、是一个对称正定的函数:mmmmaK)()(),(xxxxjj,am0(7-9)xxxxxxdd)(),(),(ggK0,gL2(7-10)第7章支持向量机技术在智能传感器系统中的应用4.核函数的种类 1)线性核(Linear)线性核的核函数为K(x,xi)=x,xi,x,xi表示两向量的内积,即K(x,xi)=SVM的输出值y为第7章支持向量机技术在智能传感器系统中的应用(7-11)第7章支持向量机技术在智能传感器系统中的应用对于第5章所介绍的压力传感器,当m=3时,上式SVM的输出值为2)多项式核(Polynomal)多项式核的核函数为K(x,xi)=(x,xi+p2)p1,p1和p2为核函
17、数参数,调整这两个参数可以改善支持向量机的预测准确度。SVM的输出值y为第7章支持向量机技术在智能传感器系统中的应用(7-12)第7章支持向量机技术在智能传感器系统中的应用同理,当m=3时,由上式可以获得压力传感器的SVM输出表达式:13211()npPijijijybwx xp3)RBF核高斯型径向基函数(Gaussian Radial Basis Function)RBF核的核函数为表示两个向量x、xi取差后求模。为核函数参数,调整可改善支持向量机的预测准确度。SVM的输出值y为第7章支持向量机技术在智能传感器系统中的应用(7-13)第7章支持向量机技术在智能传感器系统中的应用同理,当m=
18、3时,由上式可以获得压力传感器的SVM输出表达式:式中exp(a)=ea。第7章支持向量机技术在智能传感器系统中的应用4)Sigmoid核(也称为多层感知器核,MultiLayer Perception)Sigmoid核的核函数为K(x,xi)=tanh(p1x,xi+p2),p1和p2为核函数参数,调整这两个参数可以改善支持向量机的预测精度。SVM的输出值y为第7章支持向量机技术在智能传感器系统中的应用(7-14)第7章支持向量机技术在智能传感器系统中的应用当m=3时,由式(7-14)可以获得压力传感器的SVM输出表达式:5)张量积(Tensor Product)核其核函数的表达式为这种核函
19、数对于多维样条核的构建特别有用,可以通过单变量核的积的形式简单地获得。第7章支持向量机技术在智能传感器系统中的应用5.支持向量机的种类1)SVC (1)线性可分情况。线性可分情况不具有一般性。考虑数据集的两类问题:D=(x1,y1),(xl,yl),xRd,y1,1(7-15)如果这些数据是线性可分的,其分割超平面为w,x+b=0(7-16)第7章支持向量机技术在智能传感器系统中的应用如果超平面无误差地将矢量集分离,且距超平面最近的矢量与超平面之间的距离最大,那么就认为矢量集被超平面最优分离。如果式(7-16)没有泛化损失,那么它就是一个规范超平面,其中的参数w、b的约束为(7-17)具体可表
20、述为:权矢量的范数等于训练数据集中的点距超平面最近距离的倒数。图7-5显示距离每个超平面的最近点。第7章支持向量机技术在智能传感器系统中的应用图7-5 规范超平面第7章支持向量机技术在智能传感器系统中的应用一个形式规范的分割超平面必须满足下面的约束:yiw,xi+b1,i=1,2,,l (7-18)那么点x距离超平面(w,b)的距离d(w,b;x)为:(7-19)第7章支持向量机技术在智能传感器系统中的应用最优超平面由最大的间隔(每一类之间最近点之间的距离)给定,并服从于式(7-19)的约束。间隔(w,b)定义为(7-20)第7章支持向量机技术在智能传感器系统中的应用因此,最优分离数据的超平面
21、是通过最小化(7-21)得到的。因为满足式(7-18)(它是一个分离超平面),所以b是独立的。改变b,超平面将沿着最优超平面的法方向移动。因此,间隔保持不变,但是超平面不再是最优的,因为超平面距离一类比另一类更近。需要考虑的是如何最小化方程(7-21),使其等价为实现结构风险最小(SRM)原则(因为前提是线性可分,所以不需要考虑经验风险)。第7章支持向量机技术在智能传感器系统中的应用为此,首先假设下面的界成立:w0,yr=1,ys=1 (7-32)那么,硬分类器为f(x)=sgn(w*,x+b)(7-33)其中sgn(a)表示取符号函数。a0时,sgn(a)=1,a0时,sgn(a)=1。另外
22、,当存在线性内插间隔的时候,会用软分类器(7-34)第7章支持向量机技术在智能传感器系统中的应用软分类器比硬分类器更合适,这是因为当在间隔内部没有训练数据时,分类器能够输出1到1之间的实数值。根据Kuhn-Tucker条件,ai(yiw,xi+b1)=0,i=1,,l(7-35)仅有满足以下条件的点才有非零的拉格朗日乘子:yiw,xi+b=1 (7-36)这些点被称为支持向量(Support Vector,SV)。如果数据被线性分离,那么所有的SV都在间隔上,数目也会比较少。第7章支持向量机技术在智能传感器系统中的应用如果数据是线性可分的,那么下面的等式成立:(7-37)因此,根据方程式(7-
23、24),分类器的VC维的界为(7-38)(7-39)且如果训练数据x被正则化于单位球内,则第7章支持向量机技术在智能传感器系统中的应用(2)线性不可分情况。为了使得最优可分超平面一般化,Cortes和Vapnik(1995)引入了非负变量i0和惩罚函数:()0iiF,常取=1式中,i是错误分类的量测。最优化问题转换为最小化分类器的VC维的同时最小化分类误差,于是式(7-18)在不可分情况下变为 yiwxTi+b1+i0,i=1,2,l (7-40)式中i0。第7章支持向量机技术在智能传感器系统中的应用上式在条件yiwxTi+b1+i0(i=1,2,l)限制下的优化问题的解由Lagrangian
24、的鞍点给定:(7-41)式中a、是Lagrange乘子。Lagrangian对w,b,x最小化,相对于a、最大化。同样地,它可以转换为对偶问题。于是除了得到式(7-27)外,还有:(7-42)第7章支持向量机技术在智能传感器系统中的应用于是对偶问题变成了(7-43)其解为(7-44)约束条件为(7-45)第7章支持向量机技术在智能传感器系统中的应用(3)非线性SVC。在分类的实际应用中,简单的线性分类并不能满足实际需要,更为一般化的分类器必须具有非线性分类能力。如本节的核函数介绍部分所述,如果把输入空间通过非线性函数映射到更高维的特征空间,则可在特征空间用线性分类的方法实现输入空间的非线性分类
25、。因此,直接选取一个合适的核函数取代式(7-44)中的xi,xj,然后把输入向量通过相应的分线性变换映射到特征空间,再代入到特征空间的线性分类器即可。第7章支持向量机技术在智能传感器系统中的应用2)SVR 支持向量回归是指用支持向量的方法描述回归问题。由于损失函数的引入,SVM也可以应用到回归问题(Smola,1996)。修正的损失函数必须包括一个距离的测量。图7-6给出了四个可能的损失函数。第7章支持向量机技术在智能传感器系统中的应用图7-6 各种损失函数第7章支持向量机技术在智能传感器系统中的应用图7-6(a)的损失函数对应着传统的最小二乘误差标准。图7-6(b)的损失函数是拉普拉斯型损失
26、函数,不如二次型的损失函数敏感。Huber提出的损失函数如图7-6(c)所示,当数据的分布未知时,可作为具有最优性质的鲁棒损失函数。这三个损失函数不能产生稀疏的支持向量。为了解决这个问题,Vapnik提出如图7-6(d)所示的损失函数作为Huber损失函数的逼近,而且能够获得稀疏的支持向量集。第7章支持向量机技术在智能传感器系统中的应用(1)线性回归。线性回归是一个数据集的逼近问题。给定一列数据:D=(x1,y1),(xl,yl),xRd,yR(7-46)具有线性函数:f(x)=w,x+b (7-47)最优化回归函数是通过最小化以下泛函式获得的:(7-48)式中:C为惩罚因子,是一预指定的值;
27、i和i为松弛变量,分别表示约束的上界和下界。第7章支持向量机技术在智能传感器系统中的应用使用一个不敏感损失函数(见图7-6(d)):所求问题的解为(7-49)(7-50)第7章支持向量机技术在智能传感器系统中的应用或者其约束条件为(7-51)(7-52)第7章支持向量机技术在智能传感器系统中的应用求解带有约束条件式(7-52)的方程式(7-51)得到拉格朗日乘子a和a*,由方程(7-47)得到回归方程,此处,(7-53)解满足Karush-Kuhn-Tucker(KKT)条件:aia*i=0,i=1,,l (7-54)第7章支持向量机技术在智能传感器系统中的应用因此,支持向量是拉格朗日乘子远大
28、于零的点。当=0时,我们得到L1损失函数和简化的最优化问题:(7-55)约束条件为(7-56)第7章支持向量机技术在智能传感器系统中的应用式中i=aia*i。由方程(7-47)给出的回归函数中:(7-57二次型的损失函数如图7-6(a)所示,有 Lquard(f(x)y)=(f(x)y)2 (7-58)第7章支持向量机技术在智能传感器系统中的应用解的确定,或者说优化问题转换为(7-59)式中,C为惩罚因子,i为松弛因子,约束条件为 yi=w,x+b+i,i=1,2,l (7-60)转换为对偶问题得到:第7章支持向量机技术在智能传感器系统中的应用(7-61)使用KKT条件,相应的最优化问题可以简
29、化且有*i=|i|,由此产生的最优化问题(7-62)第7章支持向量机技术在智能传感器系统中的应用的约束条件为10lii(7-63)回归函数由方程式(7-47)和(7-57)确定。对于二次型的损失函数,也可以这样理解,对式(7-59)引入拉格朗日函数:(7-64)式中ai(i=1,2,l)为拉格朗日乘子。分别求解式(7-64)的关于w、i、b、ai的偏微分可得:第7章支持向量机技术在智能传感器系统中的应用(7-65)第7章支持向量机技术在智能传感器系统中的应用由式(7-65)消去w、i 则可得:第7章支持向量机技术在智能传感器系统中的应用求解上式可得到LS-SVM的回归方程,得到ai和b,于是可
30、得到回归方程为(7-66)(2)非线性回归。用核函数K(x,xi)取代式(7-66)中的内积x,xi即可得到非线性回归(7-67)第7章支持向量机技术在智能传感器系统中的应用7.2 支持向量机的训练、支持向量机的训练、检验与测量检验与测量7.2.1 训练样本及检验样本的制备训练样本及检验样本的制备取实验标定获得的样本数据对中的一部分(N1组样本对,约占总样本数的1/22/3)作训练样本,剩余部分(N2组样本对)作为检验样本,N1+N2=N。训练样本及检验样本数据的数量可能不同,但是格式相同,由SVM的输入样本(即支持向量机的输入向量)和期望输出样本(即期望输出向量)组成,格式为xi1,xi2,
31、xim,yi。第7章支持向量机技术在智能传感器系统中的应用7.2.2 支持向量机的训练支持向量机的训练 按照以下步骤对支持向量机进行训练:(1)输入训练样本:将全部训练样本的输入向量xi1,xi2,xim(i=1,2,N1)作为支持向量xi,y=Pi(i=1,2,N1)作为期望输出向量y,一次并行输入支持向量机,并将全部检验样本的输入向量xi1,xi2,xim(i=1,2,N2)作为特征空间向量x依次串行输入支持向量机。(2)设置SVM学习参数及核函数参数。第7章支持向量机技术在智能传感器系统中的应用(3)SVM训练:基于训练样本及真实风险最小化原则,求出SVM结构参数(权系数a1,a2,as
32、和偏移量b),使输出向量y(x)与训练样本中的期望输出向量y的偏差最小,从而表明支持向量机的训练结束,训练好的支持向量机能否用于实测还需要进行检验。第7章支持向量机技术在智能传感器系统中的应用7.2.3 支持向量机的检验支持向量机的检验通过对支持向量机的检验,确定代表支持向量机结构的权系数a1,a2,as和偏移量b,根据所选的核函数,并带入相应的SVM输出表达式(公式(7-12)公式(7-15)或其它式)中,就可以获得降低或消除压力传感器交叉敏感的回归模型,得到准确的智能压力传感器系统的输入输出关系。第7章支持向量机技术在智能传感器系统中的应用7.2.4 测量测量将被测量样本xi1,xi2,x
33、im(既不是训练用的样本也不是检验用的样本)输入相应的已经训练好的回归模型SVM的输出表达式中,就可以由输出结果获得准确的待测量。第7章支持向量机技术在智能传感器系统中的应用7.2.5 移植移植将已经训练完毕且检验合格可以实现某种智能化功能的支持向量机结构,即已知权系数a1,a2,as和偏移量b的回归模型SVM的输出表达式,移植到另一个硬件环境(如单片机、DSP或测量用的计算机)或已知的另一个软件环境中,也就是训练检验与测量是在不同的编程语言环境(如C语言、LabVIEW、Matlab)中进行的。第7章支持向量机技术在智能传感器系统中的应用 7.3 基于基于SVM方法的三传感器数据融合原理方法
34、的三传感器数据融合原理7.3.1 三传感器数据融合的智能传感器系统的组成三传感器数据融合的智能传感器系统的组成采用SVM技术进行三传感器数据融合的智能传感器系统由传感器模块和支持向量机模块两部分组成,如图7-7所示。第7章支持向量机技术在智能传感器系统中的应用图7-7 采用SVM进行三传感器数据融合的智能压力传感器系统框图第7章支持向量机技术在智能传感器系统中的应用1.传感器模块如图7-7所示,传感器模块输出三个电压信号,其中UP为被测压力P(目标参量)的电压输出信号,UI、UT为两个非目标参量的检测电压信号。传感器模块的检测电路如图7-8 所示。第7章支持向量机技术在智能传感器系统中的应用图
35、7-8 传感器电路原理图第7章支持向量机技术在智能传感器系统中的应用(1)压力传感器:实验采用CYJ-201型压阻式压力传感器,其输出电压UP对应被测压力P(目标参量)。该传感器包含4个压敏电阻,这4个电阻封装在一起,其中R1和R4完全一样,其电阻随着压力的增大而增大,R2和R3完全一样,其电阻随着压力的增大而减小。一个理想的压力传感器,其输出电压UP应为输入压力P的一元单值函数,即UP=f(P),其反函数为P=f1(UP)。而在实际应用中,该传感器受工作温度T和电源供电电流I的影响,其输出电压UP也将发生变化,实际上是一个三元函数,即UP=f(P,I,T)。第7章支持向量机技术在智能传感器系
36、统中的应用(2)温度传感器:温度传感器将工作温度T转换为电压信号UT。由于图7-8中的4个电阻的温度特性是一样的,都是随着温度的升高而电阻增大,因此,采用恒流源供电的压阻式压力传感器,其供电端(AC两端)电压UAC即为UT。(3)电流传感器:电流传感器将电流信号I转换为电压信号UI,如图7-8所示。采用标准恒定电阻RN与压力传感器相串联,RN两端电压为UI=IRN。第7章支持向量机技术在智能传感器系统中的应用2.支持向量机模块支持向量机(SVM)模块是由软件编程实现的一种算法。在本实验中,网络的三个输入量x1、x2、x3分别对应着UP、UI、UT,输出量为P。P亦是智能压力传感器系统的总输出量
37、。第7章支持向量机技术在智能传感器系统中的应用通过压力传感器的多维标定实验获得n组样本(UPi,UIi,UTi),Pi(i=1,2,n),记为n个样本点:xi,yi,(xiRm,yiR,m=3),xi代表输入向量(UPi,UIi,UTi);m代表输入向量的维数,对于本实验的问题而言,m=3;yi代表期望输出标量Pi。基于SVM进行数据融合的目的是来拟合输入x与输出y之间的关系:第7章支持向量机技术在智能传感器系统中的应用(7-68)式中:xi(i=1,2,s)是支持向量;s为支持向量的数量;x是被测输入向量;b是SVM阈值或偏移量;w是SVM的权值系数,其数量与支持向量数量相同,即w=w1,w
38、2,wi,wn;ai是与SVM的权值系数相对应的拉格朗日乘子;K(x,xi)为SVM的核函数。第7章支持向量机技术在智能传感器系统中的应用7.3.2 示例示例7-1降低两个干扰量影响的降低两个干扰量影响的SVM智能化软件模块的设计智能化软件模块的设计1.样本的制作 文件类型的学习(训练)样本和测试(检验)样本,包含训练样本的输入样本文件pressure_train_in.txt和期望输出样本文件pressure_train_out.txt,检验样本的输入样本文件pressure_test_in.txt和期望输出样本文件ressure_test_out.txt,一共四个.txt文件。第7章支持向
39、量机技术在智能传感器系统中的应用2.用于消除交叉敏感的支持向量机Matlab源程序程序如下:%程序开始前,清屏,清其它变量clc;clear;close all;%输入原始数据,每一列为一个变量,行数为样本的个数。原始标定数据的输入,可以将数据直接输入至程序中,也可以将数据先输入至文件,然后在程序中读入数据文件。数据中的P、Ut、Ui、Up均为n1维列向量,n为标定数据点的个数第7章支持向量机技术在智能传感器系统中的应用aw_data=P Ut Ui Up;%学习(训练)样本输入data_test=P_test Ut_test Ui_test Up_test;%测试(检验)样本输入%根据原始数
40、据制作学习(训练)样本与测试样本,学习(训练)样本与测试样本的数据格式相同P=raw_data(:,1);Ui=raw_data(:,2);Ut=raw_data(:,3);Up=raw_data(:,4);P_test=data_test(:,1);Ui=data_test(:,2);Ut=data_test(:,3);Up=data_test(:,4);第7章支持向量机技术在智能传感器系统中的应用P1=Up Ui Ut;%学习(训练)样本输入向量T1=P;%学习(训练)样本期望输出向量P2=Up_test Ui_test Ut_test;%测试(检验)样本输入向量T2=P_test;%测试
41、(检验)样本输出向量%将输入数据进行归一化处理%PN1,minp,maxp,TN1,mint,maxt=premnmx(P1,T1);%PN2=tramnmx(P2,minp,maxp);%TN2=tramnmx(T2,mint,maxt);第7章支持向量机技术在智能传感器系统中的应用%如果对数据不进行归一化处理,选下面的程序PN1=P1;TN1=T1;PN2=P2;TN2=T2;%支持向量机的学习参数以及核函数的选择C=500;lambda=1e-10;epsilon=1e-6;%kerneloption=0.115;%对输入数据进行归一化处理所采用的值kerneloption=0.338;
42、%对输入数据未进行归一化处理所采用的值第7章支持向量机技术在智能传感器系统中的应用kernel=gaussian;%高斯型的RBF核verbose=1;%函数svmreg()为支持向量机的学习函数%输出确定输入空间的支持向量xsup和ysup以及支持向量机的权系数w和偏移量w0 xsup,ysup,w,w0=svmreg(PN1,TN1,C,epsilon,kernel,kerneloption,lambda,verbose);%函数svmval()为支持向量机的检验函数第7章支持向量机技术在智能传感器系统中的应用%ypred1为学习样本的支持向量预测输出,ypred2为测试样本的支持向量预测
43、输出ypred1=svmval(PN1,xsup,w,w0,kernel,kerneloption);ypred2=svmval(PN2,xsup,w,w0,kernel,kerneloption);disp(学习样本的压力标定值见P后的数据:);Pdisp(学习样本经SVR后的输出值见Y1后的数据:);第7章支持向量机技术在智能传感器系统中的应用Y1=postmnmx(ypred1,mint,maxt)%若程序开始时对数据进行归一化处理,选择该语句Y1=ypred1%如果程序开始时对数据没有进行归一化处理,选择该语句delta1=Y1-Pdisp(学习样本经SVR后的输出值与其压力标定值之间
44、的最大、最小偏差:);max(delta1)min(delta1)MSE1=mean(delta1.2)%训练均方误差MSETD1=std(delta1.2)第7章支持向量机技术在智能传感器系统中的应用disp(测试样本的压力标定值见P_test后的数据:);P_testdisp(测试样本经SVR后的输出值见Y2后的数据:);%Y2=postmnmx(ypred2,mint,maxt)S%若程序开始时对数据进行归一化处理,选择该语句Y2=ypred2%如果程序开始时对数据没有进行归一化处理,选择该语句disp(测试样本经SVR后的输出值与其压力标定值之间的最大、最小偏差:);第7章支持向量机技
45、术在智能传感器系统中的应用delta2=Y2-P_testmax(delta2)min(delta2)MSE2=mean(delta2.2)%测试均方误差MSETD2=std(delta2.2)第7章支持向量机技术在智能传感器系统中的应用3.程序说明(1)数据预处理:如果有些支持向量机对所处理数据的范围有要求,如数据必须在区间1,1内,那么就需要对原始数据进行归一化处理。对于本书提供的程序,可以进行归一化处理,也可不进行归一化处理,具体见程序中的说明。第7章支持向量机技术在智能传感器系统中的应用(2)支持向量机的参数:C为拉格朗日乘子的界,为QP(二次规划)方法的条件参数,为所求解周围的邻域(
46、也称试管)和kerneloption,对RBF核函数来说,kerneloption相当于参数(见式7-6)。第7章支持向量机技术在智能传感器系统中的应用(3)参数调整对输出结果的影响:上述的这些核参数除了kerneloption对输出结果有显著的影响外,其它几个参数C、和对结果输出影响不大,其中决定输出结果的准确度,一般小于106即可。参数kerneloption的数值需要进行反复试验,从而找到合适的支持向量机结构参数w和b,使输出结果最佳(一般为测试样本的最大输出值和最小输出值的绝对值和最小)。(4)对输入样本(学习样本和测试样本)是否作归一化处理,使输出结果最佳的参数kerneloptio
47、n的最优值一般不一样,这在实验中需要注意。第7章支持向量机技术在智能传感器系统中的应用(5)程序中的SVM的相关函数的编写以及后面的程序所用到的支持向量机核函数,具体可以参考法国学者Alain Rakotomamonjy编写的SVM and Kernel Methods Matlab Toolbox,网址为http:/asi.insarouen.fr/enseignants/arakotom/toolbox/index.html,以及核机器学习网站http:/www.kernelmachines.org/,这里就不提供相应函数的源程序了。第7章支持向量机技术在智能传感器系统中的应用4.SVM融
48、合输出结果用于消除三传感器交叉敏感SVM的核函数,本实验选用Gaussian型RBF核函数。支持向量机实现的程序环境为Matlab 2007b。程序中的SVM学习函数为svmreg(),SVM的仿真测试函数为svmval()。C为拉格朗日乘子的界,程序中C=500;为QP方法的条件参数,程序中lambda=1e10;为所求解附近的邻域,程序epsilon=1e7;kerneloption 为核参数,程序中kerneloption=0.338。程序中对输入样本未进行归一化处理。第7章支持向量机技术在智能传感器系统中的应用采用Gaussian型RBF核函数的SVM输出结果:学习样本经SVR后的输出
49、值与其压力标定值之间最大偏差的绝对值为 2.5111e007,均方误差为MSE1=2.5024e010,均方误差的标准差MSETD1=3.9722e009。由上面数据可见,在一定误差许可的条件下,采用Gaussian型RBF核函数的SVM,对学习样本的输出已经极大地消除了交叉敏感的影响。检验样本经SVR后的输出值与其压力标定值之间的最大偏差的绝对值为0.0041,均方误差为MSE2=6.0730e007,均方误差的标准差为MSETD2=2.4253e006。检验样本的输出值(部分)见表7-1所示。第7章支持向量机技术在智能传感器系统中的应用第7章支持向量机技术在智能传感器系统中的应用同样,如果
50、kerneloption的数值选择不好,比如在程序中令kerneloption=10,其它参数保持不变,则输出结果学习样本经SVR后的输出值与其压力标定值之间的最大偏差绝对值为0.0277,均方误差MSE1=4.3901e005,MSETD1=1.0083e004。检验样本的输出值与对应的压力标定值之间的最大偏差绝对值为 0.016,均方误差MSE2=3.1914e005,MSETD2=5.962e004。检验样本部分输出值见表7-2。第7章支持向量机技术在智能传感器系统中的应用第7章支持向量机技术在智能传感器系统中的应用对比表7-1和表7-2的数据可明显看出,虽然选取=10(即程序中参数ke