基于混合高斯模型的EM算法在MATLAB中实现后,为什么输出的极大似然函数值随着聚类个数的增多而变大max_mle=zeros(M,N);for n=1:Nfor m=1:Mmax_mle(m,n)=exp(-1/2*(x(:,n)-mu(:,m))'*inv(Cov(:,:,m))*(x(:,n)-mu(:,m)));max_mle

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 02:47:54
基于混合高斯模型的EM算法在MATLAB中实现后,为什么输出的极大似然函数值随着聚类个数的增多而变大max_mle=zeros(M,N);for n=1:Nfor m=1:Mmax_mle(m,n)=exp(-1/2*(x(:,n)-mu(:,m))'*inv(Cov(:,:,m))*(x(:,n)-mu(:,m)));max_mle

基于混合高斯模型的EM算法在MATLAB中实现后,为什么输出的极大似然函数值随着聚类个数的增多而变大max_mle=zeros(M,N);for n=1:Nfor m=1:Mmax_mle(m,n)=exp(-1/2*(x(:,n)-mu(:,m))'*inv(Cov(:,:,m))*(x(:,n)-mu(:,m)));max_mle
基于混合高斯模型的EM算法在MATLAB中实现后,为什么输出的极大似然函数值随着聚类个数的增多而变大
max_mle=zeros(M,N);
for n=1:N
for m=1:M
max_mle(m,n)=exp(-1/2*(x(:,n)-mu(:,m))'*inv(Cov(:,:,m))*(x(:,n)-mu(:,m)));
max_mle(m,n)=max_mle(m,n)/sqrt(det(Cov(:,:,m)));
max_mle(m,n)=max_mle(m,n)*(2*pi)^(-K/2);
max_mle(m,n)=w(m)*max_mle(m,n);
end
end
h=0;
hp=zeros(1,N);
hp=sum(max_mle);
h=sum(log(hp),2);

基于混合高斯模型的EM算法在MATLAB中实现后,为什么输出的极大似然函数值随着聚类个数的增多而变大max_mle=zeros(M,N);for n=1:Nfor m=1:Mmax_mle(m,n)=exp(-1/2*(x(:,n)-mu(:,m))'*inv(Cov(:,:,m))*(x(:,n)-mu(:,m)));max_mle
应该是“过拟合”了吧.虽然在EM中没有真正的“过拟合”一说,但是类别增多,每个数据点会以更高的概率分配到这些类别上.