PCA whitening
对输入数据,维度为2时,想要把数据降维1维:
数据的主方向就是旋转数据的第一维。因此,若想把这数据降到一维,可令:
数据已经进行预处理(零均值),使得每个特征和
具有相同的均值和方差。
PCA算法将寻找一个低维空间来投影我们的数据。从下图中可以看出,是数据变化的主方向,而
是次方向。
为更形式化地找出方向和
,我们首先计算出协方差矩阵
,如下所示:
就是协方差矩阵的主特征向量,而
是次特征向量。(按照特征值得大小选取)
向量和
构成了一个新基,可以用来表示数据。那么
就是样本点
在维度
上的投影的长度(幅值)。同样的,
是
投影到
维度上的幅值。
在本例中,可得的点图如下(取
):
协方差:为了衡量两个数据的相关性,一个数据朝大于均值的方向走的趋势时,另一个数据如果朝小于均值的方向走,趋势相反,协方差值为负的,负相关;如果另一个数据同意朝大于均值的方向变化,协方差为正值,正相关。如果协方差值为0,不相关。
数据白化就是为降低训练数据的冗余,降低输入的冗余性
由前面的例子,特征的分布如下图所示:
这个数据的协方差矩阵如下:
和
是不相关的, 满足我们对白化结果的第一个要求 (特征间相关性降低)。为了使每个输入特征具有单位方差,我们可以直接使用
作为缩放因子来缩放每个特征
。具体地,我们定义白化后的数据
如下:
绘制出 ,我们得到:
这些数据现在的协方差矩阵为单位矩阵 。我们说,
是数据经过PCA白化后的版本:
中不同的特征之间不相关并且具有单位方差。
拿图像为例,图像中的像素之间存在很强的相关性。(在图像处理中,一个像素与相邻像素的灰度值之间有联系,所以可以利用这一点进行图像压缩)。白化就是为了减少冗余也就是减少这种相关性。PCA白化在减少特征之间相关性的处理方法与PCA算法相同,找到一个新的基,将数据投影到新的基上,也就是将原始数据做旋转变化,达到减少相关性的目标。但PCA白化与PCA有一点不同,就是处理后的数据的方差为单位方差。主要是将主轴上的数据进行了缩放处理。
ZCA白化是在PCA白化后的数据基础上做处理,主要是对数据进行旋转,使数据比较好的接近原始数据,并没有减少数据特征之间的相关性。
PCA与白化,
就是对输入数据进行预处理,
前者对数据进行降维,后者对数据进行方差处理。
PCA whitening的更多相关文章
- (六)6.8 Neurons Networks implements of PCA ZCA and whitening
PCA 给定一组二维数据,每列十一组样本,共45个样本点 -6.7644914e-01 -6.3089308e-01 -4.8915202e-01 ... -4.4722050e-01 -7.4 ...
- UFLDL教程之(三)PCA and Whitening exercise
Exercise:PCA and Whitening 第0步:数据准备 UFLDL下载的文件中,包含数据集IMAGES_RAW,它是一个512*512*10的矩阵,也就是10幅512*512的图像 ( ...
- Deep Learning学习随记(二)Vectorized、PCA和Whitening
接着上次的记,前面看了稀疏自编码.按照讲义,接下来是Vectorized, 翻译成向量化?暂且这么认为吧. Vectorized: 这节是老师教我们编程技巧了,这个向量化的意思说白了就是利用已经被优化 ...
- CS229 6.8 Neurons Networks implements of PCA ZCA and whitening
PCA 给定一组二维数据,每列十一组样本,共45个样本点 -6.7644914e-01 -6.3089308e-01 -4.8915202e-01 ... -4.4722050e-01 -7.4 ...
- PCA和Whitening
PCA: PCA的具有2个功能,一是维数约简(可以加快算法的训练速度,减小内存消耗等),一是数据的可视化. PCA并不是线性回归,因为线性回归是保证得到的函数是y值方面误差最小,而PCA是保证得到的函 ...
- 【DeepLearning】Exercise:PCA and Whitening
Exercise:PCA and Whitening 习题链接:Exercise:PCA and Whitening pca_gen.m %%============================= ...
- 【转】PCA与Whitening
PCA: PCA的具有2个功能,一是维数约简(可以加快算法的训练速度,减小内存消耗等),一是数据的可视化. PCA并不是线性回归,因为线性回归是保证得到的函数是y值方面误差最小,而PCA是保证得到的函 ...
- DL四(预处理:主成分分析与白化 Preprocessing PCA and Whitening )
预处理:主成分分析与白化 Preprocessing:PCA and Whitening 一主成分分析 PCA 1.1 基本术语 主成分分析 Principal Components Analysis ...
- PCA and Whitening on natural images
Step 0: Prepare data Step 0a: Load data The starter code contains code to load a set of natural imag ...
随机推荐
- 关于python性能相关测试cProfile库
http://blog.csdn.net/gzlaiyonghao/article/details/1483728 收藏一个大神对这个问题的介绍. 我就不多做污染了.另外还有两个 增强库可以针对cPr ...
- JIRA & GitHub
JIRA & GitHub https://confluence.atlassian.com/adminjiracloud/connect-jira-cloud-to-github-81418 ...
- ZooKeeper客户端 zkCli.sh 节点的增删改查
zkCli.sh 在 bin 目录下的 zkCli.sh 就是ZooKeeper客户端 ./zkCli.sh -timeout 5000 -server 127.0.0.1:2181 客户端与 ...
- 斜率DP个人理解
斜率DP 斜率DP的一版模式:给你一个序列,至多或分成m段,每段有花费和限制,问符合情况的最小花费是多少: 一版都用到sum[],所以符合单调,然后就可以用斜率优化了,很模板的东西: 如果看不懂可以先 ...
- POJ1611-The Suspects-并查集
记录元素个数的并查集. 利用sz数组保存并查集的大小.每次union时,把小的集合并到大的中去,并更新sz数组. #include <cstdio> #include <algori ...
- xml和对象 转换
//测试数据 static List<User> list = new List<User>() { new User(){id=1001 ,name="语文&quo ...
- 2017ACM/ICPC亚洲区沈阳站-重现赛
HDU 6222 Heron and His Triangle 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6222 思路: 打表找规律+大数运算 首先我 ...
- 【刷题】AtCoder Regular Contest 001
A.センター採点 题意:给一个只包含1.2.3.4的字符串,求出现次数最多和最少的字符 做法:还能怎么做... #include<bits/stdc++.h> #define ui uns ...
- 【AGC005F】Many Easy Problems (NTT)
Description 给你一棵\(~n~\)个点的树和一个整数\(~k~\).设为\(~S~\)为树上某些点的集合,定义\(~f(S)~\)为最小的包含\(~S~\)的联通子图的大小.\(~n~ ...
- Leetcode 191.位1的个数 By Python
编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量). 示例 : 输入: 11 输出: 3 解释: 整数 11 的二进制表示为 00000000000 ...