0%

【故障检测】LGSPP-Bayes

提出背景

  1. 在大规模且复杂性高的数据中及时检测故障愈发重要,面对该问题出现了诸多数据降维算法。
  2. PCA与其衍生算法虽然可以降低数据的复杂型,但是只考虑了数据的全局结构。
  3. 局部保持投影LPP算法能够发现原始高维数据的内在特征或非线性结构,通过该算法得到的投影子空间保存了原始样本点的局部信息。
  4. 结合了PCA与LPP的LGSPP算法将原始数据投影到具有相似局部结构的低维空间的同时也保证在低维空间中数据方差最大化。
  5. 贝叶斯分类是模式识别中一种利用概率统计进行分类的散发,具有方法简单、分类准确率高、速度快的特点。所以,在使用LGSPP处理高维数据后,在使用Bayes来进行故障检测。

算法步骤

  1. 对训练样本数据进行标准化处理;
  2. 计算处理后的训练样本XX的协方差矩阵CC;
  3. 分别计算相似矩阵WW,对角线矩阵DD以及拉普拉斯矩阵LL
  4. 计算前m个最大特征值对应的特征向量A=a1,a2,,al(l<=m)A=a1,a2,…,al(l<=m);
  5. 对降维矩阵AA计算降维空间的样本均值向量mfim_{fi}和样本方差阵SfjS_{fj};
  6. 计算Bayes函数gi(x)g_i(x),使用该函数进行检测与识别。

LGSPP算法介绍

  1. PCA的目标函数为:

J(A)PCA=maxAi=1n(yiy)2=maxAi=1nAT(xix)(xix)TA=maxAATCAJ(A)_{PCA} = \mathop{max}\limits_A\sum_{i=1}^n(y_i-\overline y)^2 = \mathop{max}\limits_A\sum_{i=1}^nA^T(x_i - \overline x)(x_i - \overline x)^TA = \mathop{max}\limits_A A^TCA

其中:

y=1ni=1nyix=1ni=1nxi\overline y = \frac{1}{n}\sum_{i=1}^ny_i ,\overline x = \frac{1}{n} \sum_{i=1}^nx_i

协方差阵

C=1ni=1n(xix)(xix)TC = \frac{1}{n}\sum_{i=1}^n(x_i - \overline x)(x_i - \overline x)^T

符合矩阵A=[a1,a2,...,al]A = [a_1,a_2,...,a_l]为与协方差矩阵前ll个最大特征值对应的特征向量,ll为所选主元的个数

  1. LPP的目标函数为:

J(A)LPP=minAij(yiyj)2Wij=minA2i=1nyiDiiyiT2ijyiWijyjT=minAATXLXTA=minAATUAJ(A)_{LPP} = \mathop{min}_A\sum_{ij}(y_i - y_j)^2W_{ij} = \mathop{min}_A 2\sum_{i=1}^ny_iD_{ii}y_i^T - 2\sum_{ij} y_iW_{ij}y_j^T=\mathop{min}_A A^TXLX^TA = \mathop{min}_A A^T UA

其中:
U=XLXTU=XLX^T为局部矩阵,
L=DWL=D-W称为拉普拉斯矩阵,
DD为对角线矩阵,对角线元素为矩阵WW每一列元素之和,即Dij=jWijD_{ij} = \sum_j W_{ij}
矩阵WW称为相似性矩阵,当xi与xj互为k最近邻时,Wij=w(xi,xj)W_{ij} = w(x_i,x_j),其中w(x_i,x_j)表示样本间的相似性,可以用欧氏距离或者高斯核函数来衡量。
3. LGSPP为了同时保留与原始数据间相同的整体和局部特征,可以最小化LPP与PCA目标函数的比值:

minAJ(A)=minAJ(A)LPPJ(A)PCA=minAATUAATCA\mathop{min}_A J(A) = \mathop{min}_A \frac{J(A)_{LPP}}{J(A)_{PCA}} = \mathop{min}_A \frac{A^TUA}{A^TCA}

上述问题可以转为如下广义特征值问题:UA=λCAUA = \lambda CA
A=[a1,a2,,am]A=[a_1,a_2,…,a_m],其中aia_i为上述广义特征值问题的特征向量,如果只保留AA中与前ll个最大特征值对应的特征向量,那么原始高维空间中的数据xx的维数就减少为低维空间数据y=ATxy=A^{T} x的维数。

基于Bayes分类器的故障检测识别

假设数据服从正态分布,训练样本的方差阵和均值向量分别为SjS_jmjm_j,观测样本个数为njn_j,设δj\delta_j为故障类wjw_j的数据集。

p(xwj)N(mj,Sj)p(x|w_j) \sim N(m_j,S_j)

MJ=1njxδjxM_J = \frac{1}{n_j}\sum_{x \in \delta_j}x

Sj=1nj1xδj(xmj)(xmj)TS_j = \frac{1}{n_j-1}\sum_{x\in\delta_j}(x-m_j)(x-m_j)^T

观测x在故障类wjw_j条件下的类条件概率密度函数为(det是求行列式的函数)【公式有修改】:

P(xwj)=1(2π)(Sj)12exp[12(xmj)TSj1(xmj)]P(x|w_j) = \frac{1}{\sqrt {(2\pi)}(S_j)^\frac{1}{2}} \exp[-\frac{1}{2}(x-m_j)^TS_j^{-1}(x-m_j)]

P(xwj)=1(2π)n(det(Sj))exp[12(xmj)TSj1(xmj)]P(x|w_j) = \frac{1}{\sqrt{(2\pi)^n(det(S_j))}} \exp[-\frac{1}{2}(x-m_j)^TS_j^{-1}(x-m_j)]

判别函数【公式有修改】:

gj(x)=lnP(xwj)+lnP(wj)=12(xmj)TSj1(xmj)n2ln2π12ln[det(Sj)]+lnP(wj)g_j(x) = lnP(x|w_j) + lnP(w_j) = -\frac{1}{2}(x-m_j)^TS_j^{-1}(x-m_j)-\frac{n}{2}ln2\pi - \frac{1}{2}ln[det(S_j)] + lnP(w_j)

利用LGSPP算法进行降维后得到的投影空间中的样本为y=ATxy = A^Tx,则降维后的样本均值向量和样本方差阵为:

mfj=1njxδjATx=ATmjm_{fj} = \frac{1}{n_j}\sum_{x\in\delta_j}A^Tx = A^Tm_j

Sfj=1nj1xδj(ATxmfj)(ATxmfj)T=ATSjAS_{fj} = \frac{1}{n_j-1}\sum_{x\in\delta_j}(A^Tx - m_{fj})(A^Tx - m_{fj})^T = A^TS_jA

则Bayes判别函数变为(常数部分去除):

gfj(x)=12(ATxmfj)TSi1(ATxmfj)12ln[det(Sfj)]+lnP(wj)                              12(xmj)TA(ATSjA)1AT(xmj)12ln[det(ATSjA)]+lnP(wj)g_{fj}(x) = -\frac{1}{2}(A^Tx-m_{fj})^TS_i^{-1}(A^Tx-m_{fj}) - \frac{1}{2}ln[det(S_fj)] + lnP(w_j)\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -\frac{1}{2}(x-m_j)^TA(A^TS_jA)^{-1}A^T(x-m_j) - \frac{1}{2}ln[det(A^TS_jA)] + lnP(w_j)

令训练样本数据分别为无故障正常操作情况下的样本数据以及故障数据,对测试样本x分别计算判别函数,设gf0(x)g_{f0}(x)是训练样本为正常数据时的判别函数,gfi(x)(i=1,...f)g_{fi}(x)(i = 1,...f)是训练样本为第ii类故障数据时的判别函数,比较函数值大小,当gfi(x)>gf0(x)g_{fi}(x) > g_{f0}(x)时说明测试样本中有故障发生。假设有C类训练样本数据时,分别计算对应的C个判别函数,通过比较C个判别函数值的大小,将测试样本归于最大判别函数值所对应的故障类别。

参考文献:
Qin Liu, LGSPP-Bayes for Fault Detection and Diagnosis

-------------本文结束感谢您的阅读-------------

欢迎关注我的其它发布渠道