提出背景
- 在大规模且复杂性高的数据中及时检测故障愈发重要,面对该问题出现了诸多数据降维算法。
- PCA与其衍生算法虽然可以降低数据的复杂型,但是只考虑了数据的全局结构。
- 局部保持投影LPP算法能够发现原始高维数据的内在特征或非线性结构,通过该算法得到的投影子空间保存了原始样本点的局部信息。
- 结合了PCA与LPP的LGSPP算法将原始数据投影到具有相似局部结构的低维空间的同时也保证在低维空间中数据方差最大化。
- 贝叶斯分类是模式识别中一种利用概率统计进行分类的散发,具有方法简单、分类准确率高、速度快的特点。所以,在使用LGSPP处理高维数据后,在使用Bayes来进行故障检测。
算法步骤
- 对训练样本数据进行标准化处理;
- 计算处理后的训练样本X的协方差矩阵C;
- 分别计算相似矩阵W,对角线矩阵D以及拉普拉斯矩阵L;
- 计算前m个最大特征值对应的特征向量A=a1,a2,…,al(l<=m);
- 对降维矩阵A计算降维空间的样本均值向量mfi和样本方差阵Sfj;
- 计算Bayes函数gi(x),使用该函数进行检测与识别。
LGSPP算法介绍
- PCA的目标函数为:
J(A)PCA=Amaxi=1∑n(yi−y)2=Amaxi=1∑nAT(xi−x)(xi−x)TA=AmaxATCA
其中:
y=n1i=1∑nyi,x=n1i=1∑nxi
协方差阵
C=n1i=1∑n(xi−x)(xi−x)T
符合矩阵A=[a1,a2,...,al]为与协方差矩阵前l个最大特征值对应的特征向量,l为所选主元的个数
- LPP的目标函数为:
J(A)LPP=minAij∑(yi−yj)2Wij=minA2i=1∑nyiDiiyiT−2ij∑yiWijyjT=minAATXLXTA=minAATUA
其中:
U=XLXT为局部矩阵,
L=D−W称为拉普拉斯矩阵,
D为对角线矩阵,对角线元素为矩阵W每一列元素之和,即Dij=∑jWij。
矩阵W称为相似性矩阵,当xi与xj互为k最近邻时,Wij=w(xi,xj),其中w(x_i,x_j)表示样本间的相似性,可以用欧氏距离或者高斯核函数来衡量。
3. LGSPP为了同时保留与原始数据间相同的整体和局部特征,可以最小化LPP与PCA目标函数的比值:
minAJ(A)=minAJ(A)PCAJ(A)LPP=minAATCAATUA
上述问题可以转为如下广义特征值问题:UA=λCA。
令A=[a1,a2,…,am],其中ai为上述广义特征值问题的特征向量,如果只保留A中与前l个最大特征值对应的特征向量,那么原始高维空间中的数据x的维数就减少为低维空间数据y=ATx的维数。
基于Bayes分类器的故障检测识别
假设数据服从正态分布,训练样本的方差阵和均值向量分别为Sj和mj,观测样本个数为nj,设δj为故障类wj的数据集。
p(x∣wj)∼N(mj,Sj)
MJ=nj1x∈δj∑x
Sj=nj−11x∈δj∑(x−mj)(x−mj)T
观测x在故障类wj条件下的类条件概率密度函数为(det是求行列式的函数)【公式有修改】:
P(x∣wj)=(2π)(Sj)211exp[−21(x−mj)TSj−1(x−mj)]
P(x∣wj)=(2π)n(det(Sj))1exp[−21(x−mj)TSj−1(x−mj)]
判别函数【公式有修改】:
gj(x)=lnP(x∣wj)+lnP(wj)=−21(x−mj)TSj−1(x−mj)−2nln2π−21ln[det(Sj)]+lnP(wj)
利用LGSPP算法进行降维后得到的投影空间中的样本为y=ATx,则降维后的样本均值向量和样本方差阵为:
mfj=nj1x∈δj∑ATx=ATmj
Sfj=nj−11x∈δj∑(ATx−mfj)(ATx−mfj)T=ATSjA
则Bayes判别函数变为(常数部分去除):
gfj(x)=−21(ATx−mfj)TSi−1(ATx−mfj)−21ln[det(Sfj)]+lnP(wj) −21(x−mj)TA(ATSjA)−1AT(x−mj)−21ln[det(ATSjA)]+lnP(wj)
令训练样本数据分别为无故障正常操作情况下的样本数据以及故障数据,对测试样本x分别计算判别函数,设gf0(x)是训练样本为正常数据时的判别函数,gfi(x)(i=1,...f)是训练样本为第i类故障数据时的判别函数,比较函数值大小,当gfi(x)>gf0(x)时说明测试样本中有故障发生。假设有C类训练样本数据时,分别计算对应的C个判别函数,通过比较C个判别函数值的大小,将测试样本归于最大判别函数值所对应的故障类别。
参考文献:
Qin Liu, LGSPP-Bayes for Fault Detection and Diagnosis