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';