[发明专利]处理大规模矩阵数据的主成分分析方法在审
申请号: | 201611153472.6 | 申请日: | 2016-12-14 |
公开(公告)号: | CN106855918A | 公开(公告)日: | 2017-06-16 |
发明(设计)人: | 喻文健;谷昱 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F19/00 | 分类号: | G06F19/00 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙)11201 | 代理人: | 张润 |
地址: | 10008*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理 大规模 矩阵 数据 成分 分析 方法 | ||
技术领域
本发明涉及大数据分析技术领域,特别涉及一种处理大规模矩阵数据的主成分分析方法。
背景技术
主成分分析,即PCA(Principal Component Analysis),是一种常用的数据分析方法。PCA通过矩阵计算提取出原始数据在线性空间中的一组主要基向量(即主要特征分量),然后将原始数据在这组基上投影,实现高维数据的降维。对经过降维后的数据,可进一步做聚类、分类等运算,实现特征提取、自动分类、识别等人工智能应用。当前,主成分分析作为一种重要的无监督学习方法,已广泛用于数据挖掘、机器学习有关的各种应用问题中。
在实际问题中,数据往往可以表示为一个矩阵。不失一般性,将每个数据看成矩阵A的一行,那么矩阵的列数就是每个数据的维度。主成分分析计算的目标是原始数据的若干个主要特征分量,可通过矩阵的特征值分解或奇异值分解得到。基于矩阵特征值分解的方法是先计算矩阵ATA,然后对ATA进行特征值分解,得到最大的若干特征值对应的特征向量就是要求的“主成分”。基于矩阵奇异值分解的方法直接对矩阵A做奇异值分解:A=UΣVT,其中U和V均为正交阵,Σ为对角元从大到小排列的对角阵,得到的V矩阵的前若干列就是要求的“主成分”。若数据维度不太高,即A的列数远小于行数,基于特征值分解的方法计算效率比较高,因为其处理的ATA矩阵是一个阶数较小的矩阵。
另一方面,随着移动设备、互联网、传感器网络、基因工程的迅速发展,产生数据的来源变得多样化,同时数据量也呈现出指数级的增长趋势。也就是说,当前正处在所谓的“大数据”时代。如何在可承受的时间空间限制下存储、分析和管理日益增长的数据集成为传统的数据处理手段面临的一个难题。研究表明,目前85%的数据都可以直接或通过转换后表示为数值型数据,即常见的整型、浮点型数据,而数据库中存储数值型数据构造的“表”结构通常被当作矩阵进行处理。因此,如何针对这些大数据在产生、存储、应用等方面的特点,研究出有效的“大矩阵”数据分析方法变得异常重要。具体来说,由于数据规模太大,它们可能是分布式存储的(即在网络上不同的计算机节点上)、或存储在计算机硬盘上且无法完整地载入到内存中(由于内存容量限制)。在其他一些应用场景中,这些数据也可能是按“数据流”的方式逐渐生产、获取到的,不适合采用传统的先存储下来再计算的方式对它们进行处理。考虑到传统的计算主成分分析的方法需对整个矩阵进行特征值分解或奇异值分解,其内在算法需要反复的读取、遍历数据矩阵的元素(若要计算前k个主成分,至少要完整地读取矩阵元素k遍),显然它们不适合对上述场景中读取开销巨大的大数据进行分析。
考虑到上述背景,基于随机化的矩阵计算方法,包括特征值分解、奇异值分解的算法,在近年来备受人们关注。在文献:N.Halko,P.-G.Martinsson and J.A.Tropp,Finding structure with randomness:Probabilistic algorithms for constructing approximate matrix decompositions,SIAM Review,53(2011),no.2,pp.217-288(以下简写作SIAM2011)中,提出了一种对矩阵数据遍历次数较少的随机奇异值分解算法。该方法通过将原始矩阵A乘以一个仅含k列的随机矩阵,得到原始矩阵列空间的k维特征子空间,然后求出该子空间的正交基向量矩阵Q,以及A的近似分解:A≈QB,其中B为一个只有k行的矩阵。最后对B这个较小的矩阵进行传统奇异值分解计算,可近似得到原始矩阵A的前k个奇异值和相应的左、右奇异向量。在文献SIAM2011中,还对上述近似算法的准确度进行了理论分析,结果表明它在很大的概率上能使误差落在很小的限度内,同时也提出了几种提高结果准确度的技巧。
应当指出,文献SIAM2011所提方法虽然相比传统的奇异值分解算法大大减少了对矩阵元素的遍历次数,但它至少需要遍历矩阵元素两遍,从计算效率上仍有提升空间,并且无法适应数据流式大数据的处理要求。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的目的在于提出一种处理大规模矩阵数据的主成分分析方法,该方法适合于多种大数据分析场景,具有较高的计算效率和实用性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611153472.6/2.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06F 电数字数据处理
G06F19-00 专门适用于特定应用的数字计算或数据处理的设备或方法
G06F19-10 .生物信息学,即计算分子生物学中的遗传或蛋白质相关的数据处理方法或系统
G06F19-12 ..用于系统生物学的建模或仿真,例如:概率模型或动态模型,遗传基因管理网络,蛋白质交互作用网络或新陈代谢作用网络
G06F19-14 ..用于发展或进化的,例如:进化的保存区域决定或进化树结构
G06F19-16 ..用于分子结构的,例如:结构排序,结构或功能关系,蛋白质折叠,结构域拓扑,用结构数据的药靶,涉及二维或三维结构的
G06F19-18 ..用于功能性基因组学或蛋白质组学的,例如:基因型–表型关联,不均衡连接,种群遗传学,结合位置鉴定,变异发生,基因型或染色体组的注释,蛋白质相互作用或蛋白质核酸的相互作用
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置