我正在使用高斯混合进行 EM 算法,但问题是我的数据非常空闲,因此这些值的值非常小,接近于零。
这是有问题的部分
for i=1:ncomp,
**logdenom = -log((2*pi)^(dim/2)*sqrt(abs(det(Cov(:,:,i)))));**
dist = mahalan(X,Mean(:,i),Cov(:,:,i));
y(i,:) = logdenom-0.5*dist;
end
星号线是问题所在。在计算时,它在结果 NAN 值之后返回“inf”值。我该如何处理这个问题。我也计算它没有对数函数
for i=1:ncomp,
dist = mahalan(X,Mean(:,i),Cov(:,:,i));
y(i,:) = exp(-0.5*dist)/sqrt((2*pi)^dim*det(Cov(:,:,i))); % problem
end
但问题是一样的,因为 Cov 的值太小了。