当前位置: 首页 > 期刊 > 《分析化学》 > 2007年第3期
编号:11410252
加权最小二乘支持向量机改进算法及其在光谱定量分析中的应用
http://www.100md.com 《分析化学》医学期刊 2007年第3期
     摘要 为克服异常训练样本对校正模型的负面影响,提出了一种加权最小二乘支持向量机(WLSSVM)的改进算法,解决了原有算法存在的迭代收敛问题,并将其运用于光谱定量分析。实验结果表明:与原有算法相比,WLSSVM改进算法显著增强了对异常样本的检测能力,并大幅度地提高了校正模型的稳健性。

    关键词 支持向量机,异常检测,稳健建模,近红外光谱

     1 引言

    光谱定量分析通过建立光谱数据和待测属性之间的定量校正模型,可以实现对待测属性的间接测量。用于建模的已知训练样本数据越准确,所建模型的精度越高,对未知样本的预测结果也越准确[1]。然而,在实际中往往会混入一些异常样本,影响了模型的准确性。常用的偏最小二乘(partial linear squares, PLS)等基于最小二乘的建模方法对异常样本的存在很敏感,通常只要有一个异常样本就可能完全破坏模型的正常特性[2]。支持向量机[3](support vector machines, SVM)作为一种新型的非线性建模方法,近年来已在光谱分析中得到应用[4~6],但其模型较为复杂,计算量大。为减少标准SVM算法的计算量,Suykens等[7]提出了最小二乘支持向量机(least squares SVM, LSSVM),以求解一组线性方程代替标准SVM中较为复杂的二次规划问题,降低了计算复杂性。LSSVM算法已开始应用于光谱定性与定量分析中[8,9]。然而,LSSVM算法过于依赖训练样本,稳健性不足,少量异常样本的引入就可能完全破坏模型的预测性能。为此,Suykens等[10]又提出了加权最小二乘支持向量机(weighted least squares support vector machines, WLSSVM)。通过在建模过程中检测并剔除异常样本来提高模型的稳健性。然而,WLSSVM的迭代算法并不收敛。为此,本研究对原有WLSSVM算法进行了改进,解决了原有算法迭代不收敛的问题,并将改进算法应用于光谱定量分析中的异常检测和稳健建模。

     2 原理和方法

    给定训练数据集{xk,yk}Nk=1,其中输入数据xk∈Rn,输出数据yk∈R,WLSSVM对应的优化问题[10]为:min w,b,e J(w,e)=1 2wTw+1 2γN k=1vke2k(1)sub. to yk=wTφ(xk)+b+ek, k=1,…,N。上述优化问题可归结为求解以下线性方程组[10]:0 1Tv 1v Ω+Vγb α=0 y(2) 其中α=[α1,…,αN]T为支持值;y=[y1,…,yN]T;Vγ=diag{1 γv1,…,1 yvN},diag表示对角矩阵,γ>0为惩罚系数;1v=[1,…,l]T;Ω={K(xk,xl)|k,l=1,…,N}, K(xk,xl)为RBF核函数:K(xk,xl)=exp(-‖xk-xl‖2/σ2)(3) 加权系数vk的选择依赖于误差变量ek=αk/γ,由以下权函数确定:vk=1 |ek/|≤c1 c2-|ek/| c2-c1 c1≤|ek/|≤c2, k=1,…,N 10-4 others(4)这里为对ek的稳健估计,可取值:=1.483MAD(ek)(5)MAD表示绝对中位差(median absolute deviation),其定义为:MAD(ek)=med(|ek-med(ek)|)med代表中位数。(4)式中常数c1,c2根据异常样本的实际分布情况决定。WLSSVM的预测模型为y(x)=N k=1αkK(xk,x)+b(6)

    由(6)式知,支持值αk的绝对值越大,样本在模型中的作用越大。WLSSVM正是通过赋予异常样本极小的加权系数,使求解(2)式时该样本所对应的αk也极小,达到将其剔除的目的。尽管Suykens等[10]指出WLSSVM算法可采用迭代形式,但若进行迭代,则可能出现迭代过程无法收敛的情形。对于前一次迭代计算作为异常剔除的样本,本次迭代计算时其加权系数vk接近于零,对预测模型支持值αk也极小。而由于ek=αk/γ,本次迭代计算结果必使该样本的预测误差接近于零;由(4)式可知,下次迭代计算时该样本的加权系数为1。这说明在下次迭代计算中又将被重新引入模型,使该样本在剔除与不剔除之间反覆变化而不收敛。为解决WLSSVM算法这一缺陷,本研究用输出变量yk的留一交叉检验(leave one out cross validation)误差Δyk取代ek用于确定加权系数vk。由于Δyk与αk无直接联系,不会出现原有算法中αk和vk互相影响的问题。改进后的WLSSVM迭代算法如下:(Ⅰ)给定惩罚系数γ,并令样本初始加权系数vk=1,k=1,…,N; (Ⅱ)计算Vγ=diag{1 γv1,…,1 γvN}; (Ⅲ) 计算各个样本的留一交叉检验误差Δyk(k = 1, …, N),具体步骤为:(a)设第k个样本作为留一检验的测试样本,剩下的N-1个样本为训练样本; (b)根据(2)式,令T=Ω+Vr,求解下列方程

    0 1Tv 1v T*b* α*=0 y*其中,T*为T去掉第k行和第k列之后得到的矩阵,y*=[y1,…, yk-1,yk+1,…,yN]T为y去掉第k个元素后的向量; (c)计算第k个样本的留一检验估计值k=t*α+b*与检验误差Δyk=k-yk,其中t*为T的第k行向量; (Ⅳ)用Δyk取代ek,按(4)式重新计算各样本的加权系数vk(k = 1, …, N); (Ⅴ)回到(Ⅱ)进行下一次迭代,直到收敛或达到最大迭代次数; (Ⅵ)基于全部样本及加权系数vk(k = 1, …, N),求解(2)式得到模型系数α,b,最终得到如(6)式所示的校正模型。

     3 实验部分

    WLSSVM算法的稳健性取决于建模过程中对异常样本的检测和剔除效果。为此,实验以一批成品汽油近红外光谱样本数据为例,着重考察WLSSVM原有算法和改进算法对异常汽油样本的检测和剔除能力。

    3.1 实验数据来源实验数据为来自某炼油厂的113个混合牌号汽油样本,其中90#汽油34个、93#汽油30个、97#汽油49个。每个样本包括了汽油的近红外(NIR)吸光度光谱数据与采用ASTM标准发动机法测定的研究法辛烷值(research octane number, RON)指标。实验目的是基于这些样本建立汽油辛烷值的NIR光谱校正模型,用于对未知汽油样本RON的预测。样本的光谱数据在建模前都经过基线校正、多项式卷积平滑以及标准正态变量(standard normal variate)变换等预处理步骤,以减少噪声引入的误差。

    3.2 算法说明两种WLSSVM算法采用同样的参数,即惩罚系数γ取10,RBF核函数参数σ2取200,(4)式中的权函数参数c1取3,c2取3.5。此外,WLSSVM原有算法不进行迭代,改进算法的最大迭代次数为10次。本实验涉及到的算法程序均由Matlab 6.5语言编写,在Pentium 4微机Windows 2000环境下运行。

     4 结果与讨论

    4.1 异常样本剔除前后模型预测性能对比实验中的汽油样本是在实际生产条件下采集的,本身就可能含有异常样本。为此,分别用WLSSVM原有算法和改进算法对所有样本进行建模,剔除加权系数很小(10-4)的那部分可疑样本,并对剩下的样本作LSSVM留一交叉检验,考察评价指标:均方误差 RMSEP=1 NN i=1(yi-i)2(7)

    平方相关系数 R2=N i=1(i-)2 N i=1(yi-)2(8)式中:yi,i分别是第i个汽油样本辛烷值的标准分析值和NIR光谱校正模型预测值,=1 NN i=1yi是标准分析值的算术均值。

    表1 可疑样本剔除前后模型预测性能对比(略)

    Table 1 Comparison of model performance before and after doubtful samples deleted

    RMSEP: root mean square error of prediction; WLSSVM: weighted least square support vector machines.

    表1是可疑样本剔除前后的模型预测性能对比。可以发现,剔除可疑样本后模型的预测效果有显著改善,因而被剔除样本很可能确为异常样本。WLSSVM改进算法比原有算法多剔除2个可疑样本,预测性能进一步提高,说明改进算法能更好地克服异常样本的影响,其异常检测能力优于原有算法。

    4.2 WLSSVM异常检测能力分析异常程度是衡量异常样本的辛烷值偏离真实值大小的指标。正值表示异常样本的辛烷值比真实值大;负值表示比真实值小。例如,异常样本的辛烷值为88,真实值为90,则异常程度为-2。异常比例表示异常样本在全部训练样本中的比例。例如100个训练样本中含有10个异常样本,则异常比例为10%。为考察异常程度及异常比例对两种WLSSVM方法异常检测能力的影响,首先从原有113个样本中选出被两种方法均判别为正常(加权系数为1)的那些样本,组成基准样本集。再从基准样本集中取出一部分样本,对其辛烷值人为增加或减少若干单位,使之成为异常样本,分别用两种WLSSVM方法对引入异常样本后的样本集进行建模,由建模后样本的加权系数可判断异常样本是否被正确检测和剔除。受异常样本异常程度与异常比例的影响,既可能出现异常样本未被检测出来的情况,也可能出现正常样本被当作异常样本的情况。为此,定义以下评价指标:

    Diagnosis=正确检测出的异常样本数 异常样本总数×100%(9)

    Misdiagnosis=被误认为异常的正常样本数 异常样本总数×100%(10)

    其中Diagnosis通常被称为检出率,而Misdiagnosis通常被称为误检率。为减少偶然性对评价结果的影响,检出率和误检率的计算采取多次随机实验求平均的办法:每次实验固定异常程度及异常比例不变,在基准样本集中用随机抽样的方式重新选取一部分样本作为异常样本,并用2种WLSSVM方法进行建模和异常检测。经过100次随机实验得到的平均检出率和平均误检率作为当前异常程度及异常比例下的检出率和误检率。检出率越大,误检率越小,则异常检测效果越好。

    图1 样本异常程度对检测性能的影响(略)

    Fig.1 Impact of abnormal degree on detection performances

    1. 改进算法(improved WLSSVM); 2. 原算法(original SWLSVM).

    4.2.1 异常程度对异常检测能力的影响图1显示了固定异常比例为15%。异常程度变化时,两种WLSSVM方法的检出率和误检率。由此可知,异常程度越大两种算法的检出率均越高。随着异常程度逐渐减小,检出率曲线有一个从平缓到陡然下降的过程。同等异常程度下,WLSSVM改进算法的检出率明显高于原有算法,误检率也得到较好控制。

    图2 异常样本比例对检测性能的影响(略)

    Fig.2 Impact of abnormal ratio on detection performances

    1. 改进算法(improved WLSSVM); 2. 原算法(original SWLSVM).

    4.2.2 异常比例对异常检测能力的影响图2表示了异常程度固定为3,异常比例在0%~30%之间变化时两种WLSSVM方法的检出率和误检率。由此可知,当异常比例约为15%,改进算法的检出率接近100%,而原有算法的检出率已下降至65%;当异常比例较小时,改进算法的误检率远小于原有算法。

     References

    1 Chu Xiaoli(褚小立), Yuan Hongfu(袁洪福), Lu Wanzhen(陆婉珍).Spectroscopy and Spectral Analysis(光谱学与光谱分析), 2005, 25(6): 886~889

    2 Liang Yizeng(梁逸曾), Zhou Shengli(周声励).Chemistry(化学通报), 1996, (6): 26~31

    3 Vapnik V. Statistical Learning Theory, New York: John Wiley, 1998

    4 Du Shuxin(杜树新), Wu Xiaoli(武晓莉), Wu Tiejun(吴铁军).Chinese J. Anal. Chem.(分析化学), 2004, 32(9): 1227~1230

    5 Thissen U, Pepers M, stün B, Melssen W J, Buydens L M C. Chemometrics and Intelligent Laboratory Systems, 2004, 73: 169~179

    6 Liu Shuhua(刘沭华), Zhang Xuegong(张学工), Zhou Qun(周 群), Sun Suqin(孙素琴).Spectroscopy and Spectral Analysis(光谱学与光谱分析), 2005, 25(6): 878~881

    7 Suykens J A K, Vandewalle J. IEEE Transactions on Neural Networks, 1999, 10(4): 907~911

    8 Chauchard F, Cogdill R, Roussel S, Roger J M, BellonMaurel V. Chemometrics and Intelligent Laboratory Systems, 2004, 71: 141~150

    9 Yu Ke(虞 科), Cheng Yiyu(程翼宇). Chinese J. Anal. Chem.(分析化学), 2006, 34(4): 561~564

    10 Suykens J A K, Brabanter J De, Lukas L, Vandewalle J. Neurocomputing, 2002, 48(1): 85~105

    本文系国家高技术研究发展计划(863计划)项目(No.2006AA04Z169)和浙江省科技计划项目(No.2005C311042)资助

    (浙江大学工业控制技术国家重点实验室,杭州 310027), http://www.100md.com(吕剑峰 戴连奎)