算法理解之主成分分析法

主成分分析法就是通过正交变换将存在相关性的原始变量变量转换成不相关的新变量,将其中贡献度低的变量舍弃掉,贡献度可以理解为变量的方差,方差越大,贡献度越高,正交变换前后变量存在的信息量是相同的,只是把更多的信息集中起来,舍弃存在少量信息的变量,达到降维的目的。

运用主成分的前提是变量之间存在相关性

主成分分析法的实质的正交变换,正交变换实质就是矩阵的对角化,使得协方差矩阵为对角矩阵,各个变量之间的相关性为0。

如何确定主成分数量,累计贡献度达到90%左右

如何确定主成分所代表的的含义:通过找到荷载矩阵每一行的绝对值最大值,例如下图

小结

原文地址:https://www.cnblogs.com/fengyeqiubai/p/8627696.html

时间: 2024-10-11 06:14:47

算法理解之主成分分析法的相关文章

Horn–Schunck 光流法与其算法理解(gup cuda)

1. 基于Horn-Schunck模型的光流算法 1.1     光流的约束条件 光流 的假设条件认为图像序列,在时间t 的某一像素点与在时间t+1的这一像素点的偏移量保持不变,即 .这就是灰度值守恒假设,通过Taylor展开,就能得到光流的约束条件(OFC): ,其中下标表示图像的梯度. 1.2     Horn-Schunck 模型 1981年,Horn和Schunck根据同一个运动物体的光流场具有连续.平滑的特点, 提出一个附加约束条件,将光流场的整体平滑约束转换为一个变分的问题.它的能量

主成分分析法原理及其python实现

主成分分析法原理及其python实现 前言: 这片文章主要参考了Andrew Ng的Machine Learning课程讲义,我进行了翻译,并配上了一个python演示demo加深理解. 本文主要介绍一种降维算法,主成分分析法,Principal Components Analysis,简称PCA,这种方法的目标是找到一个数据近似集中的子空间,至于如何找到这个子空间,下文会给出详细的介绍,PCA比其他降维算法更加直接,只需要进行一次特征向量的计算即可.(在Matlab,python,R中这个可以

主成分分析法

目录 主成分分析法 一.主成分分析的理解 二.使用梯度上升法求解PCA 三.求数据的前n个主成分 四.将高维数据向低维数据映射 五.scikit-learn中的PCA 六.对真实数据集MNIST使用PCA 七.使用PCA降噪 八.PCA与人脸识别 我是尾巴: 主成分分析法 主成分分析法:(Principle Component Analysis, PCA),是一个非监督机器学习算法,主要用于数据降维,通过降维,可以发现便于人们理解的特征,其他应用:可视化和去噪等. 一.主成分分析的理解 ? 先假

[计算机图形学] 基于C#窗口的Bresenham直线扫描算法、种子填充法、扫描线填充法模拟软件设计(一)

一.首先说明: 这是啥? —— 这是利用C#FORM写的一个用来演示计算机图形学中 ①Bresenham直线扫描算法(即:连点成线):②种子填充法(即:填充多边形):③扫描线填充法 有啥用? ——  无论是连点成线还是区域填充在高级编程中基本上都提供很高效的库函数来调用.这里拿出这些算法一方面有利于大家理解那些封装的函数底层是实现:另一方面是方便嵌入式TFT屏幕底层驱动开发时借鉴的. 是啥样? ——  如下面的操作,不言而喻. 二.进入正题: 2-1.直线的扫描转换 图形的扫描转换实质就是在光栅

[数学模型]主成分分析法python实现

def pca(dataMat, topNfeat=9999999): #数据矩阵, 输出前topNfeat个feat meanVals = mean(dataMat, axis=0) # 计算平均值 meanRemoved = dataMat - meanVals covMat = cov(meanRemoved, rowvar=0) #计算协方差矩阵 eigVals,eigVects = linalg.eig(mat(covMat)) #特征值, eigValInd = argsort(ei

Levenberg-Marquardt迭代(LM算法)-改进Newton法

                  1.前言                                    a.对于工程问题,一般描述为:从一些测量值(观测量)x 中估计参数 p?即x = f(p),                                 其中,x为测量值构成的向量,参数p为待求量,为了让模型能适应一般场景,这里p也为向量.                                 这是一个函数求解问题,可以使用Guass-Newton法进行求解,LM算法

C语言排序算法之简单交换法排序,直接选择排序,冒泡排序

C语言排序算法之简单交换法排序,直接选择排序,冒泡排序,最近考试要用到,网上也有很多例子,我觉得还是自己写的看得懂一些. 简单交换法排序 1 /*简单交换法排序 2 根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置 3 交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动 4 不稳定 5 */ 6 #include<windows.h> 7 #include<stdio.h> 8 void main(){ 9 int i,j,arr[10

基础算法之二——枚举法

基础算法之二--枚举法"赛利的硬币" 题目描述 赛利有 12枚银币.其中有 11枚真币和1枚假币.假币看起来和真币没有区别,但是重量不同.但赛利不知道假币比真币轻还是重.于是他向朋友借了一架天平.朋友希望赛利称三次就能找出假币并且确定假币是轻是重.例如:如果赛利用天平称两枚硬币,发现天平平衡,说明两枚都是真的.如果赛利用一枚真币与另一枚银币比较,发现它比真币轻或重,说明它是假币.经过精心安排每次的称量,赛利保证在称三次后确定假币. 输入数据 输入有三行,每行表示一次称量的结果.赛利事先

降维之主成分分析法(PCA)

一.主成分分析法的思想 我们在研究某些问题时,需要处理带有很多变量的数据,比如研究房价的影响因素,需要考虑的变量有物价水平.土地价格.利率.就业率.城市化率等.变量和数据很多,但是可能存在噪音和冗余,因为这些变量中有些是相关的,那么就可以从相关的变量中选择一个,或者将几个变量综合为一个变量,作为代表.用少数变量来代表所有的变量,用来解释所要研究的问题,就能从化繁为简,抓住关键,这也就是降维的思想. 主成分分析法(Principal Component Analysis,PCA)就是一种运用线性代