欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 人工智能 > pytorch >内容正文

pytorch

深度学习入门教程UFLDL学习实验笔记三:主成分分析PCA与白化whitening

发布时间:2025/3/21 pytorch 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 深度学习入门教程UFLDL学习实验笔记三:主成分分析PCA与白化whitening 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
 深度学习入门教程UFLDL学习实验笔记三:主成分分析PCA与白化whitening

主成分分析与白化是在做深度学习训练时最常见的两种预处理的方法,主成分分析是一种我们用的很多的降维的一种手段,通过PCA降维,我们能够有效的降低数据的维度,加快运算速度。而白化就是为了使得每个特征能有同样的方差,降低相邻像素的相关性。

主成分分析PCA

PCA算法可以将输入向量转换为一个维数低很多的近似向量。我们在这里首先用2D的数据进行试验,其数据集可以在UFLDL网站的相应页面http://ufldl.stanford.edu/wiki/index.php/Exercise:PCA_in_2D找到并下载。

第一步:首先我们需要获取旋转矩阵U,为了实现这一目的,我们使用MATLAB里面的SVD函数:

?
1 2 3 4 u = zeros(size(x, 1)); % You need to compute this [n,m]=size(x) sigma=(x*(x'))/m; [u,s,v]=svd(sigma);

我们把旋转矩阵的向量,第一个向量和第二个向量显示出来

可以看到,U的两列分别代表着在数据集的各个方向,第一列是从左下到右上,第二列的是左上到右下的那一条。

?
1 2 xRot = zeros(size(x)); % You need to compute this xRot=u'*x;

将旋转矩阵的转置与x相乘得到旋转后的矩阵。

第二步降维:第一列代表着整个数据的主方向,因此我们可以用第一列的转置与x相乘来将数据映射到一维。对于这个一维的数据,在用第一列与之相乘,即可得到降维之后的结果。

?
1 2 xHat = zeros(size(x)); % You need to compute this xHat=(u(:,1:k))*(u(:,1:k)')*x;

白化

白话的左右

本博客(http://www.cnblogs.com/cj695/)未标明转载的内容均为本站原创,非商业用途转载时请署名(77695)并注明来源(http://www.cnblogs.com/cj695/)。商业用途请联系作者(77695)QQ:646710030。作者(77695)保留本博客所有内容的一切权利。

总结

以上是生活随笔为你收集整理的深度学习入门教程UFLDL学习实验笔记三:主成分分析PCA与白化whitening的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。