一种复杂机电系统服役模式自动识别方法与流程

文档序号:16934485发布日期:2019-02-22 20:34阅读:295来源:国知局
一种复杂机电系统服役模式自动识别方法与流程

本发明属于数据驱动的服役模式自动识别领域,涉及一种工业生产装置服役模式自动识别方法,具体涉及一种复杂机电系统服役模式自动识别方法。



背景技术:

大型能源动力装备、高端压缩机组和精密机床等生产系统均可视为典型的复杂机电系统。在这些复杂机电系统中,功能设备相互耦合,系统内部设备操作中的任何微小的异常都可能导致整个设备的故障,并且还可能影响其他设备。因此,故障检测和状态预测对于确保复杂机电系统的安全可靠运行具有重要意义,其中模式识别是关键。

模式识别技术源于故障诊断,技术基础是通过分析特征数据来构建未识别数据与给定的或者潜在的模式之间的映射。现有的模式识别方法可分为两类:基于统计过程的方法和基于人工智能的方法,其中基于人工智能的方法包括模糊分类器、支持向量机和以k近邻聚类和时间序列统计聚类为代表的聚类方法。这些方法都包括训练和测试两个阶段。尽管这些方法对静态系统是有效的,但是复杂机电系统的以下三个特征限制了这些方法在实际中的应用:(1)目前的训练数据通常包含恒定的模式,导致目前的方法只能识别训练过的模式。然而复杂机电系统的服役模式是多态的和随机的,总会存在一些未知的和不可预测的模式,因此,识别模型将这些模式识别为噪声将导致严重的信息丢失;(2)在识别模型不断改进和优化过程中,某些存在的服役模式从未被检测到或者极少发生,如果不将其从模型中去除将严重影响模式识别效率;(3)模式中心随着时间和环境而漂移,将导致初始识别模型的失效。要解决上述问题,可以通过不断重新训练来更新模式识别模型,但是重新训练忽略了初始模型的信息,与动态时间序列模式识别相矛盾,降低了模型的适应性和普遍性。此外,当前面提到的第(1)种或第(2)种情况发生时,模型将会检测到许多离群点,传统方法忽略了包含丰富信息的离群点,因此识别模型无法感知模式变化。

如何实现基于新数据的模型自动和自适应更新以及初始模型的修正和增强是解决上述问题的基础。增量学习作为一种广泛应用于智能数据挖掘和知识发现的技术,无需重新训练就可以获得新知识,同时利用输入数据不断扩展现有模型的知识。与传统的学习方法相比,该方法有两个明显的优点:(1)不需要存储历史数据,可以降低空间复杂度;(2)可以在不忘记现有知识的情况下适应新数据,并且不需要模型重新训练。增量学习算法包括决策树,决策规则,人工神经网络和增量svm等。其中,受脊椎动物免疫系统原理和过程启发的人工免疫算法由于其自组织能力和鲁棒性吸引了越来越多的人工智能领域的研究人员。人工免疫算法在20世纪80年代由farmer、packard和perelson提出,在bersini和varela关于免疫网络的文章中也被提及过。通过查阅相关文献,可以了解到人工免疫算法已在计算机系统和网络中被广泛研究和应用于提高安全性和异常检测,最主要的案例就是应用在入侵软件和恶意软件的检测和预防中。然而,复杂机电系统与计算机系统不同,复杂机电系统依赖于功能组件并涉及技术过程。一些研究人员已将人工免疫算法应用于机械系统的异常检测,故障检测,故障诊断和故障恢复。这些研究通过解决人工免疫在机械工程中的应用问题继承并发展了人工免疫的概念。然而,复杂机电系统服役模式自动识别最近并没有被研究。

综上,复杂机电系统的传统模式识别方法,无法通过识别模型的自动和自适应更新来精确、连续地识别新数据,因此,发明用于复杂机电系统的服役模式自动识别的新方法将是有很有必要的。



技术实现要素:

针对上述问题,本发明提出了一种复杂机电系统服役模式自动识别方法。该方法结合复杂机电系统的数据特点,应用无监督聚类和多目标优化来构建人工免疫算法的初始模式识别模型;并使用人工免疫算法来确定新数据的免疫应答类型,从而确定新数据的模式类别;此外,将增量学习应用在训练新抗体过程中,采用插入新抗体、移除无用抗体和修正已有抗体来自动且自适应地更新人工免疫算法的抗体库,从而更新模式识别模型。

为了实现上述目的,本发明所采用的技术方案为:包括以下步骤:

1)模式识别训练数据收集步骤。收集流程工业复杂机电系统运行状态历史监测数据,建立高维原始数据集,对收集到的数据进行标准化处理;

2)初始模式识别模型建模步骤。依据步骤1)的标准化训练数据集,采用无监督聚类和多目标优化相结合的方法建立初始抗体库,计算抗体亲和度阈值,建立初始模式识别模型;

3)基于人工免疫算法的离群点检测步骤。依据步骤2)的初始模式识别模型,采用人工免疫算法对测试数据集进行离群点检测,确定免疫反应类型,确定模式识别结果;

4)基于增量学习的模式识别模型更新步骤。依据步骤3)的离群点检测算法,分别对连续离群点和抗体二次免疫进行计数,从而实现对模式识别抗体库的增加新抗体、删除无用抗体和修订已有抗体的操作,实现模式识别模型自动更新;

5)复杂机电系统实时模式识别步骤。对复杂机电系统实时监测数据进行模式识别,将其划分为噪声数据,已有模式i和新模式。

所述步骤1)具体包含以下步骤:

1.1)原始训练数据收集。对复杂机电系统n个传感器以相同的采样频率从历史监测数据中抽取数据,步骤1.1)获得一个n维的监测时间序列矩阵d:

其中:xi是矩阵中第i个样本点;di,j是第i个样本点中的第j个属性值。矩阵中每一列是一个特定监测变量的观测时间序列。

1.2)训练数据标准化。对1.1)中收集的复杂机电系统n维的监测时间序列矩阵d按列进行标准化处理:

步骤1.2)获得一个n维的标准化监测时间序列矩阵d′:

其中:x′i是标准化后矩阵中的第i个样本点;d′i,j是标准化后的第i个样本点中的第j个属性值。矩阵中每一列是一个特定监测变量标准化后的观测时间序列。

所述步骤2)具体包含以下步骤:

2.1)初始模式识别抗体数据库生成。

所述步骤2.1),包括以下步骤:

2.1.1)无监督聚类,建立模式类别数据库。对步骤1)的n维标准化训练数据集,选择适当的ε和minpts参数,采用dbscan方法进行无监督聚类,获得每一个训练数据的模式类别,并建立模式类别数据库c:

c={c1,c2,...,cm}。

其中,ci={ci1,ci2,...,cik}代表第i类模式中有k个数据。

2.1.2)遗传算法优化,获得模式识别初始抗体数据库。对步骤2.1.1)的每一个模式的数据库中的训练数据,利用基于遗传算法的pareto优化算法,按照下述目标函数进行多目标优化:

其中:abj为服役模式j的最优特征数据,即模式j对应的抗体数据;是模式j的第i个抗原;distij是模式j的第i个抗原与优化的抗体数据之间的亲和度测量;variance(·)是方差函数。

本步骤将得到模式识别初始抗体数据库:

antibody_database={ab1,ab2,…,abn}。

其中:abj为服役模式j对应的抗体数据。

2.2)抗体二次免疫响应亲和度阈值计算。

所述步骤2.2),包括以下步骤:

2.2.1)最优抗体与模式类别数据库亲和度计算。对步骤2.1.2)中的服役模式初始抗体数据库中的每一个抗体abj,按照下式计算abj与步骤2.1.1)中对应模式cj={cj1,cj2,...,cjk}中每一个元素之间的亲和度:

其中,cjil是模式类别cj的第i个元素cji的第l维数据,abjl是抗体abj的第l维数据。

本步骤将得到初始抗体数据abj与其对应的模式类别数据库cj之间的亲和度数据库:

fitvalue_database={fitvalue1,fitvalue2,…,fitvaluen}。

其中,fitvaluej=min{fitvaluej1,fitvaluej2,…,fitvaluejk}。

2.2.2)抗体二次免疫响应亲和度阈值计算。按照下式计算abj抗体类发生免疫响应的亲和度阈值:

fitforcej=fitvaluej×fitrate。

其中,fitvaluej是2.2.1)得到的亲和度值,fitrate是亲和率,代表抗体对抗原的耐受性。

本步骤将得到抗体二次免疫响应亲和度阈值数据库:

fitforce_database={fitforce1,fitforce2,…,fitforcen}。

所述步骤3)具体包含以下步骤:

3.1)离群点检测。

所述步骤3.1),包括以下步骤:

3.1.1)按时间顺序输入测试数据,作为抗原ag。

3.1.2)按照下式计算每一个测试数据(抗原)ag与步骤2.1.2)中的初始抗体abj的亲和度:

3.1.3)将3.1.2)计算的亲和度值fitvaluej与2.2.2)中的抗体二次免疫响应亲和度阈值{fitforce1,fitforce2,…,fitforcen}进行大小比较。

3.2)免疫响应类别确定。如果3.1.3)中的计算结果为抗原与所有的抗体亲和度均小于抗体对应的免疫响应亲和度阈值,没有抗体发生免疫应答,则触发初级免疫响应,并将抗原识别为离群点;否则,抗原不是离群点,触发二次免疫响应,按照下式识别抗原对应的服役模式:

其中,agi是第i个模式对应的抗原集。

3.3)离群点计数。如果3.2)中离群点被持续检测到,则利用计数器ii对离群点的持续检测数量进行计数,连续检测到离群点,则ii=ii+1。若持续检测离群点数量达到离群点数量阈值inum,则产生新的服役模式,并将离群点计数器ii置为0;若持续监测离群点数量没达到离群点数量阈值就触发抗体的二次免疫应答,则直接将离群点计数器置为0,直到有新的离群点被检测到。

所述步骤4)具体包含以下步骤:

4.1)抗体二次免疫响应计数。为每一类抗体设置计数器ji,如果3.2)中抗原不是离群点,其触发了某一类抗体的二次免疫响应,则对应的计数器执行以下操作:ji=ji+1;同时,如果jnum个连续的抗原均没有触发某一类抗体的二次免疫响应,则对应的计数器执行以下操作:ji=ji-1。

4.2)基于增量学习的新抗体生成。如果3.3)中持续检测离群点数量ii达到离群点数量阈值inum,则利用基于遗传算法的pareto优化算法,按照下述目标函数进行多目标优化,本步骤将得到新抗体abnew:

其中:abnew为连续inum个离群点对应的最优新抗体数据;agi是第i个离群点;disti是第i个离群点与优化的抗体数据ab之间的亲和度测量;variance(·)是方差函数。

4.3)更新抗体数据库。

所述步骤4.3),包括以下步骤:

4.3.1)删除无用的抗体。

如果4.1)中抗体设置计数器ji出现ji=0,按照下式将对应的抗体abi从抗体库antibody_database中移除,生成新的抗体库antibody_databasenew:

antibody_databasenew=antibody_database/abi。

4.3.2)增加新抗体。

对4.2)产生的新抗体abnew,如果abnew和antibody_database中每一个抗体的亲和度均小于抗体间亲和度阈值,按照下式向抗体库中增加能代表新类的新抗体,更新抗体库:

其中,fitvaluei代表abnew和antibody_database中第i个抗体的亲和度,threshold是抗体与抗体之间的亲和度阈值。

4.3.3)修订已有的抗体。

对4.2)产生的新抗体abnew,如果存在abnew和antibody_database中某一个抗体的亲和度大于抗体间亲和度阈值,按照下式对存在的抗体abi进行进化,更新抗体库:

所述步骤5)具体包含以下步骤:

5.1)实时数据输入。从复杂机电系统中获取实时监测数据并进行规范化处理,作为抗原数据ag。

5.2)动态模式识别。循环步骤3)~步骤4),如果输入数据没有触发抗体的二次免疫响应也没有触发新抗体类生成,则将实时监测数据标记为噪声数据;如果输入数据触发抗体的二次免疫响应但没有触发新抗体类生成,则将实时监测数据标记为被触发二次免疫响应的抗体对应的模式;如果输入数据触发抗体的二次免疫响应并且触发新抗体类生成,则将实时监测数据标记为一个新模式。

与现有技术相比,本发明至少具有以下有益效果:

本发明采用无监督聚类和多目标优化相结合的方法建立初始抗体库,计算抗体亲和度阈值,建立初始模式识别模型;采用人工免疫算法对测试数据集进行离群点检测,确定免疫反应类型,确定模式识别结果;基于增量学习,分别对连续离群点和抗体二次免疫进行计数,从而实现对模式识别抗体库的增加新抗体、删除无用抗体和修订已有抗体的操作,实现模式识别模型自动更新。因此,本发明在数据识别和自动、自适应模型更新方面具有特殊优势,可以灵活有效地应用于复杂机电系统的模式识别。此外,本发明为复杂机电系统以及其他工程应用中的数据挖掘,模式发现,故障检测和状态预测提供了基础。

附图说明

图1为本发明提出的复杂机电系统服役模式自动识别过程;

图2为动态模式识别过程中离群点和抗体数量的变化过程;

图3为模型自动更新过程中某抗体的动态更新过程。

具体实施方式

下面结合说明书附图对本发明作进一步的解释说明。

参考图1,本发明包括以下步骤:

1、模式识别训练数据收集步骤。收集流程工业复杂机电系统运行状态历史监测数据,建立高维原始数据集,对收集到的数据进行标准化处理。

1.1)原始训练数据收集。对复杂机电系统n个传感器以相同的采样频率从历史监测数据中抽取数据,步骤1.1)获得一个n维的监测时间序列矩阵d:

其中:xi是矩阵中第i个样本点;di,j是第i个样本点中的第j个属性值。矩阵中每一列是一个特定监测变量的观测时间序列。

1.2)训练数据标准化。对1.1)中收集的复杂机电系统n维的监测时间序列矩阵d按列进行标准化处理:

步骤1.2)获得一个n维的标准化监测时间序列矩阵d′:

其中:x′i是标准化后矩阵中的第i个样本点;d′i,j是标准化后的第i个样本点中的第j个属性值。矩阵中每一列是一个特定监测变量标准化后的观测时间序列。

2、初始模式识别模型建模步骤。依据步骤1)的标准化训练数据集,采用无监督聚类和多目标优化相结合的方法建立初始抗体库,计算抗体亲和度阈值,建立初始模式识别模型。

2.1)初始模式识别抗体数据库生成。

2.1.1)无监督聚类,建立模式类别数据库。对步骤1)的n维标准化训练数据集,选择适当的ε和minpts参数,采用dbscan方法进行无监督聚类,获得每一个训练数据的模式类别,并建立模式类别数据库c:

c={c1,c2,...,cm}。

其中,ci={ci1,ci2,...,cik}代表第i类模式中有k个数据。

2.1.2)遗传算法优化,获得模式识别初始抗体数据库。对步骤2.1.1)的每一个模式的数据库中的训练数据,利用基于遗传算法的pareto优化算法,按照下述目标函数进行多目标优化:

其中:abj为服役模式j的最优特征数据,即模式j对应的抗体数据;是模式j的第i个抗原;distij是模式j的第i个抗原与优化的抗体数据之间的亲和度测量;variance(·)是方差函数。

本步骤将得到模式识别初始抗体数据库:

antibody_database={ab1,ab2,…,abn}。

其中:abj为服役模式j对应的抗体数据。本步骤得到的模式识别初始抗体数据库如下表:

其中:abj为服役模式j对应的抗体数据,vi为抗体的第i维数值。

2.2)抗体二次免疫响应亲和度阈值计算。

2.2.1)最优抗体与模式类别数据库亲和度计算。对步骤2.1.2)中的服役模式初始抗体数据库中的每一个抗体abj,按照下式计算abj与步骤2.1.1)中对应模式cj={cj1,cj2,...,cjk}中每一个元素之间的亲和度:

其中,cjil是模式类别cj的第i个元素cji的第l维数据,abjl是抗体abj的第l维数据。

本步骤将得到初始抗体数据abj与其对应的模式类别数据库cj之间的亲和度数据库:

fitvalue_database={fitvalue1,fitvalue2,…,fitvaluen}。

其中,fitvaluej=min{fitvaluej1,fitvaluej2,…,fitvaluejk}。

2.2.2)抗体二次免疫响应亲和度阈值计算。按照下式计算abj抗体类发生免疫响应的亲和度阈值:

fitforcej=fitvaluej×fitrate。

其中,fitvaluej是2.2.1)得到的亲和度值,fitrate是亲和率,代表抗体对抗原的耐受性。

本步骤将得到抗体二次免疫响应亲和度阈值数据库:

fitforce_database={fitforce1,fitforce2,…,fitforcen}。

3、基于人工免疫算法的离群点检测步骤。依据步骤2)的初始模式识别模型,采用人工免疫算法对测试数据集进行离群点检测,确定免疫反应类型,确定模式识别结果。

3.1)离群点检测。参考图2离群点和抗体数量的变化过程。如图2所示,点1时刻代表检测到23个持续离群点,此时离群点数量没有达到离群点数量阈值(本文离群点数量阈值设置为60),触发了抗体的二次免疫应答,因此,如点2时刻所示将离群点计数器置为0;点3,点5,点7时刻均代表检测到60个持续离群点,此时离群点数量达到离群点数量阈值(试验设置为60),因此,产生新的服役模式,并如点4,点6,点8时刻所示将离群点计数器置为0。

3.1.1)按时间顺序输入测试数据,作为抗原ag。

3.1.2)按照下式计算每一个测试数据(抗原)ag与步骤2.1.2)中的初始抗体abj的亲和度:

3.1.3)将3.1.2)计算的亲和度值fitvaluej与2.2.2)中的抗体二次免疫响应亲和度阈值{fitforce1,fitforce2,…,fitforcen}进行大小比较。

3.2)免疫响应类别确定。如果3.1.3)中的计算结果为抗原与所有的抗体亲和度均小于抗体对应的免疫响应亲和度阈值,没有抗体发生免疫应答,则触发初级免疫响应,并将抗原识别为离群点;否则,抗原不是离群点,触发二次免疫响应,按照下式识别抗原对应的服役模式:

其中,agi是第i个模式对应的抗原集。

3.3)离群点计数。如果3.2)中离群点被持续检测到,则利用计数器ii对离群点的持续检测数量进行计数,连续检测到离群点,则ii=ii+1。若持续检测离群点数量达到离群点数量阈值inum,则产生新的服役模式,并将离群点计数器ii置为0;若持续监测离群点数量没达到离群点数量阈值就触发抗体的二次免疫应答,则直接将离群点计数器置为0,直到有新的离群点被检测到。

4、基于增量学习的模式识别模型更新步骤。依据步骤3)的离群点检测算法,分别对连续离群点和抗体二次免疫进行计数,从而实现对模式识别抗体库的增加新抗体、删除无用抗体和修订已有抗体的操作,实现模式识别模型自动更新。

4.1)抗体二次免疫响应计数。为每一类抗体设置计数器ji,如果3.2)中抗原不是离群点,其触发了某一类抗体的二次免疫响应,则对应的计数器执行以下操作:ji=ji+1;同时,如果jnum个连续的抗原均没有触发某一类抗体的二次免疫响应,则对应的计数器执行以下操作:ji=ji-1。

4.2)基于增量学习的新抗体生成,如图2所示,点3,点5,点7时刻均产生新的服役模式,同时产生新的抗体。如果3.3)中持续检测离群点数量ii达到离群点数量阈值inum,则利用基于遗传算法的pareto优化算法,按照下述目标函数进行多目标优化,本步骤将得到新抗体abnew:

其中:abnew为连续inum个离群点对应的最优新抗体数据;agi是第i个离群点;disti是第i个离群点与优化的抗体数据ab之间的亲和度测量;variance(·)是方差函数。

4.3)更新抗体数据库。参考图2离群点和抗体数量的变化过程和图3某抗体的动态更新过程。如图2所示,点3,点5,点7时刻均产生新的抗体,点3,点5时刻产生的新抗体和初始抗体数据库antibody_database中每一个抗体的亲和度均小于抗体间亲和度阈值,因此,增加新抗体类到初始抗体数据antibody_database中;点7时刻产生的新抗体,和antibody_database中某一个抗体的亲和度大于抗体间亲和度阈值,因此,不增加新抗体类,而是对已有的抗体进行修订。如图3所示,v1-v10为抗体数据的10个不同维度,initialstage为某抗体形成时的初始数据,在服役模式识别模型自动更新过程中,抗体经历了initialstage-stage1-stage2-stage3-stage4-stage5的自动修订过程。

4.3.1)删除无用的抗体。

如果4.1)中抗体设置计数器ji出现ji=0,按照下式将对应的抗体abi从抗体库antibody_database中移除,生成新的抗体库antibody_databasenew:

antibody_databasenew=antibody_database/abi。

4.3.2)增加新抗体。

对4.2)产生的新抗体abnew,如果abnew和antibody_database中每一个抗体的亲和度均小于抗体间亲和度阈值,按照下式向抗体库中增加能代表新类的新抗体,更新抗体库:

其中,fitvaluei代表abnew和antibody_database中第i个抗体的亲和度,threshold是抗体与抗体之间的亲和度阈值。

4.3.3)修订已有的抗体。

对4.2)产生的新抗体abnew,如果存在abnew和antibody_database中某一个抗体的亲和度大于抗体间亲和度阈值,按照下式对存在的抗体abi进行进化,更新抗体库:

更新后的抗体数据库如下表:

其中:abj为服役模式j对应的抗体数据,vi为抗体的第i维数值。

5、模式识别步骤。对复杂机电系统实时监测数据进行模式识别,将其划分为噪声,已有模式i和新模式。

5.1)实时数据输入。从复杂机电系统中获取实时监测数据并进行规范化处理,作为抗原数据ag。

5.2)动态模式识别。循环步骤3)~步骤4),如果输入数据没有触发抗体的二次免疫响应也没有触发新抗体类生成,则将实时监测数据标记为噪声数据;如果输入数据触发抗体的二次免疫响应但没有触发新抗体类生成,则将实时监测数据标记为被触发二次免疫响应的抗体对应的模式;如果输入数据触发抗体的二次免疫响应并且触发新抗体类生成,则将实时监测数据标记为一个新模式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1