一种基于信息熵的超高维数据降维算法制造技术

技术编号:14652563 阅读:56 留言:0更新日期:2017-02-16 15:03
本发明专利技术提出了一种基于信息熵的高维数据降维算法。属于高维数据预处理领域。本发明专利技术旨在解决传统PCA算法在实际的应用中存在的问:当数据维数(特征)足够高的时候,无法将所有数据特征读一次性入内存以进行分析计算,实验在不借助云平台、分布式计算平台的情况下,使用了分块处理的方法,但是此方法处理耗时太长,不能满足实际应用需求。在此基础上,引入信息熵的思想,对PCA算法进行了改进,使得改进后的算法能够用于处理超高维数据降维,实验结果表明在保证保留相同比例原始数据信息的情况下,后者运行耗时相较于分块处理算法缩减了60倍。

【技术实现步骤摘要】

本专利技术属于高维数据预处理领域,更为具体地讲,是一种基于信息熵改进的超高维数据降维算法。
技术介绍
随着信息科学技术的飞速发展,信息的表示越来越全面,人们获取数据越来越容易、关注的数据对象日渐复杂,业界对数据分析、处理技术的需求最为迫切,特别是对高维数据的分析与处理技术。直接处理高维数据会面临以下困难:维数灾难、空空间、不适定、算法失效。本专利技术针对数据特征维太高,内存受限,不能一次性读入内存分析计算的问题,采用分块处理方法,处理流程如图1所示。但结果显示,运行耗时太长,不能满足应用需求,在此基础上,引入信息熵,首先做特征筛选,大大降低了特征数量,再做降维处理,具体流程如图2所示,具体算法如图3所示,整个过程运行耗时减少数倍,降维结果保留了大部分主成分,依然能满足应用需求。
技术实现思路
本专利技术的最终目的是对原始超高维数据进行降维处理,使得降维后的数据可以在较低内存,用时较少的情况下得以继续分析处理。本专利技术对主要利用了信息熵在信息处理上的意义,对PCA算法进行了改进。所谓的数据维数就是每条记录数据的属性个数。为实现上述目的,本专利技术基于信息熵对PCA算法做了改进,其算法构成如下:1)Matrix=getMatrix(rdata)2)计算信息熵,做筛选3)分割数据矩阵[B,C]=randomSplit(Matrix)//B为训练集,C为检验集4)样本B矩阵中心化:即每一维度减去该维度的均值X=B–repmat(mean(B,2),1,m1)5)计算不同维度之间的协方差,构成协方差矩阵:C=(X*XT)/size(X,2)6)计算协方差矩阵的特征向量eigenVector和特征值eigenValue[eigenVector,eigenValue]=eig(Cov)7)选择最大的k个特征值对应的k特征向量分别作为列向量组成特征向量矩阵Vn×k,k由f计算。8)计算降维结果:Y=VT*X9)对矩阵C中心化,得X010)计算结果:Y0=VT*X011)后续对比,如分类。附图说明图1是基于分块的PCA处理高维数据的流程(应用PCA的处理流程),图2是本专利技术基于信息熵的PCA降维处理流程(基于信息熵的降维处理流程),图3是本专利技术算法E-PCA的步骤(基于信息熵的PCA(E-PCA)算法过程)。具体实施方式下面结合附图对本专利技术的具体实施方式进行描述,以便本领域的技术人员更好的理解本专利技术。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本专利技术的主要内容时,这些描述在这里将被忽略。图1是本专利技术基于信息熵的超高维数据降维处理的流程。在本实施例中,如图2所示,原始数据作为输入,如果原始数据本来就是属性和记录组成的矩阵,可以省略转换为矩阵的步骤。生成矩阵的下一步为对每个属性计算信息熵H(i),并和阈值et(et根据具体的应用取值)比较,大于阈值的属性保留,处理之后的矩阵A作为下一步处理的输入。信息熵处理之后的数据进入PCA处理流程,首先样本中心化,在计算不同属性之间的协方差,形成协方差矩阵,再计算协方差矩阵的特征值和特征向量,计算贡特征值献率(表征获取的主成分占原始数据信息的比例)f确定k值,进而确定主成分个数,抽取最大的k个特征值对应的k个特征向量作为变换基,将原始数据降维得结果Yk×m,以便后续分析计算。尽管上面对本专利技术说明性的具体实施方式进行了描述,以便于本
的技术人员理解本专利技术,但应该清楚,本专利技术不限于具体实施方式的范围,对本
的普通技术人员来讲,只要各种变化再所附的权利要求限定和确定的本专利技术的精神和范围内,这些变化是显而易见的,一切利用本专利技术构思的专利技术创造均在保护之列。本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201610810509.html" title="一种基于信息熵的超高维数据降维算法原文来自X技术">基于信息熵的超高维数据降维算法</a>

【技术保护点】
信息熵可以度量信息量大小,高维数据降维是解决直接处理高维数据面临的四大难题的有效方法,对超高维数据进行分析计算,更要进行降维处理,一种基于信息熵的超高维数据降维算法由以下特征构成://Input(输入)需要降维的数据矩阵Un×m(或者非矩阵形式rdata),信息熵阈值et,特征值贡献率f//Output(输出)原始数据降维后的结果Yk×m/*getMatrix函数,将原始数据rdata转换为矩阵形式,记录含有的属性置为1,没有的属性为0,输出n×m的0、1矩阵,某些原始数据非矩阵形式的时候使用*/Matrix=getMatrix(rdata)/*getEntropy函数,计算属性αi的信息熵值*/H(i)=getEntropy(αi)/*randomSplit函数,将转换为矩阵的数据Matrix按比随机抽取相应的记录作为训练集,剩下的为检验集*/[B,C]=randomSplit(Matrix)/*eig函数,计算矩阵的特征值和特征向量*/[eigenVe,eigenVa]=eig(Cov)/*变量f,计算特征值贡献率,表征主成分占原始数据信息的比例*/。

【技术特征摘要】
1.信息熵可以度量信息量大小,高维数据降维是解决直接处理高维数据面临的四大难题的有效方法,对超高维数据进行分析计算,更要进行降维处理,一种基于信息熵的超高维数据降维算法由以下特征构成://Input(输入)需要降维的数据矩阵Un×m(或者非矩阵形式rdata),信息熵阈值et,特征值贡献率f//Output(输出)原始数据降维后的结果Yk×m/*getMatrix函数,将原始数据rdata转换为矩阵形式,记录含有的属性置为1,没有的属性为0,输出n×m的0、1矩阵,某些原始数据非矩阵形式的时候使用*/Matrix=getMatrix(rdata)/*getEntropy函数,计算属性αi的信息熵值*/H(i)=getEntropy(αi)/*randomSplit函数,将转换为矩阵的数据Matrix按比随机抽取相应的记录作为训练集,剩下的为检验集*/[B,C]=randomSplit(Matrix)/*eig函数,计算矩阵的特征值和特征向量*/[eigenVe,eigenVa]=eig(Cov)/*变量f,计算...

【专利技术属性】
技术研发人员:何兴高李蝉娟张效藩
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1