美文网首页
2019-10-20PCA降维算法理解

2019-10-20PCA降维算法理解

作者: bcl_hx | 来源:发表于2019-10-21 21:51 被阅读0次

多变量的大数据含丰富的信息,但也增加数据分析工作量。更重要的是在很多情形下,许多变量之间可能存在相关性,从而增加问题的复杂性。
找到合理方法,减少分析的指标同时,尽量减少原指标包含信息的损失,以达到对所收集数据进行全面分析的目的。
由于各变量之间存在一定的相关关系,因此可以考虑将关系紧密的变量变成尽可能少的新变量,使这些新变量是两两不相关的,那么就可以用较少的综合指标分别代表存在于各个变量中的各类信息。PCA就属于这类降维算法。

PCA概述

1.用途:通过线性变换将原始数据变换为一组各维度线性无关,用于提取数据的主要特征分量,主要用于高维数据的降维。
2.目标:提取最有价值的信息(基于方差)——低维中能够更好概括数据。
3.问题:降维后的意义?
降维前:数据有实际的物理意义。
降维后:矩阵变换,导致物理意义也随着消失,要的是结果而不是过程。根据Eigenvalues从大到小排序,使前几个维度能够解释大部分方差变异。
4.属于无监督问题:即便不知道每一类数据标签是什么,也可以用PCA。不是基于标签而是基于方差。

总体思路:

流程图

PCA算法:

总结一下PCA的算法步骤:
设有M条N维数据。
1)将原始数据按列组成N行M列矩阵X。
2)将X的每行每个数进行归一化(零均值化),即减去这一行的均值
3)求出X协方差矩阵:


注:对角线上的元素为方差,其他元素为协方差,协方差越大,两者对彼此影响也就越大(降维也不好分出来),所以要求降维后的数据协方差为0.
4)求出协方差矩阵的特征值及对应的特征向量。


5)根据特征值从大—小,将特征向量从上到下按行排列成矩阵。
注:特征值体现当前特征向量重要程度。
注:若要降到R为则取前R行组成P。
6)Y=PX即为降维到k维后的数据


意义:将X矩阵中的每一个列向量变换到P矩阵每一行的行向量为基所表示的空间里。
7)为什么可以这么做?[Y即为降到K维后的合理]
Y的协方差矩阵可以化为:


因为协方差矩阵为实对称矩阵,可以进行对角化:


即Y矩阵的协方差矩阵对角线外的元素(协方差均为0),说明互相之间的影响小,降维后能分出来。

相关文章

  • 2019-10-20PCA降维算法理解

    多变量的大数据含丰富的信息,但也增加数据分析工作量。更重要的是在很多情形下,许多变量之间可能存在相关性,从而增加问...

  • ML-主成分分析PCA与梯度上升法

    算法特点非监督机器学习算法,主要用于数据降维;降维可以提高算法效率,同时帮助可视化,以便于人类理解更好的理解数据;...

  • PCA

    PCA降维 一、算法原理 降维算法 还原算法 二、算法实现 三、scikit-learn PCA 四、PCA降噪 ...

  • 降维算法之PCA

    机器学习降维算法

  • Sklearn中的降维究竟是如何实现的

    sklearn中的降维算法 1. PCA与SVD sklearn中降维算法都被包括在模块decomposition...

  • 吴恩达机器学习-Chapter 15 降维

    目的:降维的应用、概念、及算法。降维的3个目的:数据压缩、加速算法(缩小特征变量)、数据可视化。降维本身也是一种无...

  • 基于Spark的机器学习实践 (十) - 降维

    通过讲解PCA算法的原理,使大家明白降维算法的大致原理,以及能够实现怎么样的功能。结合应用降维算法在分类算法使用之...

  • PCA算法实现

    前言 PCA算法是数据降维中最常用的算法之一,利用PCA算法实现的数据降维能够有效减少算法运行时间和算法对硬件的消...

  • 你见过最全的主成分分析PAC与梯度上升法总结

    主成分分析一个非监督学习算法,主要用于数据降维,通过降维可以发现数据更容易理解的特征,其他作用也有可视化、降噪等。...

  • Python机器学习(四):PCA 主成分分析

    主成分分析法是一个非监督的机器学习算法,主要用于数据的降维。通过降维,可以发现更便于人类理解的特征。 求解目标 主...

网友评论

      本文标题:2019-10-20PCA降维算法理解

      本文链接:https://www.haomeiwen.com/subject/xyfamctx.html