[原创]Liu_LongPo 转载请注明出处 [CSDN]http://blog.csdn.net/llp1992 PCA算法前面在前面的博客中已经有介绍,这里简单在描述一下,更详细的PCA算法请参考我的博客: 机器学习实战ByMatlab(二)PCA算法 PCA 的主要计算步骤 1.数据预处理,使得每一维数据都有相同的均值0 2.计算数据的协方差矩阵,Σ=1m∑mi=1(x(i))(x(i))TΣ=1m∑i=1m(x(i))(x(i))T 3.对协方差矩阵 ΣΣ 进行奇异值分解,得到特征值 u…
预处理:主成分分析与白化 Preprocessing:PCA and Whitening 一主成分分析 PCA 1.1 基本术语 主成分分析 Principal Components Analysis 白化 whitening 亮度 intensity 平均值 mean 方差 variance 协方差矩阵 covariance matrix 基 basis 幅值 magnitude 平稳性 stationarity 特征向量 eigenvector 特征值 eigenvalue 1.2 介绍 主…
主成分分析与白化是在做深度学习训练时最常见的两种预处理的方法,主成分分析是一种我们用的很多的降维的一种手段,通过PCA降维,我们能够有效的降低数据的维度,加快运算速度.而白化就是为了使得每个特征能有同样的方差,降低相邻像素的相关性. 主成分分析PCA PCA算法可以将输入向量转换为一个维数低很多的近似向量.我们在这里首先用2D的数据进行试验,其数据集可以在UFLDL网站的相应页面http://ufldl.stanford.edu/wiki/index.php/Exercise:PCA_in_2D…
1PCA ①PCA的作用:一是降维:二是可用于数据可视化: 注意:降维的原因是因为原始数据太大,希望提高训练速度但又不希望产生很大的误差. ② PCA的使用场合:一是希望提高训练速度:二是内存太小:三是希望数据可视化. ③用PCA前的预处理:(1)规整化特征的均值大致为0:(2)规整化不同特征的方差值彼此相似. 对于自然图片,即使不进行方差归一化操作,条件(2)也自然满足,故而我们不再进行任何方差归一化操作(对音频数据,如声谱,或文本数据,如词袋向量,我们通常也不进行方差归一化).非自然图像有手…
首先将本节主要内容记录下来.然后给出课后习题的答案. 笔记: :首先我想推导用SVD求解PCA的合理性. PCA原理:如果样本数据X∈Rm×n.当中m是样本数量,n是样本的维数.PCA降维的目的就是为了使将数据样本由原来的n维减少到k维(k<n).方法是找数据随之变化的主轴,在Andrew Ng的网易公开课上我们知道主方向就是X的协方差所相应的最大特征值所相应的特征向量的方向(前提是这里X在维度上已经进行了均值归一化). 在matlab中我们通常能够用princomp函数来求解,具体见:http…
主成分分析(PCA)是用来提升无监督特征学习速度的数据降维算法.看过下文大致可以知道,PCA本质是对角化协方差矩阵,目的是让维度之间的相关性最小(降噪),保留下来的维度能量最大(去冗余),PCA在图像数据的降维上很实用,因为图像数据相邻元素的相关性是很高的. 为了方便解释,我们以二维数据降一维为例(实际应用可能需要把数据从256降到50): 需要注意的是,两个特征值经过了预处理,其均值为零,方差相等,下文会解释其原因,不过在图像处理上,方差的预处理过程就没必要了. 从上图可以看出,数据主要向两个…
UFLDL(Unsupervised Feature Learning and Deep Learning)Tutorial 是由 Stanford 大学的 Andrew Ng 教授及其团队编写的一套教程,内容深入浅出,有很强的实用性,学习起来,让人有种酣畅淋漓的感觉.邓侃博士于今年 2 月 20 日起,在新浪微博上召集志愿者对该教程进行翻译,并于 4 月 8 日全部完成,非常感谢所有参与者的辛勤劳动.本系列文章主要是对这套教程资料的整理,部分内容加入了自己的一些理解和注释. 第二篇  预处理:…
参考链接:http://deeplearning.stanford.edu/wiki/index.php/%E4%B8%BB%E6%88%90%E5%88%86%E5%88%86%E6%9E%90 http://deeplearning.stanford.edu/wiki/index.php/%E7%99%BD%E5%8C%96 引言 主成分分析(PCA)是一种能够极大提升无监督特征学习速度的数据降维算法.更重要的是,理解PCA算法,对实现白化算法有很大的帮助,很多算法都先用白化算法作预处理步骤…
主成分分析(PCA)是一种能够极大提升无监督特征学习速度的数据降维算法.更重要的是,理解PCA算法,对实现白化算法有很大的帮助,很多算法都先用白化算法作预处理步骤.这里以处理自然图像为例作解释. 1.计算协方差矩阵:   按照通常约束,x为特征变量,上边表示样本数目,下标表示特征数目.这里样本数为m. xRot = zeros(size(x)); sigma=x*x'/size(x,2); %sigma为协方差矩阵 [U,S,V]=svd(sigma); %U为特征向量,X为特征值,V为U的转置…
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征.依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的. 其格式一般为: #Pragma Para 其中Para 为参数,下面来看一些常用的参数. ()message 参数. Message 参数是我最喜欢的一个参数,它能够在编译信息输出窗口中输出…