给定一个协方差矩阵 Σ , 其可以唯一的分解为点乘形式:
Σ=UTU 其中 U 是上三角矩阵。几何上讲,Cholesky矩阵将无相关的变量转换为由Σ给定的方差和协方差的相关变量。特别的,如果产生了 p 个标准正态分布的变量,Cholesky转换将这些变量映射为多元正态分布(其协方差矩阵为Σ,中心在原点(表示为 MVN(0,Σ) ))
在高斯过程的例子中,我们通过下面的形式形成高斯分布数据点:
n1 = 80; n2 = 40; S1 = eye(2); S2 = [1 0.95 ;0.95 1];% 两个协方差矩阵 m1 = [0.75;0]; m2 = [-0.75;0]; %两个均值 x1 = bsxfun(@plus,chol(S1)'*gpml_randn(0.2,2,n1),m1); x2 = bsxfun(@plus,chol(S2)'*gpml_randn(0.3,2,n2),m2); x = [x1 x2]'; y = [-ones(1,n1) ones(1,n2)]'; plot(x1(1,:),x1(2,:),'b+'); hold on; plot(x2(1,:),x2(2,:),'r+'); % check cov1 = cov(x1'); cov2 = cov(x2');参考文献: 1.http://blogs.sas.com/content/iml/2012/02/08/use-the-cholesky-transformation-to-correlate-and-uncorrelate-variables.html 2.http://www.gaussianprocess.org/gpml/code/matlab/doc/