zoukankan      html  css  js  c++  java
  • 深度学习入门教程UFLDL学习实验笔记三:主成分分析PCA与白化whitening

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

    主成分分析PCA

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

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

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

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

    image

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

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

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

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

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

    image

    白化

    白话的左右

  • 相关阅读:
    pyspark创建RDD数据、RDD转DataFrame以及保存
    pyspark将DataFrame转成table以及操作sql语句
    pyspark读取textfile形成DataFrame以及查询表的属性信息
    sql-lab闯关之20-22
    sql-lib闯关之lesson17-19
    sql-lab闯关之13-16
    sql-lab闯关之11-12
    sql-lib闯关之lesson8-10
    sql-lab闯关之7
    sql-lib闯关之5-6
  • 原文地址:https://www.cnblogs.com/cj695/p/4520550.html
Copyright © 2011-2022 走看看