跟我学算法-PCA(降维)基本原理推导

Pca首先

1.对数据进行去均值

2.构造一个基本的协方差矩阵1/m(X)*X^T

3对协方差矩阵进行变化,得到对角化矩阵,即对角化上有数值,其他位置上的数为0(协方差为0),即求特征值和特征向量的过程

4.求得特征向量的单位化矩阵,单位化特征向量矩阵*原始数据(去均值后的)即降维操作,单位化特征向量的维度决定了降维的维度

以下是实际推导过程

实例求解过程

原文地址:https://www.cnblogs.com/my-love-is-python/p/9784657.html

时间: 2024-11-25 16:18:52

跟我学算法-PCA(降维)基本原理推导的相关文章

机器学习算法-PCA降维技术

机器学习算法-PCA降维 一.引言 在实际的数据分析问题中我们遇到的问题通常有较高维数的特征,在进行实际的数据分析的时候,我们并不会将所有的特征都用于算法的训练,而是挑选出我们认为可能对目标有影响的特征.比如在泰坦尼克号乘员生存预测的问题中我们会将姓名作为无用信息进行处理,这是我们可以从直观上比较好理解的.但是有些特征之间可能存在强相关关系,比如研究一个地区的发展状况,我们可能会选择该地区的GDP和人均消费水平这两个特征作为一个衡量指标.显然这两者之间是存在较强的相关关系,他们描述的都是该地区的

PCA 降维算法详解 以及代码示例

转载地址:http://blog.csdn.net/watkinsong/article/details/38536463 1. 前言 PCA : principal component analysis ( 主成分分析) 最近发现我的一篇关于PCA算法总结以及个人理解的博客的访问量比较高, 刚好目前又重新学习了一下PCA (主成分分析) 降维算法, 所以打算把目前掌握的做个全面的整理总结, 能够对有需要的人有帮助. 自己再看自己写的那个关于PCA的博客, 发现还是比较混乱的, 希望这里能过做好

sklearn中的降维算法PCA和SVD

sklearn中的降维算法PCA和SVD 1 概述 1.1 从什么叫“维度”说开来 1.2 sklearn中的降维算法 2 PCA与SVD 2.1 降维究竟是怎样实现? 2.2 重要参数n_components 2.2.1 迷你案例:高维数据的可视化 2.2.2 最大似然估计自选超参数 2.2.3 按信息量占比选超参数 2.3 PCA中的SVD 2.3.1 PCA中的SVD哪里来? 2.3.2 重要参数svd_solver 与 random_state 2.3.3 重要属性components_

机器学习公开课笔记(8):k-means聚类和PCA降维

K-Means算法 非监督式学习对一组无标签的数据试图发现其内在的结构,主要用途包括: 市场划分(Market Segmentation) 社交网络分析(Social Network Analysis) 管理计算机集群(Organize Computer Clusters) 天文学数据分析(Astronomical Data Analysis) K-Means算法属于非监督式学习的一种,算法的输入是:训练数据集$\{x^{(1)},x^{(2)},\ldots, x^{(m)}\}$(其中$x^

sklearn pca降维

PCA降维 一.原理 这篇文章总结的不错PCA的数学原理. PCA主成分分析是将原始数据以线性形式映射到维度互不相关的子空间.主要就是寻找方差最大的不相关维度.数据的最大方差给出了数据的最重要信息. 二.优缺点 优:将高维数据映射到低维,降低数据的复杂性,识别最重要的多个特征 不足:不一定需要,且可能损失有用信息 适用数值型数据 三.步骤 1.原始数据X,对于每列属性,去平均值(也可以对数值进行标准分化) 2.计算样本点的协方差矩阵(列间两两计算相关性) 3.求出协方差矩阵的特征值和对应的特征向

PCA降维

1.1算法流程 假设有m个samples,每个数据有n维. 1. 计算各个feature的平均值,计μj ;(Xj(i)表示第i个样本的第j维特征的value) μj = Σm Xj(i)/m meanVals = mean(dataMat, axis=0) 2. 将每一个feature scaling:将在不同scale上的feature进行归一化: 3. 将特征进行mean normalization Xj(i)= (Xj(i)-μj)/sj meanRemoved = dataMat -

PCA降维demo

PCA(Principal Components Analysis)主成分分析法是一种常用的减小数据维度的算法. 能力有限在这里就不做过多的数学分析了,具体原理可参见http://ufldl.stanford.edu/tutorial/unsupervised/PCAWhitening/ 以及更具体的CS229 这里结合网上代码做个简单的示例 static Mat formatImagesForPCA(const vector<Mat> &data) { Mat dst(static_

Python 之 sklearn 实现 PCA 降维

关于 PCA 算法的讲解文章不胜枚举,这里主要谈一谈 基于 Python 中 sklearn 模块的 PCA 算法实现.Explained Variance 累计贡献率 又名 累计方差贡献率 不要简单理解为 解释方差,它是 PCA 降维维度的重要指标,一般选取累计贡献率在90%左右的维度作为PCA 降维的参考维度.在识别算法的实现过程中,当我们求得某一数据库各类别特征参考维度时,取最大维度作为每一类特征的维度,即可实现数据降维.现对数据求取累计贡献率,算法实现如下. import numpy f

PCA降维简介

PCA全称为principal componentanalysis,即主成成分分析,用于降维.对数据进行降维有很多原因.比如: 1:使得数据更易显示,更易懂 2:降低很多算法的计算开销 3:去除噪声 一:基本数学概念 1:方差 均值太简单了,不说了.方差是各个数据分别与其和的平均数之差的平方的和的平均数,用字母D表示.计算公式如下: 其中x-为均值,也可以表示为EX,则方差计算又可写成: 2:协方差及协方差矩阵 协方差用于衡量两个变量的总体误差情况,可以说方差是协方差的一种特殊情况,即当两个变量