此函数计算具有指定参数(均值和协方差矩阵)的两个多元高斯分布之间的Kullback-Leibler(KL)散度。 协方差矩阵必须是正定的。 该代码高效且数值稳定。
例子: 1)计算两个单变量高斯之间的KL散度:KL(N(-1,1)|| N(+1,1)) mu1 = -1; mu = +1; s1 = 1; s2 = 1; mvgkl(mu1,s1 ^ 2,mu2,s2 ^ 2)
2)计算两个二元高斯变量之间的KL散度:KL(N(mu1,S1)|| N(mu2,S2)) mu1 = [-1 -1]'; mu2 = [+1,+1]'; S1 = [1 0.5; 0.5 1]; S2 = [1- -0.7; -0.7 1]; mvgkl(mu1,S1,mu2,S2)
2021-09-29 21:22:52
2KB
matlab
1