• 大小: 8.42KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-03-28
  • 语言: Matlab
  • 标签: matlab  

资源简介

关于隐马尔科夫(hmm)的程序,是用MATLAB编写的,可以正常运行!

资源截图

代码片段和文件信息

baum

function hmm=baum(hmmsamples)
mix=hmm.mix;%高斯混合
N=length(mix);%HMM状态数
K=length(samples);%语音样本数
SIZE=size(samples(1).data2);%参数阶数
%计算前向,后向概率矩阵,考虑多观察序列和下溢问题
disp(‘计算样本参数...‘);
for k=1:K
    fprintf(‘%d‘k)
    param(k)=getparam(hmmsamples(k).data);
end
fprintf(‘\n‘)
%重估转移概率矩阵A:trans
disp(‘重估转移概率矩阵A...‘)
for i=1:N-1
    denom=0;
    for k=1:K
        tmp=param(k).ksai(:i:);
        denom=denom+sum(tmp(:));
    end
    for j=i:i+1
        nom=0;
        for k=1:K
            tmp=param(k).ksai(:ij);
            nom=nom+sum(tmp(:));
        end
        hmm.trans(ij)=nom/denom;
    end
end
%重估混合高斯的参数
disp(‘重估混合高斯的参数...‘)
for l=1:N
    for j=1:hmm.M(l)
        fprintf(‘%d%d  ‘lj)
        %计算各pdf的均值和方差
        nommean=zeros(1SIZE);
        nomvar=zeros(1SIZE);
        denom=0;
        for k=1:K
            T=size(samples(k).data1);
            for t=1:T
                x=samples(k).data(t:);
                nommean=nommean+param(k

评论

共有 条评论