所以燃

Machine Learning --- zero-mean & whiten(data preprocessing)

1.零均值化(消常数项)

往往用于线性回归问题:y=wx+b,消除求参数w时截距b的影响。零均值处理即数据减其均值(x=x-mean(x),y=y-mean(y))。如何求截距b呢?只要代入最初的均值mean(y)=w*mean(x)+b,b便可知。

matlab:

x=x-mean(x);

y=y-mean(y); 

 

2.白化/空间解相关(消除各分量相关性,去相关加缩放)

一随机信号向量x,其协方阵矩阵为:Cov(x)=E((x-m)*(x-m)')≠I(半正定)。要解除x各分量的相关性就是要找到一个空间解相关矩阵(白化矩阵)B,使得:Cov(Bx)=E(B(x-m)*(x-m)'B')=B*E((x-m)*(x-m)')*B'=I,上式表示x通过B线性变换后,使得Bx的各分量不相关,即x被白化了。

注:求解白化矩阵B

步骤1:对Cov(x)进行特征值(或SVD)分解:Cov(x)=E((x-m)*(x-m)')=QΣQ'。其中:Σ为特征值对角阵,Q为各特征值对应的特征向量阵。

步骤2:白化矩阵B可得:B=Σ-1/2Q'。因为Cov(Bx)=Σ-1/2Q'*QΣQ'*QΣ-1/2=I。

注:白化矩阵B不唯一。

matlab:

R=cov(x');

[U D ~]=svd(R,'econ'); %[U D]=eig(r)

B=inv(sqrt(D))*U';

posted on 2013-11-13 13:53  Jizhiyuan  阅读(630)  评论(0编辑  收藏  举报

导航