Backto DeepCV


之前说过 PCA, PCA 构建新的特征(主成分),除去特征之间的相关性(正交)。whitening 就是在 PCA 的基础上,再进一步,使得所有的特征都具有相同的方差(normalization)。Normalization 的方式,当然还是通用的,除以标准差。

Step 0: 原始输入

Step 1: find PCs

Step 2: Apply PCA, transformation

Step 3: PCA whitening

好了,上 Normalization, X p − w ′ ′ = X ′ V a r ( X ′ ) X''_{p-w} = \frac{X'}{\sqrt{Var(X')}} Xp−w′′​=Var(X′) ​X′​, 但是在 PCA 中呢,特殊地,实际运算中就是 X p − w ′ ′ = X ′ λ i + ϵ X''_{p-w} = \frac{X'}{\sqrt{\lambda_i + \epsilon}} Xp−w′′​=λi​+ϵ ​X′​。然后 λ i λ_i λi​就是第 i i i维特征对应的特征值(前面pca得到的特征值), ϵ \epsilon ϵ 是为了避免除数为0。

Extra Step 4: ZCA whitening

在 PCA whitening 之上,还可以再进一步操作 – ZCA. PCA 把数据映射到新的特征空间里,ZCA 再变回到原始的空间里: Y z − w ′ ′ ′ = U ∗ Y p − w ′ ′ Y'''_{z-w} = U*Y''_{p-w} Yz−w′′′​=U∗Yp−w′′​ . U 呢还是 SVD 分解的那个 U。

ZCA Whitening code:

def zca_whitening(inputs):sigma = np.dot(inputs, inputs.T)/inputs.shape[1] #inputs是经过归一化处理的,所以这边就相当于计算协方差矩阵U,S,V = np.linalg.svd(sigma) #奇异分解epsilon = 0.1                #白化的时候,防止除数为0ZCAMatrix = np.dot(np.dot(U, np.diag(1.0/np.sqrt(np.diag(S) + epsilon))), U.T)                     #计算zca白化矩阵return np.dot(ZCAMatrix, inputs)   #白化变换

Ref

  • 机器学习之白化

【DeepCV】白化 whitening相关推荐

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

     深度学习入门教程UFLDL学习实验笔记三:主成分分析PCA与白化whitening 主成分分析与白化是在做深度学习训练时最常见的两种预处理的方法,主成分分析是一种我们用的很多的降维的一种手段,通 ...

  2. 7.4.10 白化 whitening

    7.4.10 白化 whitening 回顾PCA,Y=UTAY = U^TAY=UTA 即对数据矩阵 AAA 进行旋转变换 UTU^TUT 得到主成分 YYY ,矩阵 YYY 的每列数据为每个学生新 ...

  3. 白化(Whitening): PCA 与 ZCA (转)

    转自:findbill 本文讨论白化(Whitening),以及白化与 PCA(Principal Component Analysis) 和 ZCA(Zero-phase Component Ana ...

  4. 白化Whitening

    白化操作的目的是让我们的减少冗余信息,准确来说通过白化操作我们有两个目的: 每个特征之间关联性更少 每个特征有相同的方差 对于第一个目的来说,我们可以通过熟悉的PCA来实现. PCA Principa ...

  5. 数据处理中白化Whitening的作用图解分析

    之前在看斯坦福教程中whiteining这一章时,由于原始图像相邻像素值具有高度相关性,所以图像数据信息冗余,对于白化的作用的描述主要有两个方面:1,减少特征之间的相关性:2,特征具有相同的方差(协方 ...

  6. 数据预处理之白化(Whitening transformation)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接: https://blog.csdn.net/hjimce/article/deta ...

  7. 实现主成分分析和白化

     实现主成分分析和白化 From Ufldl Jump to: navigation, search 在这一节里,我们将总结PCA, PCA白化和ZCA白化算法,并描述如何使用高效的线性代数库来实 ...

  8. Stanford UFLDL教程 实现主成分分析和白化

    实现主成分分析和白化 在这一节里,我们将总结PCA, PCA白化和ZCA白化算法,并描述如何使用高效的线性代数库来实现它们. 首先,我们需要确保数据的均值(近似)为零.对于自然图像,我们通过减去每个图 ...

  9. Stanford UFLDL教程 白化

    白化 Contents [hide] 1介绍 22D 的例子 3ZCA白化 4正则化 5中英文对照 6中文译者 介绍 我们已经了解了如何使用PCA降低数据维度.在一些算法中还需要一个与之相关的预处理步 ...

最新文章

  1. 施耐德电气推出 EcoStruxure 过程控制专家,IIOT 再添新利器
  2. 3人2周上线,2人1周上线,Solo明天上线!开发周期果然不能用搬砖模式计算......
  3. git仓库相关知识01-安装和基本命令
  4. python url加密解密_小叮当Python进阶(二):爬虫与加密算法Part2之URL与Base64
  5. 基于多进程和基于多线程服务器的优缺点及nginx服务器的启动过程
  6. 采样算法哪家强?一个针对主流采样算法的比较
  7. mysql计算本月的天数_Mysql已知年、月,求起始日期,本月天数
  8. spark插件剔除步骤
  9. 注解(一)- 基础知识与运行时注解
  10. 爬虫数据executemany插入_金融数据的获取——一个爬虫的简单例子
  11. python做股票系统_GitHub - yeyaowen/stock: stock,股票系统。使用python进行开发。
  12. python+selenium自动化测试-Windows环境搭建
  13. 为什么用python的时候特别卡_【后端开发】python为什么会运行慢
  14. 尚硅谷vue基础笔记
  15. C++求解组合数的具体实现
  16. java 第七章 数组
  17. 喷漆房出现故障应该如何处理
  18. ffmpeg java 实时视频流转码
  19. (2-分类问题)Accuracy,Precision,Sensitivity,Specificity
  20. ACE_TAO 017 ACE_wrappers\examples\Reactor

热门文章

  1. 李想:从放弃高考到如今第三次创业,我的经验和教训
  2. 刷题 - 算法(一)
  3. Web前端期末大作业---响应式美女健身教练瑜伽馆网页设计(HTML+CSS+JavaScript+)实现
  4. 【C语言】自定义类型 结构体 枚举 联合
  5. 气象灾害监测:如何利用大数据及安防AI技术进行预警?
  6. Java-使用Redis GEO测算经纬度距离
  7. TCP/IP协议——一文读懂数字摘要、数字签名,哆啦A梦特别版1.0(个人收藏学习笔记)
  8. SAP系统核心模块都有哪些?
  9. 软件设计师考试 | 第九章 数据库技术基础 | 关系数据库的规范化
  10. java 获取 jndi_Websphere下获取jndi、java:comp/env/cas与jdbc/cas的区别