一种基于互信息的实时特征提取方法与流程

文档序号:15447776发布日期:2018-09-14 23:34阅读:287来源:国知局

本发明涉及一种基于互信息的实时特征提取方法,属于机器学习,数据挖掘技术领域。



背景技术:

近两年,美国,德国和中国相继提出了《先进制造合作伙伴》报告2.0、《工业4.0研发白皮书》、《中国制造2025》,这拉开了制造业向智能制造转型的序幕。与此同时,工业大数据这一新的概念也出现在人们的面前。工业大数据是智能制造时代的一个全新概念,它泛指工业领域的大数据,包括企业内外的各种数据。而随着智能化转型战略的相继实施,工业大数据日益成为全球制造业挖掘价值,推动变革的主要动力。工业大数据分析是智能制造的基础,也是支撑未来制造智能化的方向。

与互联网和其他领域的大数据不同,工业大数据应用的最大价值就在于对企业生产制造和业务管理流程智能优化。它利用工业生产过程中收集的各种变量参数,对生产过程进行严格监控,并通过对生产数据的分析,改进生产工艺流程,优化生产过程,降低能源消耗,但因其具有大体量,多源性,强非线性,价值密度稀疏等特点,导致其分析难度很高,并且对分析精度的要求也相对较高,同时生产线的高速运转也对数据处理的实时性的要求更高。因此为了更好地、更快地挖掘蕴藏在工业大数据中的信息,对其进行精确地预测与分析,必须去除数据中的冗余属性,降低后续挖掘过程中的工作量,提高数据挖掘的效率和性能,就必须对工业大数据进行特征提取,而传统特征提取算法中对数据的要求十分严格,对数据样本的分布,内在结构等都有一定的要求,并且在处理的速度上有一定的不足,因此本文提出一种基于互信息的实时特征提取算法(featureextractionalgorithmbasedonmutualinformation,mife);该算法以互信息作为相关系数进行主成分分析,采用滑动窗口动态更新数据;然后将当前窗口数据与新增窗口数据结合完成对整体数据的特征提取。实验结果表明,该方法可以有效对工业大数据进行实时的特征提取,并以多种分类器验证了算法的精确性。



技术实现要素:

为了解决现有技术存在的问题,本发明提供一种基于互信息的实时特征提取方法先判断当前窗口情况,分为第一窗口和非第一窗口两种,再针对不同的窗口情况采用不用的提取策略,由此实现基于互信息的实时特征提取。

为了实现上述目的,本发明创造采用的技术方案为:一种基于互信息的实时特征提取方法,包括如下步骤:

1)、判断当前窗口是否为第一个窗口;若为第一个窗口,则采用步骤2)中的方法,基于互信息的特征提取策略;如果不是第一个窗口,则采用步骤3)中的方法,采取基于滑动窗口的增量数据提取策略;

2)、当前窗口是一个窗口时,对其内的数据进行处理,具体为:

2.1)假设特征空间rm×n上的样本数据集x,每一条数据xi由n维特征向量组成,即(xi1,xi2,…xin);

首先根据数据样本统计特征的概率分布,根据式(1)计算每个特征的信息熵h(xj):

其中:p(xi)是特征的值域内中的每个值出现的概率;

然后根据式(2)计算每个特征间的互信息,组成互信息矩阵

其中:p(x,y)是两个特征的联合分布概率,p(x)和p(y)分别是特征x和特征y值域内的每个值出现的概率;

中,对角线元素表示每个特征的自信息,即特征的信息熵,非对角线元素表示两个特征的之间的互信息;

2.2)无论是信息熵还是互信息皆为实数,当两个变量不相关时,互信息为0,否者为正数,因此σιxy为非负实数矩阵,并且由公式(3)

i(x;y)=i(y;x)(3)

可以判定是非负实对称矩阵,其特征值为实数,特征值对应的特征向量两两正交,并且矩阵可分解为如下形式:

其中:λ为的特征值(μ1,μ2,…μn)组成的对角阵,特征值从大到小排列;

b是各个特征值对应的特征向量(β1,β2,…βn)组成的矩阵,通过贡献率来判断主成分的维数;

主成分的贡献率σk为单一主成分占总体主成分信息量的比重:

其中:μk表示第k大的特征值;

累计贡献率δk为前k个主成分的贡献率之和:

选择贡献率之和在85%-95%的前k个特征值对应的特征向量(β1,β2,…βl)作为主成分决策矩阵bl

原始矩阵降维后为:

z=blx(7)

提取出的主成分zk=βk'x(k=1,2,···,l),βk'是第k个主成分;

并计算出互信息矩阵的单位化矩阵hi:

hi=biλi-1/2(8)

其中bi∈rn×k是主成分决策矩阵,λ∈rm×k是选取的前k个特征值组成的矩阵;

3)、当前窗口不是第一个窗口时,对其内的数据进行处理,其实现步骤如下:

3.1)、首先计算本窗口内的互信息矩阵σi+1,然后将其投影到hi张成的空间中.

在式(9)中,hi是前一个窗口的互信息矩阵的单位化矩阵,

3.2)、对求特征值和特征向量,并按降序排列,并根据式(5)和式(6)取得累计贡献率在85%-95%的前k个特征值;μi和对应的特征向量βi,根据这k个特征值和特征向量求得当前窗口内的互信息矩阵的特征值:

其中:m是窗口大小,i为单位矩阵,μi是的特征值矩阵

特征向量:

v=hiβi(11)

其中:hi是前一个窗口的互信息矩阵的单位化矩阵,βi是的特征向量

并组成主成分决策阵,将数据映射到主成分决策阵上即实现了降维,后续的窗口重复此过程。

本发明创造的有益效果为:

本发明与现有技术相比,本发明提出基于互信息的实时特征提取方法,其通过采用互信息作为提取特征的评价准则,以提高非线性数据在后续挖掘中的精度;同时采用滑动窗口技术以较小代价实现对增量数据的实时处理,将历史数据和动态新增数据结合,实现了整个数据集的快速降维。

附图说明

图1:本发明的一种岩体冲击倾向性测试方法的示意图。

图2:实施例中pca、mipca和mife算法在不同数据量上的处理时间。

图3:实施例中处理后的winequality数据集的分类准确率。

图4:实施例中图处理后的energyefficiency数据集的分类准确率。

具体实施方式

一种基于互信息的实时特征提取方法,包括如下步骤:

1)、判断当前窗口是否为第一个窗口;若为第一个窗口,则采用步骤2)中的方法,基于互信息的特征提取策略;如果不是第一个窗口,则采用步骤3)中的方法,采取基于滑动窗口的增量数据提取策略;

2)、当前窗口是一个窗口时,对其内的数据进行处理,具体为:

2.1)假设特征空间rm×n上的样本数据集x,每一条数据xi由n维特征向量组成,即(xi1,xi2,…xin);

首先根据数据样本统计特征的概率分布,根据式(1)计算每个特征的信息熵h(xj):

其中:p(xi)是特征的值域内中的每个值出现的概率;

然后根据式(2)计算每个特征间的互信息,组成互信息矩阵

其中:p(x,y)是两个特征的联合分布概率,p(x)和p(y)分别是特征x和特征y值域内的每个值出现的概率;

中,对角线元素表示每个特征的自信息,即特征的信息熵,非对角线元素表示两个特征的之间的互信息;

2.2)无论是信息熵还是互信息皆为实数,当两个变量不相关时,互信息为0,否者为正数,因此σιxy为非负实数矩阵,并且由公式(3)

i(x;y)=i(y;x)(3)

可以判定是非负实对称矩阵,其特征值为实数,特征值对应的特征向量两两正交,并且矩阵可分解为如下形式:

其中:λ为的特征值(μ1,μ2,…μn)组成的对角阵,特征值从大到小排列;

b是各个特征值对应的特征向量(β1,β2,…βn)组成的矩阵,通过贡献率来判断主成分的维数;

主成分的贡献率σk为单一主成分占总体主成分信息量的比重:

其中:μk表示第k大的特征值;

累计贡献率δk为前k个主成分的贡献率之和:

选择贡献率之和在85%-95%的前k个特征值对应的特征向量(β1,β2,…βl)作为主成分决策矩阵bl

原始矩阵降维后为:

z=blx(7)

提取出的主成分zk=βk'x(k=1,2,···,l),βk'是第k个主成分;

并计算出互信息矩阵的单位化矩阵hi:

hi=biλi-1/2(8)

其中bi∈rn×k是主成分决策矩阵,λ∈rm×k是选取的前k个特征值组成的矩阵;

3)、当前窗口不是第一个窗口时,对其内的数据进行处理,其实现步骤如下:

3.1)、首先计算本窗口内的互信息矩阵σi+1,然后将其投影到hi张成的空间中.

3.2)、对求特征值和特征向量,并按降序排列,并根据式(5)和式(6)取得累计贡献率在85%-95%的前k个特征值;μi和对应的特征向量βi,根据这k个特征值和特征向量求得当前窗口内的互信息矩阵的特征值:

其中:m是窗口大小,i为单位矩阵,μi是的特征值矩阵

特征向量:

v=hiβi(11)

其中:hi是前一个窗口的互信息矩阵的单位化矩阵,βi是的特征向量

并组成主成分决策阵,将数据映射到主成分决策阵上即实现了降维,后续的窗口重复此过程。

实施例1:

一种高维不完整数据特征选择方法,首先判断当前窗口是否为第一个窗口;如果是第一个窗口,则采用基于互信息的特征提取策略。如果不是第一个窗口,则需要采取基于滑动窗口的增量数据提取策略。

基于互信息的特征提取策略具体包括如下:

第一步:假设特征空间rm×n上的样本数据集x,每一条数据xi由n维特征向量组成,即(xi1,xi2,…xin)首先根据数据样本统计特征的概率分布,然后根据式(1)计算每个特征的信息熵h(xj),然后再根据式(2)计算每个特征间的互信息,组成互信息矩阵

其中p(xi)是特征的值域内中的每个值出现的概率。

其中p(x,y)是两个特征的联合分布概率,p(x)和p(y)分别是特征x和特征y值域内的每个值出现的概率。

中,对角线元素表示每个特征的自信息,即特征的信息熵,非对角线元素表示两个特征的之间的互信息。

第二步:对互信息矩阵进行特征分解。

无论是信息熵还是互信息皆为实数,当两个变量不相关时,互信息为0,否者为正数,因此σιxy为非负实数矩阵,并且由公式(3)可知:

i(x;y)=i(y;x)(3)

因此可以判定是非负实对称矩阵,其特征值为实数,特征值对应的特征向量两两正交,并且矩阵可分解为如下形式:

其中,λ为的特征值(μ1,μ2,…μn)组成的对角阵,特征值从大到小排列。b是各个特征值对应的特征向量(β1,β2,…βn)组成的矩阵。

第三步:通过贡献率来判断主成分的维数。主成分的贡献率σk为单一主成分占总体主成分信息量的比重。

其中μk表示第k大的特征值。累计贡献率δk为前k个主成分的贡献率之和。

第四步:选择贡献率之和在85%-95%的前k个特征值对应的特征向量(β1,β2,…βl)作为主成分决策矩阵bl

原始矩阵降维后为:

z=blx(7)

提取出的主成分zk=βk'x(k=1,2,···,l),βk'是第k个主成分。

第五步:并计算出互信息矩阵σixy的单位化矩阵hi。

hi=biλi-1/2(8)

其中bi是互信息矩阵的特征值对应的特征向量,λi是互信息矩阵的特征值。

基于互动窗口的增量数据提取策略具体过程如下:

第一步:首先计算本窗口内的互信息矩阵σi+1,然后将其投影到hi张成的空间中.

在式(9)中,hi是前一个窗口的互信息矩阵的单位化矩阵;

第二步:对求特征值和特征向量,并按降序排列,并根据式(5)和式(6)取得累计贡献率在85%-95%的前k个特征值。μi和对应的特征向量βi,根据这k个特征值和特征向量求得当前窗口内的互信息矩阵的特征值:

其中:m是窗口大小,i为单位矩阵,μi是的特征值矩阵

特征向量:

v=hiβi(11)

其中:hi是前一个窗口的互信息矩阵的单位化矩阵,βi是的特征向量。

并组成主成分决策阵。将数据映射到主成分决策阵上即实现了降维,后续的窗口重复此过程。

实验:

1)、实验数据集

为了说明本文提出的特征提取方法的有效性,通过运行时间和分类实验来验证。选取uci机器学习知识库上三个数据集进行实验。表1是对数据集的描述,数据集中的实例数从150到4894,分布范围很宽广。

表1实验中用到的数据集

2)、实验结果与分析

实验环境是intel奔腾3.0ghz的cpu,4gb内存,操作系统是windows7,本实验采用python编写程序,整个实验分为两大部分,一是测试3种算法在相同的数据集上的运行时间,二是测试3种算法在多种分类器下的分类精确性。

在对算法运行时间的测试中,通过对iris数据集进行数据复用来对比不同数据量下pca,mipca和mife算法的消耗时间,每种算法分别重复10次,然后取平均值作为各算法的处理时间,实验结果如图2所示。

从图2可以看出,pca和mipca这两种算法的处理时间不相上下,这是因为pca和mipca算法的主要不同在于采用不同的评价准则,而其他的处理过程并无太大不同,因此处理时间差别不大,而mife算法随着数据量的增大,明显地比另外两种算法的处理时间少。由此可见,mife算法可以满足工业大数据实时降维的需求。

由于pcamipca和mife都是无监督学习算法,无法直接测试算法的准确性,因此用朴素贝叶斯分类器(nbc)、最近邻分类器(knn)、决策树c4.5和支持向量机svm这四种分类器对三种算法降维后的数据进行分类测验,本实验采用10次交叉验证获得算法的平均分类准确率,即将降维后的数据分成10份,轮流将其中九份作为训练数据生产分类模型,剩下的一份作为测试数据集进行测试,然后将10次分类性能的平均值作为最终的结果。首先对winequality数据集进行测验,其结果如图3所示。

从图3中可以看出,winequality数据集在经过三两种算法降维后的数据分类准确率,分析可知mife算法较大程度上保留了原始数据的内在信息,总体分类准确性略低,但是差距很小。再对energyefficiency数据集进行测验,其结果如图4所示。

由图4可以看出pca算法在该数据集上的准确率不高,而mife算法仍有良好的性能,这是因为energyefficiency数据集是一个非线性数据集,而pca算法是线性特征提取算法,结合图3可知mife算法在线性和非线性数据集上都有良好的表现,因此可以满足工业大数据一定的精度要求。

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