CN107273917A - 一种基于并行化主成分分析算法的数据降维方法 - Google Patents
一种基于并行化主成分分析算法的数据降维方法 Download PDFInfo
- Publication number
- CN107273917A CN107273917A CN201710384662.7A CN201710384662A CN107273917A CN 107273917 A CN107273917 A CN 107273917A CN 201710384662 A CN201710384662 A CN 201710384662A CN 107273917 A CN107273917 A CN 107273917A
- Authority
- CN
- China
- Prior art keywords
- matrix
- principal component
- data
- dimensionality reduction
- sample data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2135—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种基于并行化主成分分析算法的数据降维方法,包括步骤:S1:把待降维的高维数据构造成样本数据矩阵D n×m ;S2:计算所述样本数据矩阵D n×m 的协方差矩阵C m×m ;S3:计算所述协方差矩阵C m×m 的m个特征值和对应的m个特征向量;S4:根据所述特征值和特征向量确定主成分数量k;S5:利用前k大特征值对应的特征向量构造变换矩阵,利用变换矩阵计算主成分矩阵,所述主成分矩阵即是降维后的数据。本发明克服了传统单机主成分分析算法的由于数据规模太大而无法一次加载到内存的问题,并减少了I/O操作,提高了数据降维的处理效率。
Description
技术领域
本发明涉及高维数据线性降维技术,具体地涉及一种基于主成分分析算法的数据降维方法。
背景技术
随着网络信息技术和移动互联网的不断发展,企业不同业务垂直领域的数据量越来越大,如何从这些数据中发掘出有价值的信息,为企业提供重要决策支撑,成为企业制胜的关键。这些数据往往具有两个特点:一是数据规模大;二是数据的维数很高。大规模的高维数据给数据的传输、存储以及数据模式的发掘提出了挑战,如何对大规模的高维数据进行高效的处理和有效的模式发掘显得尤为重要。这些高维数据中各个维数之间通常具有某种联系,过高的维数不仅造成了数据的冗余,也增大了数据处理的时间开销,隐藏了数据的本质特征,因此研究一种数据降维方法具有重要的实际应用价值。
数据降维是将样本从原始空间通过某种线性或非线性变换投影到一个低维的子空间,可发掘出隐藏在高维数据中的能解释原始数据的低维结构,这种低维结构保持了原始数据的主要信息。典型的线性降维算法有主成分分析(PCA)和线性判别分析(LDA)。PCA主要是把原始数据中线性相关的随机变量转换为几个线性无关的新随机变量,且保留了原始数据的主要信息。LDA的目标是使得降维后的低维空间中,同类数据尽可能靠近,非同类数据尽可能的分离。相比于LDA,PCA的应用范围更广。线性降维算法由于具有完备的理论体系,且在各种应用中都表现出了良好的适用性,正在广泛地应用于模式识别、统计学分析、数字图像处理以及计算机视觉等领域。
传统的单机主成分分析算法在进行数据降维时会存在以下缺点:1、计算机内存不足以放下整个大规模的待降维数据集,样本数据集过大将限制后续对数据模式发掘的准确性,若只升级计算机硬件,当数据集的需求继续增大时,将导致扩展性较差;2、即使单机计算机硬件满足内存的需要,传统的主成分分析需要多次遍历数据样本集,这时的磁盘I/O必将成为限制主成分分析效率的瓶颈,导致主成分分析计算效率较低。这两个主要缺点限制了主成分分析在大规模高维数据降维技术领域的应用潜力。
发明内容
本发明针对现有技术中的不足,提供一种利用MapReduce并行计算框架的主成分分析方法,解决传统单机主成分分析算法的由于数据规模太大而无法一次加载到内存的问题,有利于减少I/O操作,提高数据降维的处理效率。
为实现上述目的,本发明的技术方案包括以下步骤:
S1:把待降维的高维数据构造成样本数据矩阵Dn×m;
S2:计算样本数据矩阵Dn×m的协方差矩阵Cm×m;
S3:计算协方差矩阵Cm×m的m个特征值和对应的m个特征向量;
S4:根据特征值和特征向量确定主成分数量k;
S5:利用前k大特征值对应的特征向量得出主成分矩阵。
其中,步骤S2进一步包括步骤:
S21:分配N个Mapper;
S22:分配一个Reducer,Reducer的输入是步骤S21中每个Mapper的输出结果;
S23:将步骤S22中Reducer的汇总结果通过协方差矩阵公式得到协方差矩阵Cm×m。
步骤S4进一步包括步骤:
S41:对特征值和其对应的特征向量进行排序;
S42:计算主成分数量k。
步骤S5进一步包括步骤:
S51:根据步骤S41中得到的排序后的特征值和其对应的特征向量,取前k大特征值对应的特征向量构造变换矩阵TransMat;
S52:若待降维样本数据矩阵Dn×m能够一次性加载到内存,则将样本数据矩阵Dn×m与变换矩阵TransMat相乘得到主成分矩阵。
若待降维样本数据不能一次加载到内存,则处理流程包括步骤:
S61:把样本数据矩阵Dn×m按照步骤S2中的分块方式进行分块;
S62:把每个数据块与变换矩阵TransMat进行相乘,得到该块的主成分矩阵;
S62:合并每一块步骤S62得出的主成分矩阵以构建整个样本数据的主成分矩阵。
本发明的有益效果是:克服了传统单机主成分分析算法的由于数据规模太大而无法一次加载到内存的问题,并减少了I/O操作,提高了数据降维的处理效率。
附图说明
图1为本发明的数据降维方法流程图;
图2为本发明的基于MapReduce实现的并行化主成分分析处理过程图;
图3为本发明获取主成分矩阵的流程图。
具体实施方式
下面结合附图,进一步详细描述本发明的技术方案。
如图1,一种基于并行化主成分分析算法的数据降维方法,包括以下步骤:
S1:把待降维的数据按照每一行代表一个数据且行数代表样本数量的方式构造样本数据矩阵Dn×m,其中样本数据维数为m,样本数为n;
S2:根据用于数据处理的Hadoop集群节点环境,对样本数据矩阵Dn×m进行水平分割划分成N块(保证每一块能够加载到内存),即D={D1,D2,…,DN},把数据块分配到N台机器上分别进行处理,每台机器计算对应数据块的平方矩阵及和向量,实现Map过程,再把Map过程得到的中间结果进行汇总,实现Reduce过程,最后把汇总结果代入协方差矩阵计算公式,求得样本协方差矩阵Cm×m;
S3:通过求解协方差矩阵对应特征方程或通过奇异值分解方法,计算协方差矩阵Cm×m对应的m个特征值和对应的m个特征向量;
S4:对得到的特征值和特征向量基于特征值大小降序排列,并根据预先设定的方差率贡献大小,确定主成分数量k;
S5:由前k大特征值对应的特征向量构造变换矩阵TransMat,利用变换矩阵TransMat求得主成分矩阵,即降维后的数据矩阵。
所述构造样本数据矩阵Dn×m过程中待降维样本数据集X={x1,x2,…,xn},其中xi=(xi1,xi2,…,xim)表示一个样本,构造样本数据矩阵
如图2,计算样本数据矩阵Dn×m的协方差矩阵Cm×m过程包括子步骤:
S21:分配N个Mapper,每个Mapper的输入是一个键值对,其中值为每一块中对应的样本数据,以表示每个样本数据。每个Mapper的输出为键值对,所有Mapper的输出键相同,其值为对应的每一块的平方矩阵SquareMati及和向量VectorSumi;
S22:分配一个Reducer,该Reducer的输入是子步骤S21中每个Mapper的输出结果,具体输入形式为键值对,值为键相同的值的列表,Reducer的输出为键值对,值为整个样本矩阵的平方矩阵及和向量;
S23:将步骤S22中Reducer的汇总结果代入协方差矩阵公式
计算协方差矩阵Cm×m的m个特征值和对应的m个特征向量过程中,根据特征方程|C-λI|=0求得协方差矩阵Cm×m的m个特征值,然后把每个特征向量代入公式Cei=λiei,求得m个特征值,其特征值和对应的特征向量对为(λ1,e1),(λ2,e2),…,(λm,em)。
确定主成分数量k过程包括子步骤:
S41:对协方差矩阵Cm×m的所有特征值和其对应的特征向量基于特征值大小降序排列,假设λ1≥λ2≥…≥λm为排序后的特征值,其对应的特征向量分别为e1,e2,…,em;
S42:根据方差贡献率公式计算满足条件的最小k,即主成分数量。
如图3,计算主成分矩阵过程包括子步骤:
S51:根据步骤S41中得到的排序后的特征值和其对应的特征向量,取前k大特征值对应的特征向量构造变换矩阵TransMat=[e1,e2,…,ek];
S52:把原样本数据矩阵Dn×m与变换矩阵TransMat相乘,得到主成分矩阵,即降维后的数据。
步骤S52中,若待降维样本数据矩阵Dn×m能够一次性加载到内存,则直接将样本矩阵Dn×m与变换矩阵TransMat相乘。
步骤S52中,若待降维样本数据不能一次加载到内存,则对原样本数据矩阵Dn×m进行分块,分别计算每一块的主成分矩阵,即把每一数据块与变换矩阵TransMat相乘,然后合并所有数据块的主成分矩阵得到整个主成分矩阵。
Claims (4)
1.一种基于并行化主成分分析算法的数据降维方法,包括步骤:
S1:把待降维的高维数据构造成样本数据矩阵Dn×m;
S2:计算所述样本数据矩阵Dn×m的协方差矩阵Cm×m;
S3:计算所述协方差矩阵Cm×m的m个特征值和对应的m个特征向量;
S4:根据所述特征值和特征向量确定主成分数量k;
S5:利用前k大特征值对应的特征向量构造变换矩阵TransMat,利用变换矩阵计算主成分矩阵,所述主成分矩阵即是降维后的数据;
其特征在于,所述协方差矩阵Cm×m的计算,包括以下子步骤:
S21:分配N个映射函数Mapper;
S22:分配一个归约函数Reducer,所述Reducer的输入是所述每个Mapper的输出结果;
S23:将所述Reducer的汇总结果代入协方差矩阵计算公式。
2.根据权利要求1所述的一种基于主成分分析算法的数据降维方法,其特征在于,所述主成分数量k的计算,包括子步骤:
S41:对所述特征值和其对应的特征向量进行排序;
S42:根据方差贡献率公式计算满足条件的最小k,所述的最小k即是主成分数量k。
3.根据权利要求1所述的一种基于并行化主成分分析算法的数据降维方法,其特征在于,所述主成分矩阵的计算,包括以下子步骤:
S51:根据所述排序后的特征值和其对应的特征向量,取前k大特征值对应的特征向量构造变换矩阵TransMat;
S52:若待降维样本数据矩阵Dn×m能够一次性加载到内存,则将所述样本数据矩阵Dn×m与所述变换矩阵TransMat相乘得到主成分矩阵,即降维后的数据。
4.根据权利要求3所述的一种基于并行化主成分分析算法的数据降维方法,其特征在于,若待降维样本数据矩阵Dn×m不能一次加载到内存,则所述主成分矩阵的计算,包括以下子步骤:
S61:把所述样本数据矩阵Dn×m按照所述步骤S2中的分块方式进行分块;
S62:把所述步骤S61中每个数据块与所述变换矩阵TransMat进行相乘,得到该块的主成分矩阵;
S63:合并每一块所述步骤S62中的主成分矩阵得到整个样本数据的主成分矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710384662.7A CN107273917A (zh) | 2017-05-26 | 2017-05-26 | 一种基于并行化主成分分析算法的数据降维方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710384662.7A CN107273917A (zh) | 2017-05-26 | 2017-05-26 | 一种基于并行化主成分分析算法的数据降维方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107273917A true CN107273917A (zh) | 2017-10-20 |
Family
ID=60065348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710384662.7A Pending CN107273917A (zh) | 2017-05-26 | 2017-05-26 | 一种基于并行化主成分分析算法的数据降维方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107273917A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107315788A (zh) * | 2017-06-14 | 2017-11-03 | 电子科技大学 | 基于MapReduce的PCA降维处理流程 |
CN107742129A (zh) * | 2017-10-23 | 2018-02-27 | 中南大学 | 基于支持向量机近似模型的资源有限系统在线信息处理方法及装置 |
CN109039280A (zh) * | 2018-07-02 | 2018-12-18 | 福建农林大学 | 基于非主成分数据特征的光伏阵列故障诊断方法 |
CN109346750A (zh) * | 2018-09-14 | 2019-02-15 | 重庆大学 | 基于数据降维算法的燃料电池加载速率识别方法 |
CN110866551A (zh) * | 2019-11-06 | 2020-03-06 | 中法渤海地质服务有限公司 | 一种基于高相关滤波算法和pca算法的钻井数据降维方法 |
CN111028383A (zh) * | 2019-11-08 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 车辆行驶数据的处理方法及装置 |
CN112286923A (zh) * | 2020-11-05 | 2021-01-29 | 河海大学常州校区 | 一种智能制造资源数据预处理方法 |
CN112464154A (zh) * | 2020-11-27 | 2021-03-09 | 中国船舶重工集团公司第七0四研究所 | 一种基于无监督学习的自动筛选有效特征的方法 |
CN112685509A (zh) * | 2020-12-29 | 2021-04-20 | 通联数据股份公司 | 一种高维数据协同变化幅度识别方法及装置 |
CN113256436A (zh) * | 2021-07-02 | 2021-08-13 | 平安科技(深圳)有限公司 | 车险赔付预提示方法、装置、设备及存储介质 |
US11164658B2 (en) | 2019-05-28 | 2021-11-02 | International Business Machines Corporation | Identifying salient features for instances of data |
CN114815436A (zh) * | 2022-04-21 | 2022-07-29 | 电子科技大学 | 基于邻域采样主成分分析的光学相控阵阵元互耦补偿方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020640A (zh) * | 2012-11-28 | 2013-04-03 | 金陵科技学院 | 基于二维主成分分析法的人脸图像降维分类方法 |
CN104408440A (zh) * | 2014-12-10 | 2015-03-11 | 重庆邮电大学 | 一种基于两步降维和并行特征融合的人脸表情识别方法 |
CN104702465A (zh) * | 2015-02-09 | 2015-06-10 | 桂林电子科技大学 | 一种并行网络流量分类方法 |
CN106204246A (zh) * | 2016-08-18 | 2016-12-07 | 易联众信息技术股份有限公司 | 一种基于主成分分析法的bp神经网络信用评估方法 |
-
2017
- 2017-05-26 CN CN201710384662.7A patent/CN107273917A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020640A (zh) * | 2012-11-28 | 2013-04-03 | 金陵科技学院 | 基于二维主成分分析法的人脸图像降维分类方法 |
CN104408440A (zh) * | 2014-12-10 | 2015-03-11 | 重庆邮电大学 | 一种基于两步降维和并行特征融合的人脸表情识别方法 |
CN104702465A (zh) * | 2015-02-09 | 2015-06-10 | 桂林电子科技大学 | 一种并行网络流量分类方法 |
CN106204246A (zh) * | 2016-08-18 | 2016-12-07 | 易联众信息技术股份有限公司 | 一种基于主成分分析法的bp神经网络信用评估方法 |
Non-Patent Citations (1)
Title |
---|
侯咏佳: "主成分分析算法的FPGA实现", 《机电工程》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107315788A (zh) * | 2017-06-14 | 2017-11-03 | 电子科技大学 | 基于MapReduce的PCA降维处理流程 |
CN107742129A (zh) * | 2017-10-23 | 2018-02-27 | 中南大学 | 基于支持向量机近似模型的资源有限系统在线信息处理方法及装置 |
CN109039280A (zh) * | 2018-07-02 | 2018-12-18 | 福建农林大学 | 基于非主成分数据特征的光伏阵列故障诊断方法 |
CN109346750B (zh) * | 2018-09-14 | 2021-09-07 | 重庆大学 | 基于数据降维算法的燃料电池加载速率识别方法 |
CN109346750A (zh) * | 2018-09-14 | 2019-02-15 | 重庆大学 | 基于数据降维算法的燃料电池加载速率识别方法 |
US11164658B2 (en) | 2019-05-28 | 2021-11-02 | International Business Machines Corporation | Identifying salient features for instances of data |
CN110866551A (zh) * | 2019-11-06 | 2020-03-06 | 中法渤海地质服务有限公司 | 一种基于高相关滤波算法和pca算法的钻井数据降维方法 |
CN110866551B (zh) * | 2019-11-06 | 2022-11-15 | 中法渤海地质服务有限公司 | 一种基于高相关滤波算法和pca算法的钻井数据降维方法 |
CN111028383A (zh) * | 2019-11-08 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 车辆行驶数据的处理方法及装置 |
CN112286923A (zh) * | 2020-11-05 | 2021-01-29 | 河海大学常州校区 | 一种智能制造资源数据预处理方法 |
CN112286923B (zh) * | 2020-11-05 | 2023-06-20 | 河海大学常州校区 | 一种智能制造资源数据预处理方法 |
CN112464154B (zh) * | 2020-11-27 | 2024-03-01 | 中国船舶重工集团公司第七0四研究所 | 一种基于无监督学习的自动筛选有效特征的方法 |
CN112464154A (zh) * | 2020-11-27 | 2021-03-09 | 中国船舶重工集团公司第七0四研究所 | 一种基于无监督学习的自动筛选有效特征的方法 |
CN112685509A (zh) * | 2020-12-29 | 2021-04-20 | 通联数据股份公司 | 一种高维数据协同变化幅度识别方法及装置 |
CN112685509B (zh) * | 2020-12-29 | 2022-08-02 | 通联数据股份公司 | 一种高维数据协同变化幅度识别方法及装置 |
CN113256436A (zh) * | 2021-07-02 | 2021-08-13 | 平安科技(深圳)有限公司 | 车险赔付预提示方法、装置、设备及存储介质 |
CN114815436A (zh) * | 2022-04-21 | 2022-07-29 | 电子科技大学 | 基于邻域采样主成分分析的光学相控阵阵元互耦补偿方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273917A (zh) | 一种基于并行化主成分分析算法的数据降维方法 | |
CN111755078B (zh) | 药物分子属性确定方法、装置及存储介质 | |
Bhimani et al. | Accelerating K-Means clustering with parallel implementations and GPU computing | |
EP3267310A1 (en) | Data processing method and device | |
CN112651509A (zh) | 量子线路的确定方法及装置 | |
Jiang et al. | Training binary neural network without batch normalization for image super-resolution | |
CN113657397B (zh) | 循环生成网络模型的训练方法、建立字库的方法和装置 | |
WO2023231794A1 (zh) | 一种神经网络参数量化方法和装置 | |
CN106528490A (zh) | 一种fpga异构加速计算装置及系统 | |
Imakura et al. | Collaborative data analysis: Non-model sharing-type machine learning for distributed data | |
CN116386899A (zh) | 基于图学习的药物疾病关联关系预测方法及相关设备 | |
CN112216353B (zh) | 一种用于预测药物-靶标相互作用关系的方法和设备 | |
CN116644804A (zh) | 分布式训练系统、神经网络模型训练方法、设备和介质 | |
Weerapurage et al. | Parallel vertex cover: A case study in dynamic load balancing | |
Shi et al. | A clonal selection optimization system for multiparty secure computing | |
CN114268625B (zh) | 特征选择方法、装置、设备及存储介质 | |
CN112784967B (zh) | 信息处理方法、装置以及电子设备 | |
Zhou et al. | Lite-YOLOv3: a real-time object detector based on multi-scale slice depthwise convolution and lightweight attention mechanism | |
Chen et al. | DWFed: A statistical-heterogeneity-based dynamic weighted model aggregation algorithm for federated learning | |
CN110874615B (zh) | 特征聚类处理方法、集群服务器及可读存储介质 | |
CN110147804B (zh) | 一种不平衡数据处理方法、终端及计算机可读存储介质 | |
CN108509984A (zh) | 激活值量化训练方法及装置 | |
US10204381B2 (en) | Reciprocal distribution calculating method and reciprocal distribution calculating system for cost accounting | |
CN112818406B (zh) | 一种评分卡模型的预测方法及装置 | |
CN107861794A (zh) | 一种在云计算系统中建立虚拟机的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171020 |