2.4 典型校正模型建立方法
2.4.1 MLR法
光谱分析时,一种目标组分的变化通常会引起多个光谱波段随之变化,多元线性回归(MLR)法常用与这种多个自变量对应一个因变量的情况。
光谱分析中校正集样本数、样本组分数和光谱数分别为n、p、m,假设MLR分析中校正集样本数n大于光谱数m。光谱矩阵为Xn×m,组分含量矩阵为Yn×p,测量误差矩阵为En×p,则有关系式:
Yn×p=Xn×mBm×p+En×p (2-18)
Bm×p=(XTn×mXn×m)-1XTn×mYn×p (2-19)
通过将Bm×p代回式(2-18)中即可得样本集的校正模型。采集未知样本光谱后带入式(2-18)即可计算未知样本中的组分含量。
其中:
Yn×p={yij}(i=1,2,…,n,j=1,2,…,p) (2-20)
Xn×m={aik}(i=1,2,…,n,k=1,2,…,m) (2-21)
对于单一组分分析,p=1,则式(2-20)可简化为
多元线性回归法公式实际含义清晰且计算简单,在计算过程中又忽略了交互干扰效应和非线性因果关系,所以比较线性程度较好,样本数量不大,具有数据矩阵较小的体系。
2.4.2 PCR法
主成分回归(PCR)法是一种可以有效解决变量间共线性问题的建模方法,该方法不是直接在Y矩阵和X矩阵之间建立联系,而是对X矩阵中的信息进行重组后提取出对目标组分反映最准确的光谱信息,综合重组变量可以将具有多重共线性的重叠信息分离出来,同时又对光谱的信息进行了挑选,将有用信息从干扰噪声中提取开来,提高模型的精度和预测能力。
首先将光谱矩阵X主成分分解为载荷矩阵和得分矩阵:
Xn×p=Tn×fPp×f+Ef (2-23)
式中,列正交矩阵Tn×f是矩阵X的得分矩阵;行正交矩阵Pp×f是主成分的载荷矩阵;Ef、f分别表示残差和主成分数目。此时未引进目标组分含量矩阵Y,PCR法在主成分分析的基础上将含量矩阵Y和X的得分矩阵T进行回归:y=TB+E,参数矩阵B的最小二乘最优解为
B=(TTT)-1TTy (2-24)
PCR法通过合理筛选参与建模的主成分来剔除绝大多数的干扰信息,通过列正交得分矩阵T解决了共线性问题,但也可能会将一些与目标组分含量之间并无关联的主成分引入回归过程,造成建模结果的不准确。
2.4.3 PLS法
光谱数据一般为多维空间数据,偏最小二乘(PLS)法采用因子分析法对多维的光谱数据进行降维处理,其主要原理是将每个X矩阵潜变量的方向进行修改使其投影在与Y矩阵协方差最大的方向,将原始光谱数据分割为多种主成分,不同的主成分(主成分数相当于波段数目)代表不同组分及其对目的信息的影响,通过合理地选取主成分可以剔除干扰信息和干扰信息主成分光谱,仅选取有用的主成分进行模型的回归建立。
PLS法的基本步骤:设在n个标准样本中某个组分的含量矩阵为Y,用N、M表示残差矩阵,PLS法首先将整个光谱矩阵分解为T×P(T为吸光度隐变量矩阵,P为载荷矩阵),其次将组分含量矩阵Y分解为U×Q(U为含量隐变量矩阵,Q为载荷矩阵):
A(n×m)=T(n×d)P(d×m)+N(n×m) (2-25)
Y(n×1)=U(n×d)Q(d×1)+M(n×1) (2-26)
再把吸光度隐变量矩阵T和含量隐变量矩阵U作线性回归,对角矩阵B作关联矩阵:
U(n×d)=T(n×d)B(d×d) (2-27)
设检验集中未知样本光谱矩阵为Aunk,则:
Aunk=Tunk (2-28)
继而推导出Tunk:
Yunk=TunkBQ (2-29)
1.模型回归步骤
1)矩阵标准化:对Xn×m和Yn×k矩阵中的列向量进行z-score标准化,使数据符合标准正态分布:
其中
2)设置迭代次数f(f≥1且为正整数)后以Yn×k矩阵中任意列向量作u初值进行迭代。
3)Y矩阵权值变量:
w′=u′X/u′u (2-32)
4)归一化权值变量:
w′new=w′old/‖w′old‖ (2-33)
5)计算矩阵X的t变量:
t=Xw/w′w (2-34)
6)计算矩阵Y的q变量:
q′=t′Y/t′t (2-35)
7)计算矩阵Y的u变量:
u=Yq/q′q (2-36)
8)变量归一化:
q′new=q′old/‖q′old‖ (2-37)
9)检验本次和上一次迭代中的变量t是否都收敛,收敛则继续进行下一步,发散则返回步骤3)重新迭代。
10)计算矩阵X的p变量:
p′=t′X/t′t (2-38)
11)归一化p变量:
p′new=p′old/‖p′old‖ (2-39)
12)正交化t变量:
tnew=told‖pold‖ (2-40)
13)标准化w变量:
w′new=w′old‖p′old‖ (2-41)
14)计算回归系数:
b=u′t/t′t (2-42)
15)计算残差矩阵,将矩阵X、Y重新赋值:
Ef=Ef-1-tfp′f (2-43)
令X=Ef
Ff=Ff-1-ufq′f
令
Y=Ff (2-44)
16)保存t、p、u、q、b的迭代结果以供计算预测值。从步骤2)重新开始对下个主成分进行迭代。
2.预测算法原理
1)数据标准化:同校正部分算法一样标准化X矩阵;
2)设置迭代次数f(f≥1且为正整数)并将校正集的平均值赋作初始变量开始迭代:
3)将校正部分所得变量W、q、b带入下式:
tf=XW′f (2-46)
y=y+bftfq′f
4)计算校正集残差矩阵:
x=x-tfp′f (2-47)
5)迭代未结束则返回步骤2)继续迭代。
上述原理决定了PLS法具有下列优点:可以最大限度地提取样本光谱的有用信息;避免线性相关;包含了光谱与样本组分含量间的隐含联系,使模型稳健性更好;适用于多组分混合复杂体系的分析。该方法目前被广泛应用于光谱的定量分析软件。
3.主成分数目f的确定
如果样本光谱矩阵X和样本组分含量矩阵Y间的关系为线性模型,那么模型的主成分数应等于描述模型的组分数,主成分数是能否成功建立PLS模型的关键。
PLS建模中较困难的一步是如何确定主成分数目。主成分数目越多,其各载荷向量对建模的贡献度也就越小,且可能会引进噪声载荷,造成过拟合现象,影响模型精度。反之,主成分数目过少有可能漏掉光谱中的有用信息,使模型不能完全反映样本中目标组分产生的光谱变化,出现欠拟合现象,降低模型预测能力。所以,确定一个合理的参与建模的主成分数目既可以充分利用光谱信息又可以有效过滤干扰信息。
预测残差平方和(PRESS)法是一种常用的主成分数计算方法,其计算过程如下:
式中,n为校正集样本数;f为建模主成分数;Yp,ij为样本拟合值;Yij样本真值。
预测残差二次方和值越小表示模型拟合值与真值越接近,模型预测精度越高,所以通常取其值最接近0时所对应的主成分数作为最佳主成分数进行建模。
基于预测残差二次方和值确定主成分数的方法目前有校正集自预测法、交互验证法、杠杆点预测法、验证集预测法等,目前应用较多且有效的方法是交互验证法。
2.4.4 BP神经网络
BP神经网咯属于一种有监督式的非线性学习算法,模型拓扑共分输入层、隐层和输出层3层,其上有正、反两种方向的信息流。正向信息流传输输入数据,由输入层经隐层传向输出层,每层神经元只能对下层神经元产生影响。假如输出层的结果不符合初始设定,则继续计算输出层的误差大小,然后沿正向信息流的传输路径反向传回输入层,即反向信息流,依次对各层神经元的权值不断修改,直至输出满足初始规定。BP神经网络的误差函数:
式中,y代表目标值;y~代表由BP神经网络得到的预测值。
对于一组输入数据,BP神经网络训练的最终目标是要寻找网络连接权值使误差函数E最小。网络训练的目的就是对调整权值和偏置值进行调整,直至函数最终寻找到最适合的输入-输出的关系。当网络训练完成时,最终的权重和偏置值就确定了。
2.4.5 SVM
针对传统学习方法处理有限样本数据,高维数、非线性等问题的困难,Vapnik等人建立在统计学习理论和结构风险最小化准则基础上提出的一种新的机器学习方法——支持向量机(Sup-port Vector Machine,SVM)。其基本思想是在样本空间或特征空间中,构造一个最优决策的超平面,使得该超平面到不同类样本集之间的距离最大,从而使算法的泛化能力得到提高。该方法是一个凸二次优化问题,能够得到全局最优解。此外,SVM较传统的神经网络具有收敛速度快、容易训练、不需要预设网络结构等优点。因此SVM在模式识别、数据挖掘、函数逼近和图像处理方面都得到了广泛的应用。
1.线性SVM
(1)硬间隔支持向量分类机假设m个样本数据S={(xi,yi)|i=1,2,3,…,m},其中xi∈Rn,yi∈{-1,1},如图2-9所示。
图2-9中,方形点和圆形点分别代表两类样本数据,H为分类线,H1、H2分别为过各类样本点中距离分类线最近的样本且平行于分类线的直线。直线H1和H2之间的距离叫做分类间隔(Margin)。分类的目的是寻找一个最优分类面能够正确分开两类样本,并且使得分类间隔最大。如果存在分类面H∶ωTx+b=0使得
则称训练集是线性可分的。式(2-50)可以统一表示为
yi(ωTxi+b)≥1,i=1,…,m (2-51)
其中使等号成立的样本点称作支持向量。由于超平面H1和H2之间的间隔为2/‖ω‖,为了求取最优超平面,需要最大化2/‖ω‖,即最小化。最优分类面的求解可以转化为下面的二次规划问题:
为了求解约束规划问题,定义拉格朗日函数:
式中,αi≥0是拉格朗日乘子。
图2-9 二维空间优化超平面
分别对ω和b求偏导等于0,二次规划问题可以转化为其对偶问题:
同时,其解还应满足Kaush-Kuhn-Tucker(KKT)互补条件:
αi[yi(ωTxi+b)-1]=0,i=1,…,m (2-55)
式中,αi>0所对应的训练数据即支持向量。最优分类决策函数如式(2-56)所示:
式中,S为支持向量集合;偏置项b如式(2-57)所示:
b=yi-ωTxi (2-57)
式中,xi为支持向量。
为了提高b的精度,可以取其平均值,如式(2-58)所示:
(2)软间隔支持向量分类机
当样本数据不能被线性函数完全分开时,可以采用Vapnik提出的软间隔分类的概念,在式(2-54)中引入非负松弛因子ξi,如图2-10所示。
图2-10 二维空间的不可分情况
此时优化函数如式(2-59)所示:
式中,C为惩罚因子,表示对错分样本的惩罚程度,它可以用来平衡最大间隔和最小分类误差。
C越大,表示越不能容忍对样本的错分。当C趋于无穷大时,软间隔问题退化为硬间隔问题。采用类似硬间隔问题的方法,二次规划问题可以转化为其对偶问题:
最优分类决策函数和硬间隔支持向量相同:
为了提高计算精度,b取平均值:
式中,U为所有满足0>αi>C的支持向量集合,称作非边界支持向量集合。
2.非线性SVM
对于实际中经常用到的非线性分类问题,前面介绍的线性分类方法不再适用。在这种情况下,Vapnik等人通过引入核空间理论,把样本数据通过非线性变换映射到一个高维的特征空间中,将非线性问题转换为高维空间中的线性问题,然后在这个高维空间中构造最优分类面。采用非线性变换,许多样本空间中的线性不可分问题在高维特征空间变为线性可分问题。另外寻优函数和分类函数只是涉及训练样本之间的内积运算,因此在高维的特征空间中,也只需要进行内积运算,而且这种内积运算可以由核函数K(xi,xj)在原空间中的运算来实现。根据泛函理论,如果核函数K(xi,xj)满足Mercer条件,那么它就可以对应某一变换空间中的内积。采用适当的核函数,原来的优化问题可以转化:
根据KKT互补条件,可以得到最优的分类决策函数:
式中,偏置项b为
式中,S为支持向量集合;U为非边界支持向量集合。
SVM分类函数在形式上类似于一个神经网络,输出是中间节点的线性组合,每个中间节点对应一个支持向量,如图2-11所示。
图2-11 SVM分类示意图
目前常用的满足Mercer条件的核函数主要有线性核函数、多项式函数、径向基函数和Sigmoid函数等,通过选择不同的核函数可以构造不同的SVM。
1)线性核函数:
K(xi,xj)=xTixj (2-66)
2)多项式核函数:
K(xi,xj)=(xTixj+1)p (2-67)
3)径向基函数:
4)Sigmoid函数:
K(xi,xj)=tanh[v(xTixj)+a] (2-69)