矩阵白化及MATLAB实现

本文介绍了矩阵白化的概念和步骤,包括满秩矩阵和秩亏缺矩阵的白化方法。白化过程包括去均值、协方差矩阵计算、特征值分解和坐标轴标准化。同时,文章探讨了白化与主成分分析(PCA)之间的联系,指出两者在中心化、旋转和拉伸步骤上的相似性。白化旨在使数据各维度间尽可能不相关,而PCA则通过特征值归一化实现数据降维。
摘要由CSDN通过智能技术生成

本文转载出处:

作者:桂。

时间:2017-04-11 22:08:55

链接:http://www.cnblogs.com/xingshansi/p/6696793.html

声明:欢迎被转载,不过记得注明出处哦~

前言

在子空间分析、独立成分分析等应用中,经常用到矩阵白化,这里简单总结一下,主要包括:

1)满秩矩阵的白化;

2)秩亏缺矩阵的白化;

3)白化与PCA的关系;

满秩矩阵的白化

在这里插入图片描述

总结一下步骤:

  • 步骤一:去均值,中心化
  • 步骤二:求协方差矩阵,并进行特征值分解
  • 步骤三:求解白化矩阵,并得到白化后的信号

给出一段示意代码:

x = -10:.1:10;
x = x +randn(1,length(x));
y = 0.6*x + randn(1,length(x));
 
%whiten
data = [x;y];
C = data*data';
[u,s,v] = svd(C);
W = v*diag(1./sqrt(diag(s)))*v';
b = W*data;

对应结果:
在这里插入图片描述

可见白化其实就是让信号尽可能不相关。
在分析PCA的时候,我们知道特征值与对应方向的方差有关联,所以白化就是这个思路:首先旋转坐标轴,其次根据对应方向的方差(特征值)进行伸缩,中心化的目的就是为了保证变换前后数据中心对应坐标轴中心,而不至于因为旋转/伸缩而偏离坐标原点太过分:
在这里插入图片描述
是不是觉得与PCA相像?后面给出分析。

秩亏缺矩阵的白化

在这里插入图片描述

白化与PCA的关系

给出PCA步骤

  • 步骤一:数据中心化——去均值;

  • 步骤二:求解协方差矩阵;

  • 步骤三:利用特征值分解/奇异值分解 求解特征值以及特征向量;

  • 步骤四:利用特征向量构造投影矩阵;

  • 步骤五:利用投影矩阵,得出降维的数据。

以上文二维数据为例:
在这里插入图片描述

  • **中心化:**白化的中心化,PCA也需要中心化;
  • 旋转:白化步骤中的旋转,即旋转后的坐标就是PCA对应的第一、第二投影方向,如图中红线、绿线所示;
  • 拉伸:不同维度的特征值通常差别较大,在PCA中就是对特征值进行归一化。如果将不同维度的数据看作不同特征,白化步骤的拉伸本质也是特征的归一化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值